(57)【要約】      （修正有）【課題】複数の実行トレース間の違いをユーザに容易に把握させる。【解決手段】異なるプログラム実行結果を共通の時系列軸上に並べて表示するシステム１０１は、イベント情報を格納するイベント情報格納部１０２と、時系列軸情報を格納する軸情報格納部１０４と、基準イベント特定情報を格納する基準イベント特定情報格納部１０３と、イベントオブジェクト生成部１０５と、軸オブジェクト生成部１０６と、表示部１０７とを備える。軸オブジェクト生成部は、時系列軸情報から軸オブジェクトを生成し、表示部がこれを画面上に表示する。イベント情報は、プログラム実行結果におけるイベントの位置を示すタイミング情報を含み、イベントオブジェクト生成部は、基準イベント特定情報に基づいて基準イベントを基準とし、タイミング情報に基づいて基準イベントの共通の時系列軸上の表示位置を決定し、イベントオブジェクトを生成し、表示部がこれを画面上に表示する。【選択図】図１
2015170009.tif 000002
【特許請求の範囲】
【請求項１】
表示情報を生成する表示情報生成装置であって、
２つ以上のイベントで構成される第１のプログラム実行結果に含まれる前記イベントのイベント情報および２つ以上のイベントで構成される第２のプログラム実行結果に含まれる前記イベントのイベント情報を格納するイベント情報格納部と、
少なくとも前記共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、
少なくとも、前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と、前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、
前記イベントを表現したイベントオブジェクトを生成するイベントオブジェクト生成部と、
前記イベントオブジェクトの表示位置を決定する表示位置決定部と、
を備え、
前記イベント情報は、少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含み、
前記表示位置決定部は、
前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とし、
前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とし、
前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定し、
前記イベントオブジェクト生成部は、前記表示位置決定部で決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成する
表示情報生成装置。
【請求項２】
２つ以上のイベントで構成される第１のプログラム実行結果と２つ以上のイベントで構成される第２のプログラム実行結果とを共通の時系列軸上に並べて表示するプログラム実行状況表示システムであって、
前記第１のプログラム実行結果に含まれる前記イベントのイベント情報および前記第２のプログラム実行結果に含まれる前記イベントのイベント情報を格納するイベント情報格納部と、
少なくとも前記共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、
少なくとも、前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と、前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、
前記イベントを表現したイベントオブジェクトを生成するイベントオブジェクト生成部と、
前記イベントオブジェクトの表示位置を決定する表示位置決定部と、
を備え、
前記イベント情報は、少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含み、
前記表示位置決定部は、
前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とし、
前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とし、
前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定し、
前記イベントオブジェクト生成部は、前記表示位置決定部で決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成する
プログラム実行状況表示システム。
【請求項３】
前記第１の基準イベントと前記第２の基準イベントとは、少なくとも１つの共通点を有する共通イベントである請求項２に記載のプログラム実行状況表示システム。
【請求項４】
前記表示位置決定部は、
前記第１の基準イベントの第１の表示位置と前記第１のイベント情報における第１のタイミング情報と前記第１のプログラム実行結果における前記第１の基準イベント以外の第１のイベントのイベント情報におけるタイミング情報に基づいて前記第１のイベントの表示位置を決定し、
前記第２の基準イベントの第２の表示位置と前記第２のイベント情報における第２のタイミング情報と前記第２のプログラム実行結果における前記第２の基準イベント以外の第２のイベントのイベント情報におけるタイミング情報に基づいて前記第２のイベントの表示位置を決定する
請求項３に記載のプログラム実行状況表示システム。
【請求項５】
前記軸情報格納部に格納された前記時系列軸情報を用いて前記共通の時系列軸を表現した軸オブジェクトを生成する軸オブジェクト生成部を備え、
前記時系列軸情報は、前記共通の時系列軸の表示範囲と前記共通の時系列軸の表示単位とを含み、
前記軸オブジェクト生成部は、前記時系列軸情報における前記表示範囲と前記表示単位とに基づいて前記軸オブジェクトを生成し、
前記表示位置決定部は、前記時系列軸情報における前記表示範囲と前記表示単位とに基づいて、前記第１および第２の基準イベントの前記表示位置をそれぞれ前記共通の時系列軸の基準である位置に決定する
請求項３に記載のプログラム実行状況表示システム。
【請求項６】
前記イベント情報は、当該イベント情報が示すイベントに対して少なくとも１つの共通点を有する共通イベントが存在するか否かを示す共通イベント識別情報を含み、
前記イベントオブジェクト生成部は、前記共通イベント識別情報に基づいて、共通のイベントがあるイベントが共通イベントのないイベントとは異なる表示方式で表示されるように前記イベントオブジェクトを生成する
請求項３に記載のプログラム実行状況表示システム。
【請求項７】
前記イベントオブジェクト生成部は、前記共通イベント識別情報に基づいて、同じ共通イベント同士が同じ表示方式で表示されるように前記イベントオブジェクトを生成する
請求項６に記載のプログラム実行状況表示システム。
【請求項８】
前記第１の基準イベントおよび前記第２の基準イベントを選定する選定部をさらに備え、
前記イベント情報は、当該イベント情報が示すイベントに対して少なくとも１つの共通点を有する共通イベントが存在するか否かを示す共通イベント識別情報と、同一のプログラム実行で実行されたイベントを識別するための実行トレース識別情報とをさらに含み、
前記選定部は、
少なくとも１つの共通イベントを持つ前記第１の基準イベントを選択し、
前記第１の基準イベントの前記第１のイベント情報における共通イベント識別情報と同じ共通イベント識別情報を含み、かつ、前記第１のイベント情報における実行トレース識別情報とは異なる実行トレース識別情報を含むイベント情報のイベントを前記第２の基準イベントとして選択し、
選択した前記第１の基準イベントと前記第２の基準イベントとを特定するための前記基準イベント特定情報を生成して前記特定情報格納部に格納する
請求項３に記載のプログラム実行状況表示システム。
【請求項９】
前記選定部は、
前記第１の基準イベントの前記第１のイベント情報における共通イベント識別情報と同じ共通イベント識別情報を含み、かつ、前記第１のイベント情報における実行トレース識別情報とは異なる実行トレース識別情報を含むイベント情報のイベントを２つ以上選択し、前記選択した２つ以上のイベントの中から前記イベント情報に基づいて前記第２の基準イベントを選択し、
選択した前記第１の基準イベントと前記第２の基準イベントとを特定するための前記基準イベント特定情報を生成して前記特定情報格納部に格納する
請求項８に記載のプログラム実行状況表示システム。
【請求項１０】
前記イベントオブジェクトを前記共通の時系列軸上に並べて表示する表示部をさらに備える請求項２に記載のプログラム実行状況表示システム。
【請求項１１】
２つ以上のイベントで構成される第１のプログラム実行結果および２つ以上のイベントで構成される第２のプログラム実行結果それぞれに含まれるイベントの情報であって少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含むイベント情報を格納するイベント情報格納部と、少なくとも共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、少なくとも前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、を備え、前記第１のプログラム実行結果と前記第２のプログラム実行結果とを前記共通の時系列軸上に並べて表示するプログラム実行状況表示方法であって、
前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とし、
前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とし、
前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定し、
決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成し、
前記第１のイベントオブジェクトと前記第２のイベントオブジェクトを前記共通の時系列軸上に並べて表示する
ことを含むプログラム実行状況表示方法。
【請求項１２】
２つ以上のイベントで構成される第１のプログラム実行結果および２つ以上のイベントで構成される第２のプログラム実行結果それぞれに含まれるイベントの情報であって少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含むイベント情報を格納するイベント情報格納部と、少なくとも共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、少なくとも前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、を備え、前記第１のプログラム実行結果と前記第２のプログラム実行結果とを前記共通の時系列軸上に並べて表示するための表示情報を生成するコンピュータを機能させるためのプログラムであって、
前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とするステップと、
前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とするステップと、
前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定するステップと、
決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成ステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、表示情報生成装置、プログラム実行状況表示システム、方法およびプログラムに関する。
【背景技術】
【０００２】
従来、プログラムの実行トレースに基づいて実行されたスレッドを表すスレッドオブジェクトとイベントとを、時間軸とスレッドの軸とを含む２次元平面に表示するプログラム実行状況表示に関する技術がある。この技術は、プログラムの全実行状況のアクティビティを表示する領域と、特定範囲の詳細実行状況をスレッド軸と時間軸とを用いて表示する領域とを持ち、全実行状況を表示する領域から特定範囲を指定する機能をユーザに提供する。これにより、対話的にプログラムの全実行状況から特定箇所の詳細情報を表示することを可能としている。
【０００３】
プログラム開発者がプログラム開発時にプログラムの実行状況を表示することで動作の確認や性能最適化等を行う場合、プログラム開発者は、プログラムのソースコード、入力データ、プログラム実行環境等の動作に影響を与えるパラメータを変更した際に生じるプログラムの実行動作の変化を把握することで、動作検証や性能への効果などを考察する。また、プログラム開発者は、同一プログラムを同一実行環境下で複数回の実行した際に生じるプログラムの実行動作の変化や性能の変化等を把握することでも、動作検証や性能への効果などを考察することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１０／７６９８６８６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の実行トレース間の違いをユーザに容易に把握させることが十分ではなかった。
【課題を解決するための手段】
【０００６】
実施形態にかかる表示情報生成装置は、表示情報を生成する表示情報生成装置であって、２つ以上のイベントで構成される第１のプログラム実行結果に含まれる前記イベントのイベント情報および２つ以上のイベントで構成される第２のプログラム実行結果に含まれる前記イベントのイベント情報を格納するイベント情報格納部と、少なくとも前記共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、少なくとも、前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と、前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、前記イベントを表現したイベントオブジェクトを生成するイベントオブジェクト生成部と、前記イベントオブジェクトの表示位置を決定する表示位置決定部と、を備え、前記イベント情報は、少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含み、前記表示位置決定部は、前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とし、前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とし、前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定し、前記イベントオブジェクト生成部は、前記表示位置決定部で決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成する。
【０００７】
また、実施形態にかかるプログラム実行状況表示システムは、２つ以上のイベントで構成される第１のプログラム実行結果と２つ以上のイベントで構成される第２のプログラム実行結果とを共通の時系列軸上に並べて表示するプログラム実行状況表示システムであって、前記第１のプログラム実行結果および前記第２のプログラム実行結果に含まれる前記イベントのイベント情報を格納するイベント情報格納部と、少なくとも前記共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、少なくとも、前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と、前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、前記イベントを表現したイベントオブジェクトを生成するイベントオブジェクト生成部と、前記イベントオブジェクトの表示位置を決定する表示位置決定部と、を備え、前記イベント情報は、少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含み、前記表示位置決定部は、前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とし、前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とし、前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定し、前記イベントオブジェクト生成部は、前記表示位置決定部で決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成する。
【０００８】
また、実施形態にかかるプログラム実行状況表示方法は、２つ以上のイベントで構成される第１のプログラム実行結果および２つ以上のイベントで構成される第２のプログラム実行結果それぞれに含まれるイベントの情報であって少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含むイベント情報を格納するイベント情報格納部と、少なくとも共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、少なくとも前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、を備え、前記第１のプログラム実行結果と前記第２のプログラム実行結果とを前記共通の時系列軸上に並べて表示するプログラム実行状況表示方法であって、前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とし、前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とし、前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定し、決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成し、前記第１のイベントオブジェクトと前記第２のイベントオブジェクトを前記共通の時系列軸上に並べて表示することを含む。
【０００９】
また、実施形態にかかるプログラムは、２つ以上のイベントで構成される第１のプログラム実行結果および２つ以上のイベントで構成される第２のプログラム実行結果それぞれに含まれるイベントの情報であって少なくとも前記第１のプログラム実行結果または前記第２のプログラム実行結果における前記イベントの位置を示すタイミング情報を含むイベント情報を格納するイベント情報格納部と、少なくとも共通の時系列軸の情報である時系列軸情報を格納する軸情報格納部と、少なくとも前記イベントのうちの１つである第１の基準イベントを特定するための第１の基準イベント特定情報と前記イベントのうちの他の１つである第２の基準イベントを特定するための第２の基準イベント特定情報とを格納する特定情報格納部と、を備え、前記第１のプログラム実行結果と前記第２のプログラム実行結果とを前記共通の時系列軸上に並べて表示するための表示情報を生成するコンピュータを機能させるためのプログラムであって、前記特定情報格納部に格納された前記第１の基準イベント特定情報に基づいて前記第１の基準イベントを前記第１のプログラム実行結果の基準とするステップと、前記特定情報格納部に格納された前記第２の基準イベント特定情報に基づいて前記第２の基準イベントを前記第２のプログラム実行結果の基準とするステップと、前記イベント情報格納部に格納された前記第１の基準イベントの第１のイベント情報におけるタイミング情報および前記第２の基準イベントの第２のイベント情報におけるタイミング情報に基づいて、前記第１の基準イベントと前記第２の基準イベントとの前記共通の時系列軸上の表示位置を同じ位置と決定するステップと、決定された前記共通の時系列軸上の前記表示位置に基づいて、前記第１の基準イベントを表す第１のイベントオブジェクトと前記第２の基準イベントを表す第２のイベントオブジェクトとを生成ステップとを前記コンピュータに実行させる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係るプログラム実行状況表示装置の概略構成例。
【図２】実施形態において使用するプログラム例。
【図３】従来技術によるプログラムの実行状況の第１の表示結果例。
【図４】従来技術によるプログラムの実行状況の第２の表示結果例。
【図５】実施形態１に係るイベント情報の構造例。
【図６】実施形態１に係るイベント情報リストの一例。
【図７】実施形態１に係る軸情報の一例。
【図８】実施形態１に係る基準イベント特定情報リストの一例。
【図９】実施形態１に係るプログラム実行状況表示例。
【図１０】実施形態１に係る他のプログラム実行状況表示例。
【図１１】実施形態１に係る動作例。
【図１２】実施形態２に係るイベント情報リストの一例。
【図１３】実施形態２に係る軸情報の一例。
【図１４】実施形態２に係る基準イベント特定情報リストの一例。
【図１５】実施形態２に係るプログラム実行状況表示例。
【図１６】実施形態２に係る他のプログラム実行状況表示例。
【図１７】実施形態３に係るイベント情報リストの一例。
【図１８】実施形態３に係るプログラム実行状況表示例。
【図１９】実施形態３に係る他のプログラム実行状況表示例。
【図２０】実施形態４に係るイベント情報リストの一例。
【図２１】実施形態４に係るプログラム実行状況表示例。
【図２２】実施形態４に係る他のプログラム実行状況表示例。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、例示する実施形態にかかる表示情報生成装置、プログラム実行状況表示システム、方法およびプログラムを詳細に説明する。
【００１２】
実施形態１
まず、実施形態１にかかる表示情報生成装置（システム）を含むプログラム実行状況表示装置（システム）について、図面を参照して詳細に説明する。
【００１３】
（構成）
図１は、実施形態１にかかるプログラム実行状況表示装置（システム）の概略構成例を示す機能ブロック図である。図１に示すように、実施形態１にかかるプログラム実行状況表示装置（システム）１０１は、イベント情報格納部１０２、基準イベント特定情報格納部１０３、軸情報格納部１０４、イベントオブジェクト生成部１０５、軸オブジェクト生成部１０６、表示部１０７、基準イベント選択部１０８および基準イベント特定情報更新部１０９を備える。
【００１４】
図１において、イベント情報格納部１０２は、少なくとも２つのイベント情報を格納する記憶装置である。なお、イベントとは、プログラムやプロセスの実行時に発生する処理の単位であってよい。このイベントは、例えば、関数やループや条件分岐等のプログラムの構成単位であってもよいし、メモリアクセス、命令実行、スレッド生成、同期処理等の特定の処理であってもよい。また、本説明におけるイベント情報とは、プログラム実行時に実行されたイベントの情報である。また、本説明におけるイベント情報リストとは、イベント情報格納部１０２に格納されている全てのイベント情報を示す用語である。また、記憶装置とは、データを記憶する装置であればよく、ストレージであってもよいし、メモリであってもよいし、バッファであってもよい。
【００１５】
軸情報格納部１０４は、表示時系列特定情報と少なくとも１つの属性軸情報とを含む軸情報を格納する記憶装置である。ここで、軸情報は、表示時系列特定情報と少なくとも１つの属性軸情報とを含む情報である。表示時系列特定情報は、表示部１０７の画面の１間隔当たりが表す表示時系列単位情報と、表示する範囲を表す表示時系列範囲情報とを含む。表示時系列単位情報は、例えば、１表示間隔当たりの期間情報であってもよいし、１期間当たりの表示間隔情報であってもよいし、表示間隔とその表示間隔が表す期間情報を含む情報であってもよいし、１表示間隔が示す回数情報であってもよいし、１回数当たりの表示間隔情報であってもよい。また、表示時系列範囲情報は、プログラム実行状況表示装置（システム）１０１が事前に有していてもよいし、ソフトウエア開発者が指定した情報であってもよいし、表示部１０７の画面サイズと１画面で表示する実行期間に基づいて生成してもよいし、ウインドウサイズと１画面で表示する実行期間に基づいて生成してもよいし、１画面で表示する回数情報に基づいて生成してもよい。また、表示時系列範囲情報は、時系列軸方向の表示範囲を表す情報であればよく、表示時系列軸始点情報と表示時系列軸終点情報とを含む情報であってもよいし、表示時系列軸始点情報と表示時系列期間情報とを含む情報であってもよいし、表示時系列軸期間情報と表示時系列軸終点情報とを含む情報であってもよい。また、属性軸情報は、属性軸の要素名とプログラム実行特定情報とその表示位置情報を含む。属性軸の要素名は、イベント情報リスト６０１の各イベント情報のイベント属性情報に対応する情報であり、プログラム実行状況表示装置（システム）１０１によって事前に保持されていてもよいし、ソフトウエア開発者が指定した情報であってもよい。さらに、表示位置情報は、表示部１０７の画面上の属性軸の要素名を表示する位置を表す情報であり、プログラム実行状況表示装置（システム）１０１に事前に保持されている情報であってもよいし、ソフトウエア開発者が指定した情報であってもよいし、表示部１０７の画面サイズもしくはウインドウサイズと１画面で表示する属性軸の要素数に基づいて生成されてもよい。また、属性軸情報は、軸の要素名と、実行トレース識別情報と、その表示位置情報とを示す情報である。実行トレース識別情報は、複数の実行トレースからを１つの実行トレースを特定するための識別ＩＤである。また、記憶装置とは、データを記憶する装置であればよく、ストレージであってもよいし、メモリであってもよいし、バッファであってもよい。
【００１６】
基準イベント特定情報格納部１０３は、少なくとも２つ以上の基準イベント特定情報を格納する記憶装置である。ここで、基準イベント特定情報は、少なくともイベント識別情報を含む情報であり、同一の実行トレース識別情報を持たないイベント識別情報を含む。また、イベント識別情報は、イベント情報を一意に識別可能であればよく、例えば、イベント固有の名前であってもよいし、イベント固有の識別情報であってもよいし、実行順に割り当てられた番号などであってよい。本説明における基準イベント特定情報リストとは、基準イベント特定情報格納部１０３に格納されている全ての基準イベント情報を示す用語である。また、記憶装置とは、データを記憶する装置であればよく、ストレージであってもよいし、メモリであってもよいし、バッファであってもよい。
【００１７】
軸オブジェクト生成部１０６は、軸情報格納部１０４から軸情報を入力し、時系列軸オブジェクトと属性軸オブジェクトとを生成する。軸オブジェクト生成部１０６は、まず、表示時系列特定情報に基づいて時系列軸オブジェクトを生成する。また、軸オブジェクト生成部１０６は、属性軸情報から要素名をラベルとし、そのラベルを表示位置情報に基づいて配置する属性軸オブジェクトを生成する。
【００１８】
イベントオブジェクト生成部１０５は、イベント情報格納部１０２からイベント情報リストを入力し、基準イベント特定情報格納部１０３から基準イベント特定情報リストを入力し、軸情報格納部１０４から軸情報を入力し、これら入力情報からイベントを表すイベントオブジェクトの表示位置を決定する。また、イベントオブジェクト生成部１０５は、イベント情報リスト内のイベント情報と基準イベント特定情報リスト内の基準イベント特定情報と軸情報とに基づいて、イベントを表すイベントオブジェクトの表示サイズを決定する。なお、イベントオブジェクトは、実行されたイベントを画面上に表すオブジェクトであり、画面上の表示位置と表示サイズ情報を持つ。
【００１９】
基準イベント選定部１０８は、イベント情報格納部１０２からイベント情報リストを入力し、ユーザの入力とイベント情報リスト内のイベント情報とに基づいて共通イベント識別情報を選定する。ここで、ユーザの入力とは、１つのイベントを特定する情報であればなんでもよく、例えば、表示されているイベントオブジェクトとイベント情報のリンク情報であってもよいし、１つのイベント情報を特定する情報であってもよい。また、基準イベント選定部１０８は、共通イベント識別情報を持つイベント情報によって示される共通イベントのうちユーザによって選択された共通イベントを基準イベントとして選定する。共通イベントとは、ソフトウエアの構造が同じであり且つソフトウエアの構造が同じ構造であるイベントの中で実行順序が同じイベントであると定義されてよい。その場合、第１の実行トレースで実行された１つ以上のイベントと、第１の実行トレースとは異なる第２の実行トレースで実行された１つ以上のイベントとのうち、少なくとも１つの共通点があるという条件を満足するイベントそれぞれを意味する。なお、共通点とはイベントに関する情報で同じ条件であることを意味し、例えば、ソースプログラム上の位置であってもよいし、プログラムやプロセスの実行時の呼び出し順序であってもよいし、呼び出し条件であってもよいし、アクセスするメモリアドレスであってもよいし、実行期間であってもよいし、実行するコアが同じであるイベントであってもよいし、それらの組合せであってもよい。また、共通イベント識別情報は、共通イベントを一意に識別するための識別ＩＤである。
【００２０】
基準イベント特定情報更新部１０９は、基準イベント選択部１０８で選定された基準イベントを特定するための基準イベント特定情報（基準イベントのイベント情報に含まれるイベント識別情報に相当）を入力し、基準イベント特定情報格納部１０３の基準イベント特定情報リストを更新する。
【００２１】
表示部１０７は、軸オブジェクトを入力し、軸オブジェクトが持つ表示情報に基づいて、画面上に描画する。また、表示部１０７は、イベントオブジェクトを入力し、イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。これにより、軸オブジェクトによって形成された平面または空間上にイベントオブジェクトが描画されて、プログラム実行状況がユーザに提示される。
【００２２】
つづいて、実施形態１にかかるプログラム実行状況表示装置（システム）の詳細について、具体的なプログラム例を用いて説明する。ただし、以下に示す説明は、単なる一例であって、以下で例示する実施形態を限定するものではない。
【００２３】
本説明では、図２に示すプログラム２０１を２回実行した際の実行状況を表示するプログラム実行状況表示装置（システム）を仮定する。したがって、実施形態１におけるイベントの種類は、“ｔａｓｋＡ”２０２、“ｔａｓｋＢ”２０３、“ｔａｓｋＣ”２０４、“ｔａｓｋＤ”２０５、“ｔａｓｋＥ”２０６、および、“ｔａｓｋＦ”２０７となる。
【００２４】
１回目の実行例を示す第１のプログラム実行例では、ソフトウエアプログラム２０１の第１の実行トレース（実行１）は次のようになる。まず、“ｔａｓｋＡ”が時刻“０”から時刻“１００００”まで実行される。次に、“ｔａｓｋＣ”が時刻“１００００”から時刻”１２０００“まで実行される。次に、“ｔａｓｋＤ”が時刻“１２０００”から時刻“１３０００”まで実行される。次に、“ｔａｓｋＣ”が時刻“１３０００”から時刻“１５０００”まで実行される。次に、“ｔａｓｋＤ“が時刻“１５０００”から時刻“１６０００”まで実行される。次に、“ｔａｓｋＣ”が時刻“１６０００”から時刻“１８０００”まで実行される。次に、“ｔａｓｋＥ”が時刻“１８０００”から時刻“１９０００”まで実行される。次に、“ｔａｓｋＦ”が時刻“１９０００”から時刻“２００００”まで実行される。
【００２５】
一方、２回目の実行例を示す第２のプログラム実行例では、ソフトウエアプログラム２０１の第２の実行トレース（実行２）は次のようになる。まず、“ｔａｓｋＢ”が時刻“０”から時刻“１０００”まで実行される。次に、“ｔａｓｋＣ”が時刻“１０００”から時刻“２０００”まで実行される。次に、“ｔａｓｋＥ”が時刻“２０００”から時刻“３０００”まで実行される。次に、“ｔａｓｋＦ”が時刻“３０００”から時刻“４０００”まで実行される。次に、“ｔａｓｋＣ”が時刻“４０００”から時刻“５０００”まで実行される。次に、“ｔａｓｋＥ”が時刻“５０００”から時刻“６０００”まで実行される。次に、“ｔａｓｋＦ”は時刻“６０００”から時刻“７０００”まで実行される。次に、“ｔａｓｋＣ”が時刻“７０００”から時刻“８０００”まで実行される。次に、“ｔａｓｋＥ”が時刻“８０００”から時刻“９０００”まで実行される。次に、“ｔａｓｋＦ”が時刻“９０００”から時刻“１００００”まで実行される。
【００２６】
以上のようなプログラム実行状況を表示するプログラム実行状況表示装置（システム）１０１によるプログラム実行状況表示の軸には、時系列軸と属性軸とが含まれる。実施形態１において、時系列軸は、基準となるイベントの実行期間との相対実行期間を表す軸であってよい。属性軸は、イベントを実行した実行トレースを要素とする軸であってよい。
【００２７】
通常、プログラム実行は、入力データが異なっていたり、実行環境が異なっていたり、ソースプログラムが異なっている際に、異なる振る舞いをする。そのため、プログラム開発者（以下、ユーザという）が実行トレースを用いて動作比較をする際には、実行されるイベントの違いやイベントの実行期間の違いなどが生じ得る。図３および図４に、従来技術によるプログラム２０１（図２参照）の実行状況の表示結果を示す。図３および図４は、第１の実行トレースと第２の実行トレースとを同時に表示した例である。図３および図４において、横軸は時系列軸であり、横軸は属性軸である。時系列軸は実行期間を示している。属性軸には、第１の実行トレースと第２の実行トレースとがそれぞれ“実行１”または“実行２”として表示されている。このような従来技術による表示方式では、表示部１０７である表示画面サイズもしくは表示ウインドウサイズに限りがあるため、時系列軸方向に配列するイベントをすべて同時に表示することが困難な場合がある。そのような場合、たとえば図３に示すように、全体の一部の範囲である特定範囲をスクロールバーなどでスライド可能に表示する方法が存在するが、このような表示方法では、第１の実行トレースと第２の実行トレースとの両方の共通イベントを同時に特定範囲内に含ませることができない場合がある。そのような場合、ユーザは、これらの共通イベントを目視により確認・検討することができない。また、図４に示すように、全てのイベントを同時表示可能なスケールで時系列軸を設定した場合には、表示部１０７が備える解像度の限界によって１つ１つのイベントを表すオブジェクトが潰れてしまうため、各イベントを目視により判別できない場合がある。そこで、実施形態１では、それぞれの実行トレースにおける共通イベントの時系列軸上の位置を揃えて表示することにより、複数の実行トレース間の違いをユーザに容易に把握させることを可能にする。
【００２８】
図５に、イベント情報の構造例を示す。図５に示すように、イベント情報５０１は、イベント識別情報５０２と実行トレース識別情報５０３とイベントタイミング情報５０４と共通イベント識別情報５０５とイベント属性情報５０６とを含む。イベント識別情報５０２は、前述の通り、イベント情報を一意に識別可能な情報である。実行トレース識別情報５０３は、前述の通り、複数の実行トレースからを１つの実行トレースを特定するための識別ＩＤである。イベントタイミング情報５０４は、イベントのタイミング情報を含む情報である。共通イベント識別情報５０５は、共通イベントを一意に識別するための識別ＩＤである。
【００２９】
イベントのタイミング情報を定義するイベントタイミング情報５０４は、実行開始時刻と実行終了時刻を含む情報のほかに、例えば、実行開始時刻と実行期間を含む情報であってもよし、実行期間と実行終了時刻を含む情報であってもよいし、実行トレース毎のイベントの実行順であってもよい。ここで、実行開始時刻、実行終了時刻および実行期間は時間情報であり、例えば、プログラム実行時におけるプロセッサ時間であってもよいし、プロセッサ時間に基づいて生成した時間情報であってもよい。
【００３０】
イベントに関する情報であるイベント属性情報５０６は、例えば、プログラム実行時情報であってもよいし、プログラムの静的情報であってもよいし、プログラムの実行環境情報であってもよい。ここで、プログラム実行時情報は、プログラム実行時に取得可能な実行時の状況を表す情報であると共に共通イベントを識別可能な情報であり、例えば、イベントを実行したプロセッサコア情報であってもよいし、イベント実行した命令情報であってもよいし、イベント実行期間であってもよいし、イベントが実行したメモリアクセス情報であってもよいし、イベントが実行した関数コール回数であってもよいし、イベント内の変数の値であってもよいし、イベントがループイタレーションである場合において何回目のイタレーションであるかの情報であってもよいし、イベントが割り込み処理であるかの情報であってもよい。また、プログラムの静的情報は、ソースコードもしくはソースコード管理システムから得られる静的な情報であり、例えば、ソースコード上の位置情報であってもよいし、ソフトウエアプログラム構造情報であってもよいし、ソースコードのコンパイル情報であってもよいし、ソースコードのバージョン情報であってもよいし、プログラムがカーネルプログラムであるかの情報であってもよいし、プログラムがユーザプログラムであるかの情報であってもよい。さらに、プログラムの実行環境情報は、プログラムを実行した際の環境の情報であり、例えば、プロセッサコア名であってもよいし、サーバ名であってもよいし、サーバの仕様情報であってもよい。
【００３１】
つづいて、イベント情報５０１の一例を、図５に示す構造例にしたがって説明する。以下の説明では、第１のプログラム実行例による第１の実行トレース（“実行１”）の実行トレース識別情報５０３を“１”とし、第２のプログラム実行例による第２の実行トレース（“実行２”）の実行トレース識別情報５０３を“２”とする。
【００３２】
図６に、図２に示すソフトウエアプログラム２０１を実行した際に実施形態１において生成されるイベント情報リストの一例を示す。図６に示すように、イベント情報リスト６０１は、イベント情報６０２〜６１９の合計１８つのイベント情報を有しており、１行が１つのイベント情報を表している。例えば、イベント情報６０３は、イベント識別情報５０２、実行トレース識別情報５０３、イベントタイミング情報５０４の実行開始時刻、イベントタイミング情報５０４の実行終了時刻、共通イベント識別情報５０５、イベント属性情報５０６のプログラム上の構造情報、イベント属性情報５０６のイタレーション情報の順に、“１”、“１”、“１００００”、“１２０００”、“１”、“ＬｏｏｐＡ：ｉｔｅｒａｔｉｏｎ：ｔａｓｋＣ”、“１”という情報を持つ。すなわち、イベント情報６０３のイベントは、イベント識別情報５０２が“１”であり、実行トレース識別情報５０３が“１”であり、第１の実行トレースにおける実行開始時刻“１００００”から実行終了時刻“１２０００“の間に実行されるイベントである。また、イベント情報６０３のイベントは、プログラム構造上“ＬｏｏｐＡ”内の”ｉｔｅｒａｔｉｏｎ”内の“ｔａｓｋＣ”のイベントであり、“ＬｏｏｐＡ”の１回目のｉｔｅｒａｔｉｏｎで実行されたイベントである。さらに、イベント情報６０３の共通イベント識別情報は“１”である。これは、イベント情報６０３のイベントが、同一の共通イベント識別情報を持つイベント情報６１１のイベントと共通イベントであることを示す。
【００３３】
また、図７に、図２に示すソフトウエアプログラムを実行した際の実施形態１にかかる軸情報の一例を示す。図７に示すように、軸情報７０１は、表示時系列特定情報７０２と、属性軸情報７０３および７０４とを含む。表示時系列特定情報７０２は、表示時系列単位情報を“２”とし、表示時系列範囲情報を“０”と“１００００”とし、表示範囲を“０”から“１００００”までを表示することを示す。属性軸情報７０３は、第１の実行トレースを表す属性軸情報であり、要素名情報を“実行１”とし、実行トレース識別情報を“１”とし、表示位置情報を“０”としている。属性軸情報７０４は、第２の実行トレースを表す属性軸情報であり、要素名情報を“実行２”とし、実行トレース識別情報を“２”とし、表示位置情報を“１００”としている。
【００３４】
さらに、図８に、図２に示すソフトウエアプログラムを実行した際に実施形態１において生成される基準イベント特定情報リストの一例を示す。図８に示すように、基準イベント特定情報リスト８０１は、２つの基準イベント特定情報８０２および８０３を含む。１つの基準イベント特定情報８０２は“１”であり、他の１つの基準イベント特定情報８０３は“９”である。
【００３５】
つづいて、本実施形態の作用について、具体例を用いて詳細に説明する。
【００３６】
イベントオブジェクト生成部１０５は、まず、イベント情報格納部１０２に格納されるイベント情報リスト６０１と、基準イベント特定情報格納部１０３に格納されている基準イベント特定情報リスト８０１と、軸情報格納部１０４に格納される軸情報７０１とを入力する。以降、基準イベント特定情報リスト８０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合と、基準イベント特定情報が登録されていない場合とに分けて説明する。
【００３７】
＜少なくとも２つ以上の基準イベントが登録されている場合＞
まず、基準イベント特定情報リスト８０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合について説明する。この場合、イベントオブジェクト生成部１０５は、イベント情報リスト６０１と基準イベント特定情報リスト８０１とに基づいて基準イベントのイベント情報を特定する。つづいて、イベントオブジェクト生成部１０５は、第１の実行トレースにおける第１の基準イベントを表す第１の基準イベントオブジェクトの表示始点位置と、第２の実行トレースにおける第２の基準イベントを表す第２の基準イベントオブジェクトの表示始点位置とが、同じとなる表示始点位置を決定する。なお、第１の基準イベントと第２の基準イベントとは、共通イベントであって、ユーザによって選定された基準イベントである。
【００３８】
次に、イベントオブジェクト生成部１０５は、基準イベントのイベント情報の実行開始時刻と実行終了時刻と軸情報の表示時系列特定情報７０２とに基づいて基準イベントオブジェクトの時系列軸方向の表示サイズを決定し、基準イベントのイベント情報の実行トレース識別情報と軸情報の属性軸情報７０３とに基づいて属性軸方向の表示位置を決定し、基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた表示方式で基準イベントが表示されるように基準イベントオブジェクトを生成する。
【００３９】
ここで、基準イベント特定情報リスト８０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の基準イベントオブジェクトの生成例を、具体例を挙げて説明する。イベントオブジェクト生成部１０５は、イベント識別情報が“１”である第１の基準イベントのイベント情報６０３およびイベント識別情報が“９”である第２の基準イベントのイベント情報６１１の時系列軸に沿った位置（表示始点位置）を同じ位置（たとえば“１００”）とする。ここで、表示始点位置は、基準イベントを表示する始点位置情報であり、例えば、プログラム実行状況表示装置（システム）１０１で決められた情報であってもよいし、ファイルで与えられる情報であってもよいし、ユーザのインターフェースからの入力情報であってもよいし、第１の基準イベントが表示されている画面上の位置であってもよい。
【００４０】
次に、イベントオブジェクト生成部１０５は、イベント識別情報が“１”である第１の基準イベントの表示サイズを決定する。イベントオブジェクト生成部１０５は、第１の基準イベントのイベント情報６０３の実行開始時刻“１００００”と実行終了時刻“１２０００”と軸情報の表示時系列特定情報７０２の“１表示間隔当たりが表す時間単位は２である”という情報とに基づいて、時系列軸方向の表示サイズを計算する。具体的には、式“（実行終了時刻−実行開始時刻）÷（表示時系列単位情報）”を用いて“（１２０００−１００００）÷２”を計算する。これにより、第１の基準イベントの表示サイズが“１０００”と求まる。
【００４１】
また、イベントオブジェクト生成部１０５は、イベント情報の実行トレース識別情報と軸情報の属性軸情報の実行トレース識別情報とに基づいて軸情報の属性軸情報を選択し、属性軸方向の表示位置を決定する。本実施形態１では、イベント情報６０３の実行トレース識別情報“１”と等価の実行トレース識別情報を持つ軸情報の属性軸情報７０３を選択し、属性軸方向の表示位置“０”を決定し、基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた色“赤”で表示することを決定し、これらの決定にしたがって基準イベントを表す基準イベントオブジェクトを生成する。なお、基準イベントを表す基準イベントオブジェクトは、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、当該オブジェクトをユーザに識別させることができる表示形式であれば如何様にも変形することができる。
【００４２】
また、イベントオブジェクト生成部１０５は、イベント情報６１１の実行トレース識別情報“２”と等価の実行トレース識別情報を持つ軸情報の属性軸情報７０４を選択し、属性軸方向の表示位置“１”を決定し、基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた色“赤”で表示することを決定し、これらの決定にしたがって基準イベントを表す基準イベントオブジェクトを生成する。なお、上記と同様に、基準イベントを表す基準イベントオブジェクトは、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、当該オブジェクトをユーザに識別させることができる表示形式であれば如何様にも変形することができる。
【００４３】
次に、基準イベント特定情報リスト８０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の基準イベントオブジェクト以外のイベントオブジェクト（以下、非基準イベントオブジェクトという）の生成例を、具体例を挙げて説明する。イベントオブジェクト生成部１０５は、イベント情報格納部１０２に格納されるイベント情報リスト６０１と、基準イベント特定情報格納部１０３に格納されている基準イベント特定情報リスト８０１と、軸情報格納部１０４に格納される軸情報７０１とを入力し、イベント情報と基準イベント特定情報に基づいて非基準イベントのイベント情報を特定する。つづいて、イベントオブジェクト生成部１０５は、非基準イベントのイベント情報と、非基準イベントと同一の実行トレース識別情報を持つ基準イベントの実行開始時刻と、基準イベントの基準イベントオブジェクトの表示始点位置とに基づいて、非基準イベントを表す非基準イベントオブジェクトの表示始点位置を決定する。
【００４４】
次に、イベントオブジェクト生成部１０５は、非基準イベントのイベント情報の実行開始時刻および実行終了時刻と軸情報の表示時系列特定情報とに基づいて、非基準イベントオブジェクトの時系列軸方向の表示サイズを決定し、非基準イベントのイベント情報の実行トレース識別情報と軸情報の属性軸情報とに基づいて属性軸方向の表示位置を決定し、非基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた表示方式で非基準イベントが表示されるように非基準イベントオブジェクトを生成する。ここで、共通イベント識別情報を持たないイベントのイベントオブジェクトについては、共通イベントを持つイベントのイベントオブジェクトとは異なる表示方式で表示されるようにイベントオブジェクトが生成されてもよい。以下に、共通イベントを持つイベントのイベントオブジェクトの生成と、共通イベントを持たないイベントのイベントオブジェクトの生成とについて例を挙げて説明する。
【００４５】
基準イベント特定情報リスト８０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の共通イベントを持つイベントのイベントオブジェクトの生成例では、イベントオブジェクト生成部１０５は、基準イベント特定情報リスト８０１に基づいて、イベント識別情報が“１”もしくは“９”でないイベントを非基準イベントと特定する。ここでは、イベント情報６０５を例に、共通イベントを持つ非基準イベントのイベントオブジェクト生成について説明する。この非基準イベント（イベント情報６０５）の実行開始時刻は“１３０００”であり、実行トレース識別情報は“１”である。これと同一の実行トレース識別情報“１”を持つ基準イベントのイベント情報はイベント情報６０３であり、その実行開始時刻は“１００００”である。
【００４６】
イベント情報６０５が表す共通イベントを持つ非基準イベントの表示始点位置は、イベント情報６０５から特定される非基準イベントの実行開始時刻“１３０００”と、イベント情報６０３から特定される基準イベントの実行開始時刻“１００００”と、軸情報の表示時系列特定情報７０２と、基準イベントのイベントオブジェクトの表示始点位置“０”に基づいて計算される。具体的には、式“｛（非基準イベントの実行開始時刻−基準イベントの実行開始時刻）÷（表示時系列単位情報）｝＋基準イベントの表示始点位置”を用いて“｛（１３０００−１００００）÷２｝＋１００”を計算する。これにより、イベント情報６０５の非基準イベントの表示始点位置が“２１００”と求まる。
【００４７】
次に、イベントオブジェクト生成部１０５は、非基準イベントのイベント情報６０５の実行開始時刻“１３０００”および実行終了時刻“１５０００”と軸情報の表示時系列特定情報７０２の“１表示間隔当たりが表す時間単位は２である”という情報とに基づいて、時系列軸方向の表示サイズを計算する。具体的には、式“（実行終了時刻−実行開始時刻）÷（表示時系列単位情報）”を用いて“（１５０００−１３０００）÷２”を計算する。これにより、イベント情報６０５が表す共通イベントを持つ非基準イベントの表示サイズが“１０００”と求まる。
【００４８】
また、イベントオブジェクト生成部１０５は、イベント情報６０５の実行トレース識別情報“１”と軸情報の属性軸情報７０３とに基づいて、属性軸方向の表示位置“０”を決定し、非基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた色“緑”で表示することを決定し、これらの決定にしたがって非基準イベントを表す非基準イベントオブジェクトを生成する。他の共通イベント識別情報を持つ非基準イベントについても同様にして非基準イベントオブジェクトが生成される。なお、共通イベント識別情報を持つ非基準イベントを表す非基準イベントオブジェクトは、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、当該オブジェクトをユーザに識別させることができる表示形式であれば如何様にも変形することができる。
【００４９】
つづいて、基準イベント特定情報リスト８０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の共通イベントを持たないイベントオブジェクトの生成例について説明する。ここでは、イベント情報６１２を例に、共通イベントを持たない非基準イベントのイベントオブジェクト生成について説明する。この非基準イベントの（イベント情報６１２）実行開始時刻は“２０００”であり、実行トレース識別情報は“２”である。これと同一の実行トレース識別情報“２”を持つ基準イベントのイベント情報はイベント情報６１１であり、その実行開始時刻は“１０００”である。
【００５０】
そこで、イベントオブジェクト生成部１０５は、非基準イベントの表示始点位置を決定する。イベント情報６１２が表す共通イベントを持たない非基準イベントの表示始点位置は、イベント情報６１２から特定される非基準イベントの実行開始時刻“２０００”と、イベント情報６１１から特定される基準イベントの実行開始時刻“１０００”と、軸情報の表示時系列特定情報７０２の“１表示間隔当たりが表す時間単位は２である”という情報と、基準イベントのイベントオブジェクトの表示始点位置“０”とに基づいて計算される。具体的には、式“｛（非基準イベントの実行開始時刻−基準イベントの実行開始時刻）÷（１表示間隔当たりの時間）｝＋基準イベントの表示始点位置”を用いて“｛（２０００−１０００）÷２｝＋１００”を計算する。これにより、イベント情報６１２が表す共通イベントを持たない非基準イベントの表示始点位置が“６００”と求まる。
【００５１】
次に、イベントオブジェクト生成部１０５は、非基準イベントのイベント情報６１２の実行開始時刻“２０００”および実行終了時刻“３０００”と軸情報の表示時系列特定情報７０２の“１表示間隔当たりが表す時間単位は２である”という情報とに基づいて、時系列軸方向の表示サイズを計算する。具体的には、式“（実行終了時刻−実行開始時刻）÷（表示時系列単位情報）”を用いて“（３０００−２０００）÷２”を計算する。これにより、イベント情報６１２が表す共通イベントを持たない非基準イベントの表示サイズが“５００”と求まる。
【００５２】
また、イベントオブジェクト生成部１０５は、イベント情報６１２の実行トレース識別情報“２”と軸情報の属性軸情報５０４とに基づいて、属性軸方向の表示位置“１００”を決定し、非基準イベントのイベント情報の共通イベント識別情報がないイベント固有に割り当てられた色“灰色”で表示することを決定し、これらの決定にしたがって非基準イベントを表す非基準イベントオブジェクトを生成する。他の共通イベント識別情報を持たない非基準イベントについても同様にして非基準イベントオブジェクトが生成される。なお、共通イベント識別情報を持たない非基準イベントを表す非基準イベントオブジェクトは、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、当該オブジェクトをユーザに識別させることができる表示形式であれば如何様にも変形することができる。
【００５３】
＜基準イベントが登録されていない場合＞
次に、基準イベント特定情報リスト８０１に基準イベント特定情報が登録されていない場合について説明する。基準イベント特定情報リスト８０１に１つも基準イベント特定情報が登録されていない場合のイベントオブジェクト生成には、共通イベントを持つイベントオブジェクトの生成と共通イベントを持たないイベントオブジェクトの生成とが含まれる。
【００５４】
イベントオブジェクト生成部１０５は、イベント情報リスト６０１のイベント情報の実行開始時刻と実行期間と軸情報の表示時系列特定情報７０２とから表示するイベントを選定する。次に、イベントオブジェクト生成部１０５は、イベント情報リスト６０１のイベント情報の実行開始時刻と軸情報の表示時系列特定情報７０２とからイベントを表すイベントオブジェクトの表示開始位置を決定する。
【００５５】
次に、イベントオブジェクト生成部１０５は、イベント情報の実行開始時刻と実行終了時刻と軸情報の表示時系列特定情報７０２とに基づいてイベントオブジェクトの時系列軸方向の表示サイズを決定し、イベント情報の共通イベント識別情報に基づいて共通イベント識別情報に固有に割り当てられた表示方式でイベントが表示されるようにイベントオブジェクトを生成する。ここで、共通イベント識別情報を持たないイベントのイベントオブジェクトについては、共通イベントを持つイベントのイベントオブジェクトとは異なる表示方式で表示されるようにイベントオブジェクトが生成されてもよい。以下に、共通イベントを持つイベントのイベントオブジェクトの生成と、共通イベントを持たないイベントのイベントオブジェクトの生成とについて例を挙げて説明する。
【００５６】
まず、基準イベント特定情報リスト８０１に基準イベント特定情報が登録されていない場合の共通イベントを持つイベントのイベントオブジェクトの生成例について説明する。ここでは、イベント情報６１４を例に、共通イベントを持つイベントに着目して説明する。イベントオブジェクト生成部１０５は、イベント情報６１４が表すイベントを表示すべきか否かを判定する。イベント情報６１４の実行開始時刻“４０００”および実行終了時刻“５０００”と表示時系列特定情報７０２の表示時系列範囲情報“０”および“１００００”とから、イベント情報６１４が表すイベントが時系列軸方向の表示範囲に含まれるため、イベントオブジェクト生成部１０５は、イベント情報６１４が表すイベントを表示すると判定する。そこで、イベントオブジェクト生成部１０５は、このイベントオブジェクトを“表示する”と判定する。
【００５７】
次に、イベントオブジェクト生成部１０５は、イベント情報６１４が表すイベントの表示始点位置を決定する。イベントオブジェクト生成部１０５は、イベント情報６１４が表すイベントの実行開始時刻“４０００”と軸情報の表示時系列特定情報７０２の“１表示間隔当たりが表す時間単位は２である”という情報とに基づいて、イベント情報６１４を表すイベントオブジェクトの表示始点位置を計算する。具体的には、式“イベントの実行開始時刻÷１表示間隔当たりの時間”を用いて“４０００÷２”を計算する。これにより、イベント情報６１４を表すイベントオブジェクトの表示始点位置が“２０００”と求まる。
【００５８】
次に、イベントオブジェクト生成部１０５は、イベント情報６１４が表すイベントの表示サイズを決定する。イベントオブジェクト生成部１０５は、イベント情報６１４の実行開始時刻“４０００”および実行終了時刻“５０００”と軸情報の時系列情報７０２とに基づいて、イベント情報６１４が表すイベントの表示サイズを計算する。具体的には、式“（実行終了時刻−実行開始時刻）÷（表示時系列単位情報）”を用いて“（５０００−４０００）÷２”を計算する。これにより、イベント情報６１４が表すイベントのイベントオブジェクトの表示サイズが“５００”と求まる。
【００５９】
次に、イベントオブジェクト生成部１０５は、イベント情報６１４の共通イベント識別情報“２”に基づいて、他の共通イベント識別情報とは異なる表示形式で表されるイベントオブジェクトを生成する。本実施形態では、固有の表示形式を色で表現している。そこで、イベントオブジェクト生成部１０５は、イベント情報６１４のイベントを“青”で表示する。ただし、色に限定されず、ハッチングの種類や描画線の種類など、当該オブジェクトをユーザに識別させることができる固有の表示形式であれば如何様にも変形することができる。
【００６０】
次に、基準イベント特定情報リスト８０１に基準イベント特定情報が登録されていない場合の共通イベントを持たないイベントのイベントオブジェクトの生成例について説明する。ここでは、イベント情報６０２を例に、共通イベントを持たないイベントに着目して説明する。イベントオブジェクト生成部１０５は、イベント情報６０２が表すイベントを表示すべきか否かを判定する。イベント情報６０２の実行開始時刻“０”と実行終了時刻“１００００”と表示時系列特定情報７０２の表示時系列範囲情報“０”および“１００００”とから、イベント情報６０２が表すイベントが時系列軸方向の表示範囲に含まれるため、イベントオブジェクト生成部１０５は、このイベントオブジェクトを“表示する”と判定する。
【００６１】
次に、イベントオブジェクト生成部１０５は、イベント情報６０２が表すイベントの表示始点位置を決定する。イベントオブジェクト生成部１０５は、イベント情報６０２が表すイベントの実行開始時刻“０”に基づいて、イベントオブジェクトの表示始点位置を“０”とする。
【００６２】
次に、イベントオブジェクト生成部１０５は、イベント情報６０２が表すイベントの表示サイズを決定する。イベントオブジェクト生成部１０５は、軸情報の時系列情報７０２の表示時系列範囲情報の表示最大時刻“１００００”と実行終了時刻“１００００”とを比較し、小さい時刻を用いて表示サイズを決定する。本実施形態では、等価であるため表示最大時刻“１００００”を用いて表示サイズを決定する。イベントオブジェクト生成部１０５は、イベント情報６０２の実行開始時刻“０”と実行終了時刻“１００００”と軸情報の時系列情報７０２とに基づいて、イベント情報６０２が表すイベントの表示サイズを計算する。具体的には、式“（表示可能な最大実行終了時刻−実行開始時刻）÷１表示間隔当たりの時間）”を用いて“（１００００−０）÷２”を計算する。これにより、イベント情報６０２が表すイベントのイベントオブジェクトの表示サイズが“５０００”と求まる。
【００６３】
次に、イベントオブジェクト生成部１０５は、イベント情報６０２が共通イベント識別情報を持たないことに基づいて、共通イベントとは異なる表示形式で表されるイベントオブジェクトを生成する。本実施形態では固有の表示形式を色で表現しているため、イベント情報６０２のイベントは、たとえば“灰色”で表示される。ただし、色に限定されず、ハッチングの種類や描画線の種類など、当該オブジェクトをユーザに識別させることができる固有の表示形式であれば如何様にも変形することができる。
【００６４】
次に、以上のように生成された軸オブジェクトおよびイベントオブジェクトよりなるプログラム実行状況の表示について説明する。なお、プログラム実行状況の表示例としては、基準イベントが選択されていない場合と、基準イベントが選択されている場合とが存在する。
【００６５】
＜基準イベントが選択されていない場合＞
まず、基準イベントが選択されていない場合について、図９のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更するものとする。
【００６６】
表示部１０７は、軸オブジェクトを入力し、軸オブジェクトが持つ表示情報に基づいて、画面上に描画する。その結果、図９に示すように、プログラム実行状況表示例９０１では、時系列軸オブジェクト９２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト９２１が属性ラベルを表示する。たとえば、時系列軸オブジェクト９２０は、“０”から“１００００“を表示し、ラベルを２０００単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト９２１は、属性軸要素９２２と属性軸要素９２３とのラベルをそれぞれ表示する。
【００６７】
表示部１０７は、イベントオブジェクトを入力し、イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図９に示すように、プログラム実行状況表示例９０１では、イベント情報６０２、６１０、６１１、６１２、６１３、６１４、６１５、６１６、６１７、６１８および６１９を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト９０２、９１０、９１１、９１２、９１３、９１４、９１５、９１６、９１７、９１８よび９１９として表示される。
【００６８】
＜基準イベントが選択されている場合＞
次に、基準イベントが選択されている場合について、図１０のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更するものとする。
【００６９】
表示部１０７は、基準イベントが選択されていない場合と同様に、軸オブジェクトを入力して画面上に描画するとともに、各軸オブジェクトのラベルを表示する。時系列軸オブジェクト１０２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト１０２１が属性ラベルを表示する。たとえば、時系列軸オブジェクト１０２０は、“０”から“１００００“を表示し、ラベルを２０００単位で表示する。属性軸オブジェクト１０２１は、属性軸要素１０２２と属性軸要素１０２３とのラベルをそれぞれ表示する。
【００７０】
表示部１０７は、基準イベントオブジェクトを入力し、基準イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図１０に示すように、プログラム実行状況表示例１００１では、イベント情報６０３、６０４、６０５、６０６、６０７、６０８、６０９、６１１、６１２、６１３、６１４、６１５、６１６、６１７、６１８および６１９を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト１００３、１００４、１００５、１００６、１００７、１００８、１００９、１０１１、１０１２、１０１３、１０１４、１０１５、１０１６、１０１７、１０１８および１０１９として表示される。
【００７１】
＜具体例＞
具体的には、図９のプログラム実行状況表示例９０１では、共通イベントを持つイベント９１１、９１４、９１７、９１８および９１９が“灰色”以外の色を用いたオブジェクトとして表示されている。ただし、固有の表示形式として、ハッチングの種類や描画線の種類など、色以外の表示形式を採用した場合には、採用された表示形式に従って、共通イベント識別情報を持たない非共通イベントとは異なる表示形式で当該イベントオブジェクトが表示されればよい。基準イベント選定部１０８は、マウスなどのユーザインターフェースでイベントオブジェクト９１１が選択されると、イベントオブジェクト９１１のイベント情報６１１から共通イベント識別情報“１”を選定する。次に、基準イベント選定部１０８は、イベント情報リスト６０１から共通イベント識別情報“１”を持つイベント情報６０３および６１１を基準イベントとして選定し、これらの基準イベントのイベント識別情報“１”および“９”を基準イベント特定情報とし、基準イベント特定情報格納部１０３に格納する。その結果、図１０に示すようなプログラム実行状況表示例１００１が表示される。
【００７２】
なお、ユーザによる基準イベントの指定方法は、共通イベントを持つ少なくとも１つ以上のイベントを選定する方法であり、例えば、ファイルによる指定であってもよいし、ユーザインターフェースによる指定であってもよい。
【００７３】
（動作）
次に、実施形態１にかかるプログラム実行状況表示装置（システム）１０１の動作について、図面を用いて詳細に説明する。図１１は、実施形態１にかかるプログラム実行状況表示装置（システム）の動作例を示すフローチャートである。図１１に示すように、本動作では、まず、軸オブジェクト生成部１０６が、軸情報格納部１０４から軸情報を入力し、軸オブジェクトを生成する（ステップＳ１１０１）。次に、表示部１０７が、軸オブジェクトを入力し、軸オブジェクトを画面上に表示する（ステップＳ１１０２）。
【００７４】
また、本動作では、イベントオブジェクト生成部１０５が、イベント情報格納部１０２からイベント情報を入力し、基準イベント特定情報格納部１０３から基準イベント特定情報を入力し、軸情報格納部１０４から軸情報を入力し、これら入力情報からイベントを表すイベントオブジェクトの表示位置を決定する（ステップＳ１１０３）。次に、イベントオブジェクト生成部１０５は、イベント情報と基準イベント特定情報と軸情報とに基づいて、イベントを表すイベントオブジェクトの表示サイズを決定する（ステップＳ１１０４）。つづいて、イベントオブジェクト生成部１０５が、ステップＳ１１０３で決定したイベントオブジェクトの表示位置とステップＳ１１０４で決定したイベントオブジェクトの表示サイズとに基づいて、イベントオブジェクトを生成する（ステップＳ１１０５）。
【００７５】
次に、表示部１０７が、共通イベントオブジェクトと非共通イベントオブジェクトを入力し、共通イベントオブジェクトと非共通イベントオブジェクトとを画面上に表示する（ステップＳ１１０６）。なお、表示されたイベントオブジェクトは、たとえばユーザによって選択可能なユーザインターフェースとして機能してよい。ユーザインターフェースとして機能するイベントオブジェクトは、共通イベントオブジェクトのみであってもよいし、共通イベントオブジェクトと非共通イベントオブジェクトとの両方であってもよい。
【００７６】
次に、基準イベント選定部１０８が、ユーザによっていずれかのイベントオブジェクトが選択されたか否かを判定する（ステップＳ１１０７）。いずれのイベントオブジェクトも選択されていない場合（ステップＳ１１０７；ＮＯ）、プログラム実行状況表示装置（システム）１０１はステップＳ１１１２へ進む。一方、いずれかのイベントオブジェクトが選択された場合（ステップＳ１１０７；ＹＥＳ）、基準イベント特定情報更新部１０９が、基準イベント格納部１０３の基準イベント特定情報を更新する（ステップＳ１１０８）。なお、ステップＳ１１０７におけるユーザによるイベントオブジェクトの選択は、たとえばマウスやキーボードなどの入力デバイスを用いて行われてよい。その際、選択中の基準イベントがユーザによって再度選択された場合には、当該選択中の基準イベントに対して時系列的に近い他のイベントが基準イベントとして選択されるように構成されてもよい。なお、新たに選択されるイベントは、選択中の基準イベントと同一のプログラム実行トレース上の次のイベントや、選択中の基準イベントとは異なるプログラム実行トレース上における時系列的に近いイベントなどであってもよい。
【００７７】
次に、イベントオブジェクト生成部１０５が、更新された基準イベント特定情報を入力し、この基準イベント特定情報で特定される基準イベントを表す基準イベントオブジェクトの表示位置を更新する（ステップＳ１１０９）。つづいて、イベントオブジェクト生成部１０５は、基準イベントオブジェクトとイベント情報を入力とし、基準イベントオブジェクトの表示位置に基づいてその他のイベントオブジェクトの表示位置を更新する（ステップＳ１１１０）。これに対し、表示部１０７が、更新された表示位置にしたがって、イベントオブジェクトを再表示し（ステップＳ１１１１）、ステップＳ１１１２へ進む。
【００７８】
ステップＳ１１１２では、プログラム実行状況表示装置（システム）１０１は、本動作を終了するか否かを判定する。本動作を終了する場合（ステップＳ１１１２；ＹＥＳ）、プログラム実行状況表示装置（システム）１０１は、本動作を終了する。一方、終了しない場合（ステップＳ１１１２；ＮＯ）、プログラム実行状況表示装置（システム）１０１は、ステップＳ１１０７へリターンし、以降の動作を実行する。これにより、ステップＳ１１０７において、基準イベント選定部１０８による基準イベント特定情報の更新がなされる度に、以降のステップＳ１１０８〜Ｓ１１１１が実行されて、更新後の基準イベントに従ったイベントオブジェクトの再表示が実行される。なお、ステップＳ１１０８〜Ｓ１１１１の流れにおいて、ステップＳ１１０４のようにイベントオブジェクトの表示サイズを更新してもよい。また、未作成であったイベントオブジェクトについては、ステップＳ１１０５と同様の動作によってイベントオブジェクトが作成されてもよい。
【００７９】
以上で説明したように、実施形態１によれば、複数の実行トレースの実行状況をユーザに対して有効に提示することが可能になる。また、複数の実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。さらに、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して有効に提示することが可能になる。さらにまた、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。
【００８０】
実施形態２
次に、実施形態２にかかる表示情報生成装置（システム）を含むプログラム実行状況表示装置（システム）について、図面を参照して詳細に説明する。上述した実施形態１では、プログラム実行状況を表示する平面または空間を形成する軸のうち時系列情報を示す時系列軸を、基準となるイベントの実行期間との相対実行期間を表す軸とした。これに対し、実施形態２では、時系列軸を、基準となるイベントの実行期間との相対実行順序を表す軸とする。
【００８１】
（構成および動作）
実施形態２にかかるプログラム実行状況表示装置（システム）の構成は、実施形態１において図１を用いて説明したプログラム実行状況表示装置（システム）１０１と同様であってよい。また、実施形態２にかかるプログラム実行状況表示装置（システム）の動作概略は、実施形態１において図１１を用いて説明した動作フローと同様であってよい。ただし、実施形態２では、各イベントの時系列軸方向のサイズが固定であるため、図１１のステップＳ１１０４に示したイベントを表すイベントオブジェクトの表示サイズを決定する工程が省略される。
【００８２】
つづいて、実施形態２にかかるプログラム実行状況表示装置（システム）の詳細について、具体的なプログラム例を用いて説明する。ただし、以下に示す説明は、単なる一例であって、以下で例示する実施形態を限定するものではない。また、実施形態２において、プログラム、プログラム実行状況表示、イベント、共通イベント、複数の実行トレースによる差分表示、イベント情報、２つのプログラムの実行例、および、共通イベント識別情報の一例については、それぞれ実施形態１における説明を引用する。
【００８３】
実施形態２におけるイベント情報は、図５に示すイベント情報と同様に、イベント識別情報と実行トレース識別情報とイベントタイミング情報と共通イベント識別情報とイベント属性情報とを含む。ただし、実施形態２では、イベントタイミング情報は、イベントの実行順序を示す情報である。イベント情報に含まれるその他の情報については、実施形態１と同様であってよい。
【００８４】
図１２に、図２に示すソフトウエアプログラム２０１を実行した際に実施形態２において生成されるイベント情報リストの一例を示す。図１２に示すように、イベント情報リスト１２０１は、イベント情報１２０２〜１２１９の合計１８つのイベント情報を有しており、１行が１つのイベント情報を表している。例えば、イベント情報１２０３は、イベント識別情報、実行トレース識別情報、イベントタイミング情報、共通イベント識別情報、イベント属性情報のプログラム上の構造情報、イベント属性情報のイタレーション情報の順に、“１”、“１”、“２”、“１”、“ＬｏｏｐＡ：ｉｔｅｒａｔｉｏｎ：ｔａｓｋＣ”、“１”という情報を持つ。すなわち、イベント情報１２０３のイベントは、イベント識別情報が“１”であり、実行トレース識別情報が“１”であり、第１の実行トレースにおける２番目に実行されるイベントである。また、イベント情報１２０３のイベントは、プログラム構造上“ＬｏｏｐＡ”内の”ｉｔｅｒａｔｉｏｎ“内の“ｔａｓｋＣ”のイベントであり、“ＬｏｏｐＡ”の１回目のｉｔｅｒａｔｉｏｎで実行されたイベントである。さらに、イベント情報１２０３の共通イベント識別情報は“１”である。これは、イベント情報１２０３のイベントが、同一の共通イベント識別情報を持つイベント１２１１と共通イベントであることを示す。
【００８５】
なお、イベント識別情報のバリエーションおよびイベントタイミング情報のバリエーションは、実施形態１と同様であってよい。また、イベント属性情報のバリエーションは、実施形態１と同様であってよい。ただし、実施形態２では、イベント属性情報がプログラム実行時情報である場合、そのプログラム実行時情報は、プログラム実行時に取得可能な実行時の状況を表す情報であってよい。
【００８６】
実施形態２における軸情報は、実施形態１と同様に、表示時系列特定情報と属性軸情報とを含む情報である。属性軸情報は、実施形態１と同様であってよい。ただし、実施形態２では、表示時系列特定情報は、１イベント当たりの時系列軸方向の表示サイズを表す表示時系列単位情報と、表示する範囲（イベント数）を表す表示時系列範囲情報を含む。なお、軸情報のバリエーションは、実施形態１と同様であってよい。
【００８７】
図１３に、図２に示すソフトウエアプログラムを実行した際の実施形態２にかかる軸情報の一例を示す。図１３に示すように、軸情報１３０１は、表示時系列特定情報１３０２と、属性情報１３０３および１３０４とを含む。表示時系列特定情報１３０２の表示時系列単位情報は、“２”である。これは、１イベント当たりの表示サイズが２であることを示す。また、表示時系列特定情報１３０２の表示時系列範囲情報は、時系列軸表示始点を“１”とし、時系列軸表示終点を“４”としている。これは、“１”から“４”までの範囲を表示することを示す。属性軸情報１３０３は、第１の実行トレースを表す属性軸情報であり、要素名情報“実行１”とし、実行トレース識別情報を“１”とし、表示位置情報を“０”としている。属性軸情報１３０４は、第２の実行トレースを表す属性軸情報であり、要素名情報を“実行２”とし、実行トレース識別情報を“２”とし、表示位置情報を“１００”としている。
【００８８】
基準イベント特定情報は、実施形態１と同様であってよい。ここで図１４に、図２に示すソフトウエアプログラムを実行した際に実施形態２において生成される基準イベント特定情報リストの一例を示す。図１４に示すように、基準イベント特定情報１４０１は、２つの基準イベント特定情報１４０２および１４０３を含む。１つの基準イベント特定情報１４０２は“３”であり、他の１つの基準イベント特定情報１４０３は“１２”である。
【００８９】
イベントオブジェクトは、実施形態１と同様であってよい。ただし、実施形態２では、時系列軸方向の表示サイズが全てのイベントオブジェクトに対して共通である。そのため、実施形態２では、イベントオブジェクトの表示サイズを決定するための特別なステップを要しない。なお、実施形態２では、イベントオブジェクトの表示位置決定およびイベントオブジェクトの生成に、図１２に示したイベント情報リスト１２０１と、図１３に示した軸情報１３０１と、図１４に示した基準イベント特定情報リスト１４０１とが用いられる。その他の説明は、実施形態１におけるイベントオブジェクト、ならびに、イベントオブジェクトの表示位置の決定、表示サイズの決定およびイベントオブジェクト生成の説明と同様であってよい。以降、基準イベント特定情報リスト１４０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合と、基準イベント特定情報が登録されていない場合とに分けて説明する。
【００９０】
＜少なくとも２つ以上の基準イベントが登録されている場合＞
まず、基準イベント特定情報リスト１４０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合について説明する。この場合、イベントオブジェクト生成部１０５は、イベント情報リスト１２０１と基準イベント特定情報リスト１４０１とに基づいて基準イベントのイベント情報を特定する。つづいて、イベントオブジェクト生成部１０５は、第１の実行トレースにおける第１の基準イベントを表す第１の基準イベントオブジェクトの表示始点位置と、第２の実行トレースにおける第２の基準イベントを表す第２の基準イベントオブジェクトの表示始点位置とが、同じとなる表示始点位置を決定する。なお、第１の基準イベントと第２の基準イベントとは、共通イベントであって、ユーザによって選定された基準イベントである。
【００９１】
次に、イベントオブジェクト生成部１０５は、基準イベントのイベント情報の実行順序と軸情報の表示時系列特定情報１３０２とに基づいて基準イベントオブジェクトの時系列軸方向の表示サイズを決定し、基準イベントのイベント情報の実行トレース識別情報と軸情報の属性軸情報１３０３とに基づいて属性軸方向の表示位置を決定し、基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた表示方式で基準イベントが表示されるように基準イベントオブジェクトを生成する。
【００９２】
ここで、基準イベント特定情報リスト１４０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の基準イベントオブジェクトの生成例を、具体例を挙げて説明する。イベントオブジェクト生成部１０５は、イベント識別情報が“３”である第１の基準イベントのイベント情報１２０５およびイベント識別情報が“１２”である第２の基準イベントのイベント情報１２１４の時系列軸に沿った位置（表示始点位置）を同じ位置（たとえば“４”）とする。ここで、表示始点位置は、基準イベントを表示する始点位置情報であり、例えば、プログラム実行状況表示装置（システム）１０１で決められた情報であってもよいし、ファイルで与えられる情報であってもよいし、ユーザのインターフェースからの入力情報であってもよいし、第１の基準イベントが表示されている画面上の位置であってもよい。
【００９３】
次に、イベントオブジェクト生成部１０５は、軸情報の表示時系列特定情報１３０２の“２表示間隔当たりが表すイベント数は１である”という情報に基づいて時系列軸方向の１イベント当たりの表示サイズを“２“とする。
【００９４】
また、イベントオブジェクト生成部１０５は、イベント情１２０５の実行トレース識別情報“１”と軸情報の属性軸情報１３０３とに基づいて属性軸方向の表示位置“０”を決定し、基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた色“赤”で表示することを決定し、これらの決定にしたがって基準イベントを表す基準イベントオブジェクトを生成する。ただし、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、ユーザに識別させることができる表示形式で基準イベントオブジェクトが生成されればよい。
【００９５】
また、イベントオブジェクト生成部１０５は、イベント情報１２１４の実行トレース識別情報“２”と軸情報の属性軸情報１３０３とに基づいて属性軸方向の表示位置“１００”を決定し、基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた色“赤”で表示することを決定し、これらの決定にしたがって基準イベントを表す基準イベントオブジェクトを生成する。ただし、上記と同様に、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、ユーザに識別させることができる表示形式で基準イベントオブジェクトが生成されればよい。
【００９６】
基準イベント特定情報リスト１４０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の非基準イベントオブジェクトの生成例は、実施形態１と同様であってよい。そこで、実施形態２にかかる具体例は、以下のようになる。
【００９７】
基準イベント特定情報リスト１４０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の共通イベントを持つイベントのイベントオブジェクトの生成例では、イベントオブジェクト生成部１０５は、基準イベント特定情報リスト１４０１に基づいて、イベント識別情報が“３”もしくは“１２”でないイベントを非基準イベントと特定する。ここでは、イベント情報１２０７を例に、共通イベントを持つ非基準イベントのイベントオブジェクトの生成について説明する。この非基準イベント（イベント情報１２０７）の実行順序は“６”であり、実行トレース識別情報は“１”である。これと同一の実行トレース識別情報“１”を持つ基準イベントのイベント情報はイベント情報１２０５であり、その実行順序は“４”である。
【００９８】
そこで、まず、イベントオブジェクト生成部１０５は、非基準イベントの表示始点位置を決定する。イベント情報１２０７が表す共通イベントを持つ非基準イベントの表示始点位置は、イベント情報１２０７から特定される非基準イベントの実行順序“６”と、イベント情報１２０５から特定される基準イベントの実行順序“４”と、軸情報の表示時系列特定情報１３０２の“１イベント当たりの表示サイズ２である”という情報と、基準イベントのイベントオブジェクトの表示始点位置“４”とに基づいて計算される。具体的には、式“｛（非基準イベントの実行順序−基準イベントの実行順序）×（イベント当たりの表示サイズ）｝＋基準イベントの表示始点位置”を用いて、“｛（６−４）×２｝＋４”を計算する。これにより、イベント情報１２０７が表す共通イベントを持つ非基準イベントの表示始点位置が“８”と求まる。
【００９９】
次に、イベントオブジェクト生成部１０５は、軸情報の表示時系列特定情報１３０２の“１イベント当たりの表示サイズは２である”という情報に基づいて、イベント情報１２０７が表す共通イベントを持つ非基準イベントの時系列軸方向の表示サイズを“２”とする。
【０１００】
また、イベントオブジェクト生成部１０５は、イベント情報１２０７の実行トレース識別情報“１”と軸情報の属性軸情報１３０３とに基づいて、属性軸方向の表示位置“０”を決定し、非基準イベントのイベント情報の共通イベント識別情報に固有に割り当てられた色“緑”で表示することを決定し、これらの決定にしたがって非基準イベントを表す非基準イベントオブジェクトを生成する。他の共通イベント識別情報を持つ非基準イベントについても同様にして非基準イベントオブジェクトが生成される。ただし、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、ユーザに識別させることができる表示形式で共通イベント識別情報を持つ非基準イベントを表す非基準イベントオブジェクトが生成されればよい。
【０１０１】
つづいて、基準イベント特定情報リスト１４０１に少なくとも２つ以上の基準イベント特定情報が登録されている場合の共通イベントを持たないイベントオブジェクトの生成例について説明する。ここでは、イベント情報１２１５を例に共通イベントを持たない非基準イベントのイベントオブジェクトの生成について説明する。この非基準イベント（イベント情報１２１５）の実行順序は“５”であり、実行トレース識別情報は“２”である。これと同一の実行トレース識別情報“２”を持つ基準イベントのイベント情報はイベント情報１２１４であり、その実行順序は“４”である。
【０１０２】
そこで、イベントオブジェクト生成部１０５は、非基準イベントの表示始点位置を決定する。イベント情報１２１４が表す共通イベントを持つ非基準イベントの表示始点位置は、イベント情報１２１４から特定される非基準イベントの実行順序“５”と、イベント情報１２１５から特定される基準イベントの実行順序“４”と、軸情報の表示時系列特定情報１３０２の“１イベント当たりの表示サイズ２である”という情報と、基準イベントのイベントオブジェクトの表示始点位置“４”とに基づいて計算される。具体的には、式“｛（非基準イベントの実行順序−基準イベントの実行順序）×（“１イベント当たりの表示サイズ）｝＋基準イベントの表示始点位置”を用いて“｛（５−４）×２｝＋４”を計算する。これにより、イベント情報１２１４が表す共通イベントを持つ非基準イベントの表示始点位置が“６”と求まる。
【０１０３】
次に、イベントオブジェクト生成部１０５は、軸情報の表示時系列特定情報１３０２の“１イベント当たりの表示サイズ２である”という情報に基づいて、イベント情報１２１４が表す共通イベントを持つ非基準イベントの表示サイズを“２”とする。
【０１０４】
また、イベントオブジェクト生成部１０５は、イベント情報１２１４の実行トレース識別情報“２”と軸情報の属性軸情報１３０４とに基づいて、属性軸方向の表示位置“１００”を決定し、非基準イベントのイベント情報の共通イベント識別情報がないイベント固有の色“灰色”で表示することを決定し、これらの決定にしたがって非基準イベントを表す非基準イベントオブジェクトを生成する。他の共通イベント識別情報を持たない非基準イベントも同様にして非基準イベントオブジェクトが生成される。ただし、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、ユーザに識別させることができる表示形式で共通イベント識別情報を持たない非基準イベントを表す非基準イベントオブジェクトが生成されればよい。
【０１０５】
＜基準イベントが登録されていない場合＞
次に、基準イベント特定情報リスト１４０１に基準イベント特定情報が登録されていない場合について説明する。基準イベント特定情報リスト１４０１に１つも基準イベント特定情報が登録されていない場合のイベントオブジェクト生成は、共通イベントを持つイベントオブジェクトの生成と共通イベントを持たないイベントオブジェクトの生成とが含まれる。
【０１０６】
イベントオブジェクト生成部１０５は、イベント情報リスト１２０１のイベント情報の実行順序と軸情報の表示時系列特定情報１３０２とからイベントを表示するか否かを判定する。イベントオブジェクト生成部１０５は、イベント情報リスト１２０１のイベント情報の実行順序と軸情報の表示時系列特定情報１３０２とからイベントを表すイベントオブジェクトの表示開始位置を決定する。
【０１０７】
次に、イベントオブジェクト生成部１０５は、イベント情報の実行順序と軸情報の表示時系列特定情報１３０２とに基づいてイベントオブジェクトの時系列軸方向の表示サイズを決定し、イベント情報の共通イベント識別情報に基づいて共通イベント識別情報に固有に割り当てられた表示方式でイベントが表示されるようにイベントオブジェクトを生成する。ここで、共通イベント識別情報を持たないイベントのイベントオブジェクトについては、共通イベントを持つイベントのイベントオブジェクトとは異なる表示方式で表示されるようにイベントオブジェクトが生成されてもよい。以下に、共通イベントを持つイベントのイベントオブジェクトの生成と、共通イベントを持たないイベントのイベントオブジェクトの生成とについて例を挙げて説明する。
【０１０８】
まず、基準イベント特定情報リスト１４０１に基準イベント特定情報が登録されていない場合の共通イベントを持つイベントのイベントオブジェクトの生成例について説明する。ここでは、共通イベントを持つイベント情報１２１１が表すイベントに着目して説明する。イベントオブジェクト生成部１０５は、イベント情報１２１１が表すイベントを表示すべきか否かを判定する。イベント情報１２１１のイベント実行順序“１”と軸情報の表示時系列特定情報１３０２の表示始点情報“１”および表示終点情報“４”とから、イベント情報１２１１が表すイベントが時系列軸方向の表示範囲に含まれるため、イベントオブジェクト生成部１０５は、イベント情報１２１１が表すイベントを“表示する”と判定する。
【０１０９】
次に、イベントオブジェクト生成部１０５は、イベント情報１２１１が表すイベントの表示始点位置を決定する。イベントオブジェクト生成部１０５はイベント情報１２０５が表すイベントの実行順序“１”と軸情報の表示時系列特定情報１３０２の“１イベント当たりの表示サイズ２である”という情報とに基づいて、イベント情報１２１１を表すイベントオブジェクトの表示始点位置を計算する。具体的には、式“イベントの実行順序×１イベント当たりの表示サイズ”を用いて“１×２”を計算する。これにより、イベント情報１２１１を表すイベントオブジェクトの表示始点位置が“２”と求まる。
【０１１０】
次に、イベントオブジェクト生成部１０５は、イベント情報１２１１が表すイベントの表示サイズを決定する。イベントの表示サイズは“１イベント当たりの表示間隔”であるため、イベントオブジェクト生成部１０５は、軸情報の時系列情報１３０２の“１イベント当たりの表示サイズ２である”という情報を用いて、イベント情報１２１１が表すイベントのイベントオブジェクトの表示サイズを“２”とする。
【０１１１】
次に、イベントオブジェクト生成部１０５は、イベント情報１２１１の共通イベント識別情報“１”に基づいて、他の共通イベント識別情報とは異なる表示形式で表されるイベントオブジェクトを生成する。本実施形態では、固有の表示形式を色で表現している。そこで、イベントオブジェクト生成部１０５は、イベント情報１２１１のイベントを“青”で表示する。ただし、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、ユーザに識別させることができる表示形式で共通イベントを持つイベントオブジェクトが生成されればよい。
【０１１２】
次に、基準イベント特定情報リスト１４０１に基準イベント特定情報が登録されていない場合の共通イベントを持たないイベントのイベントオブジェクトの生成例について説明する。ここでは、共通イベントを持たないイベント情報１２０４が表すイベントに着目して説明する。イベントオブジェクト生成部１０５は、イベント情報１２０４が表すイベントを表示すべきか否かを判定する。イベント情報１２０４のイベント実行順序“４”と軸情報の表示時系列特定情報１３０２の表示始点情報“１”および表示終点情報“４”とから、イベント情報１２０４が表すイベントが時系列軸方向の表示範囲に含まれるため、イベントオブジェクト生成部１０５は、このイベントオブジェクトを“表示する”と判定する。
【０１１３】
次に、イベントオブジェクト生成部１０５は、イベント情報１２０４が表すイベントの表示始点位置を決定する。イベント情報１２０４を表すイベントオブジェクトの表示始点位置は、イベント情報１２０４が表すイベントの実行順序“３”と軸情報の表示時系列特定情報１３０２の情報“１イベント当たりの表示サイズ２である”という情報とに基づいて計算される。具体的には、式“イベントの実行順序×１イベント当たりの表示サイズ”を用いて“３×２”を計算する。これにより、イベント情報１２０４を表すイベントオブジェクトの表示始点位置が“６”と求まる。
【０１１４】
次に、イベントオブジェクト生成部１０５は、軸情報の時系列情報１３０２の“１イベント当たりの表示サイズ２である”という情報を用いて、イベント情報１２０４が表すイベントのイベントオブジェクトの表示サイズを“２”とする。
【０１１５】
次に、イベントオブジェクト生成部１０５は、イベント情報１２０４が共通イベント識別情報を持たないことに基づいて、共通イベント識別情報とは異なる表示形式で表されるイベントオブジェクトを生成する。本実施形態では固有の表示形式を色で表現しているため、イベント情１２０４のイベントは、たとえば“灰色”で表示される。ただし、固有に割り当てられた色に限らず、ハッチングの種類や描画線の種類など、ユーザに識別させることができる表示形式で共通イベントを持たないイベントオブジェクトが生成されればよい。
【０１１６】
次に、以上のように生成された軸オブジェクトおよびイベントオブジェクトよりなるプログラム実行状況の表示について説明する。なお、プログラム実行状況の表示例としては、基準イベントが選択されていない場合と、基準イベントが選択されている場合とが存在する。
【０１１７】
＜基準イベントが選択されていない場合＞
まず、基準イベントが選択されていない場合について、図１５のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更するものとする。
【０１１８】
表示部１０７は、軸オブジェクトを入力し、軸オブジェクトが持つ表示情報に基づいて画面上に描画する。その結果、図１５に示すように、プログラム実行状況表示例１５０１では、時系列軸オブジェクト１５２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト１５２１が属性ラベルを表示する。たとえば、時系列軸オブジェクト１５２０は、“１”から“４“を表示し、ラベルを１イベント単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト１５２１は、属性軸要素１５２２と属性軸要素１５２３とのラベルをそれぞれ表示する。
【０１１９】
表示部１０７は、イベントオブジェクトを入力し、イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図１５に示すように、プログラム実行状況表示例１５０１では、イベント情報１２０２、１２０３、１２０４、１２０５、１２１０、１２１１、１２１２および１２１３を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト１５０２、１５０３、１５０４、１５０５、１５１０、１５１１、１５１２および１５１３として表示される。
【０１２０】
＜基準イベントが選択されている場合＞
次に、基準イベントが選択されている場合について、図１６プログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更する。
【０１２１】
表示部１０７は、基準イベントが選択されていない場合と同様に、軸オブジェクトを入力して画面上に描画するとともに、各軸オブジェクトのラベルを表示する。
【０１２２】
表示部１０７は、基準イベントオブジェクトを入力し、基準イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図１６に示すように、プログラム実行状況表示例１６０１では、時系列軸オブジェクト１６２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト１６２１が属性ラベルを表示する。例えば、時系列軸オブジェクト１６２０は、“１”から“４“を表示し、ラベルを１イベント単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト１６２１は、属性軸要素１６２２と属性軸要素１６２３とのラベルをそれぞれ表示する。また、プログラム実行状況表示例１６０１では、イベント情報１２０５、１２０６、１２０７、１２０８、１２１４、１２１５、１２１６および１２１７を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト１６０５、１６０６、１６０７、１６０８、１６１４、１６１５、１６１６、１６１７として表示される。
【０１２３】
＜具体例＞
具体的には、図１５のプログラム実行状況表示例１５０１では、共通イベントを持つイベントオブジェクト１５０３、１５０５および１５１１が“灰色”以外の色を用いたオブジェクトとして表示されている。ただし、固有の表示形式として、ハッチングの種類や描画線の種類など、色以外の表示形式を採用した場合には、採用された表示形式に従って、共通イベント識別情報を持たない非共通イベントとは異なる表示形式でイベントオブジェクトが表示されればよい。基準イベント選定部１０８は、マウスなどのユーザインターフェースでイベントオブジェクト１５０５が選択されると、イベントオブジェクト１５０５のイベント情報１２０５から共通イベント識別情報“２”を選定する。次に、共通イベント選定部１０８は、イベント情報リスト１２０１から基準イベント特定情報“２”を持つイベント情報１２０５および１２１４を基準イベントとして選定し、これらの基準イベントのイベント識別情報“３”および“１２”を基準イベント特定情報とし、基準イベント特定情報格納部１０３に格納する。その結果、図１６に示すようなプログラム実行状況表示例１６０１が表示される。
【０１２４】
なお、ユーザによる基準イベントの指定方法は、共通イベントを持つ少なくとも１つ以上のイベントを選定する方法であり、例えば、ファイルによる指定であってもよいし、ユーザインターフェースによる指定であってもよい。
【０１２５】
以上で説明したように、実施形態２によれば、実施形態１と同様に、複数の実行トレースの実行状況をユーザに対して有効に提示することが可能になる。また、複数の実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。さらに、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して有効に提示することが可能になる。さらにまた、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。
【０１２６】
実施形態３
次に、実施形態３にかかる表示情報生成装置（システム）を含むプログラム実行状況表示装置（システム）について、図面を参照して詳細に説明する。実施形態３は、実施形態１で例示したプログラム実行状況表示装置（システム）において、同一の実行トレースに複数の基準イベントが存在する場合を例示するものである。
【０１２７】
（構成および動作）
実施形態３にかかるプログラム実行状況表示装置（システム）の構成は、実施形態１において図１を用いて説明したプログラム実行状況表示装置（システム）１０１と同様であってよい。また、実施形態３にかかるプログラム実行状況表示装置（システム）の動作概略は、実施形態１において図１１を用いて説明した動作フローと同様であってよい。
【０１２８】
つづいて、実施形態１にかかるプログラム実行状況表示装置（システム）の詳細について、具体的なプログラム例を用いて説明する。ただし、以下に示す説明は、単なる一例であって、以下で例示する実施形態を限定するものではない。また、実施形態３において、プログラム、プログラム実行状況表示、イベント、共通イベント、複数の実行トレースによる差分表示、イベント情報、２つのプログラムの実行例、共通イベント識別情報の一例、イベント情報の一例、イベント識別情報のバリエーション、イベントタイミング情報のバリエーション、イベント属性情報のバリエーション、軸情報、軸情報の一例、軸情報のバリエーション、基準イベント特定情報、基準イベント特定情報の一例、イベントオブジェクト、および、イベントオブジェクトの表示位置の決定、表示サイズの決定およびイベントオブジェクト生成（少なくとも２つ以上の基準イベントが登録されている場合と基準イベントが登録されていない場合との基準イベントオブジェクト生成の一例、および、その他のイベントオブジェクト生成の例（共通イベントを持つイベントオブジェクトの生成例および共通イベントを持たないイベントオブジェクトの生成例を含む）を含む）ついては、それぞれ実施形態１における説明を引用する。ただし、実施形態３では、図６に示すイベント情報リスト６０１の代わりに、図１７に示すイベント情報リスト１７０１が生成される。図１７に示すイベント情報リスト１７０１は、同じ共通イベント識別情報“１”を持つイベント情報として、イベント情報１７０３、１７０５、１７０７、１７１１、１７１４および１７１７が含まれている。したがって、イベント情報１７０３、１７０５、１７０７、１７１１、１７１４および１７１７のうちの何れかに対応するイベントが基準イベント選定部１０８によって基準イベントとして選定された場合、基準イベント特定情報格納部１０３には、選択されたイベントのイベント情報と、これと同じ共通イベント識別情報“１”を持つ他のイベントの中から選択されたイベントのイベント識別情報とが格納される。
【０１２９】
次に、実施形態３において生成された軸オブジェクトおよびイベントオブジェクトよりなるプログラム実行状況の表示について説明する。なお、プログラム実行状況の表示例としては、基準イベントが選択されていない場合と、基準イベントが選択されている場合とが存在する。
【０１３０】
＜基準イベントが選択されていない場合＞
まず、基準イベントが選択されていない場合について、図１８のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更するものとする。また、実施形態３において、軸オブジェクト表示については、実施形態１と同様である。
【０１３１】
表示部１０７は、イベントオブジェクトを入力し、イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図１８に示すように、プログラム実行状況表示例１８０１では、時系列軸オブジェクト１８２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト１８２１が属性ラベルを表示する。たとえば、時系列軸オブジェクト１８２０は、“０”から“１０００“を表示し、ラベルを２０００単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト１８２１は、属性軸要素１８２２と属性軸要素１８２３とのラベルをそれぞれ表示する。また、プログラム実行状況表示例１８０１では、イベント情報１７０２、１７１０、１７１１、１７１２、１７１３、１７１４、１７１５、１７１６、１７１７、１７１８および１７１９を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト１８０２、１８１０、１８１１、１８１２、１８１３、１８１４、１８１５、１８１６、１８１７、１８１８および１８１９として表示される。
【０１３２】
次に、基準イベントが選択されている場合について、図１９のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更する。また、実施形態３において、軸オブジェクト表示については、実施形態１と同様である。
【０１３３】
表示部１０７は、基準イベントオブジェクトを入力し、基準イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図１９に示すように、プログラム実行状況表示例１９０１では、時系列軸オブジェクト１９２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト１９２１が属性ラベルを表示する。たとえば、時系列軸オブジェクト１９２０は、“０”から“１０００“を表示し、ラベルを２０００単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト１９２１は、属性軸要素１９２２と属性軸要素１９２３とのラベルをそれぞれ表示する。また、プログラム実行状況表示例１９０１では、イベント情報１７０３、１７０４、１７０５、１７０６、１７０７、１７０８、１７０９、１７１１、１７１２、１７１３、１７１４、１７１５、１７１６、１７１７、１７１８および１７１９を表すイベントオブジェクトがそれぞれ順に１９０３、１９０４、１９０５、１９０６、１９０７、１９０８、１９０９、１９１１、１９１２、１９１３、１９１４、１９１５、１９１６、１９１７、１９１８および１９１９として表示される。
【０１３４】
＜具体例＞
具体的には、図１８のプログラム実行状況表示例１８０１では、共通イベントを持つイベントオブジェクト１８１１、１８１４、１８１７、１８１８および１８１９が“灰色”以外の色を用いたオブジェクトとして表示されている。ただし、固有の表示形式として、ハッチングの種類や描画線の種類など、色以外の表示形式を採用した場合には、採用された表示形式に従って、共通イベント識別情報を持たない非共通イベントとは異なる表示形式でイベントオブジェクトが表示されればよい。基準イベント選定部１０８は、マウスなどのユーザインターフェースでイベントオブジェクト１８１１が選択されると、イベントオブジェクト１８１１のイベント情報１７１１から共通イベント識別情報“１”および実行トレース識別情報“２”を抽出する。次に、基準イベント選定部１０８は、イベント情報リスト１７０１から、実行トレース識別情報“２”とは異なり、かつ、共通イベント識別情報“１”を持つイベント情報１７０３、１７０５および１７０７を選定する。次に、基準イベント選定部１０８は、選定されたイベント情報において実行トレース識別情報が同じイベント情報が複数存在する場合には、実行トレース識別情報ごとに１つのイベント情報を選択する。本具体例では、イベント情報１７０３、１７０５および１７０７の中から基準イベント選定条件情報に基づいて、他の実行トレースにおける基準イベントとして選択されたイベント情報１７１１の実行開始時刻“１０００”に最も近い実行開始時刻“１００００”のイベント情報１７０３によって表わされるイベントが基準イベントとして選択される。その結果、基準イベント特定情報格納部１０３には、イベント情報１７０３のイベント識別情報“１”と、イベント情報１７１１のイベント識別情報“９”とが、基準イベント特定情報として格納される。
【０１３５】
なお、基準イベントの指定方法は、共通イベントを持つ少なくとも１つ以上のイベントを選定する方法であり、例えば、ファイルによる指定であってもよいし、ユーザインターフェースによる指定であってもよい。
【０１３６】
また、基準イベント選定条件情報は、同じ共通イベント識別情報を持つ共通イベントから１つを選定可能な条件である。したがって、基準イベント選定条件情報に基づいて選択される基準イベントは、例えば、ユーザによって選択された共通イベントの実行トレースとは異なる実行トレース上の共通イベントであって、ユーザによって選択された共通イベントに実行開始時刻が最も近い共通イベントであってもよいし、実行期間が最大の共通イベントであってもよいし、実行期間が最小の共通イベントであってもよいし、ユーザによって選択された共通イベントに実行順序が最も近い共通イベントであってもよいし、実行順序が最小の共通イベントであってもよいし、実行順序が最大の共通イベントであってもよい。また、選択される基準イベントは、ユーザによって選択された共通イベントの実行トレースと同じ実行トレース上の共通イベントであって、ユーザによって選択された共通イベントに実行開始時刻が最も近いイベントであってもよいし、ユーザによって選択された共通イベントに実行順序に最も近いイベントであってもよい。さらに、選択される基準イベントは、ユーザインターフェースを介したユーザからの指示に基づいて選択されてもよい。さらにまた、基準イベント選定条件情報は、プログラム実行状況装置で予め決められた条件であってもよいし、ユーザインターフェースを介して与えられる情報であってもよいし、ファイルにより与えられる条件であってもよい。
【０１３７】
以上で説明したように、実施形態３によれば、実施形態１と同様に、複数の実行トレースの実行状況をユーザに対して有効に提示することが可能になる。また、複数の実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。さらに、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して有効に提示することが可能になる。さらにまた、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。
【０１３８】
実施形態４
次に、実施形態４にかかる表示情報生成装置（システム）を含むプログラム実行状況表示装置（システム）について、図面を参照して詳細に説明する。実施形態４は、実施形態２で例示したプログラム実行状況表示装置（システム）において、同一の実行トレースに複数の基準イベントが存在する場合を例示するものである。
【０１３９】
（構成および動作）
実施形態４にかかるプログラム実行状況表示装置（システム）の構成は、実施形態１において図１を用いて説明したプログラム実行状況表示装置（システム）１０１と同様であってよい。また、実施形態４にかかるプログラム実行状況表示装置（システム）の動作概略は、実施形態４において図１１を用いて説明した動作フローと同様であってよい。
【０１４０】
つづいて、実施形態４にかかるプログラム実行状況表示装置（システム）の詳細について、具体的なプログラム例を用いて説明する。ただし、以下に示す説明は、単なる一例であって、以下で例示する実施形態を限定するものではない。また、実施形態４において、プログラム、プログラム実行状況表示、イベント、共通イベント、複数の実行トレースによる差分表示、イベント情報、２つのプログラムの実行例、共通イベント識別情報の一例、イベント情報の一例、イベント識別情報のバリエーション、イベントタイミング情報のバリエーション、イベント属性情報のバリエーション、軸情報、軸情報の一例、軸情報のバリエーション、基準イベント特定情報、基準イベント特定情報の一例、イベントオブジェクト、および、イベントオブジェクトの表示位置の決定、表示サイズの決定およびイベントオブジェクト生成（少なくとも２つ以上の基準イベントが登録されている場合と基準イベントが登録されていない場合との基準イベントオブジェクト生成の一例、および、その他のイベントオブジェクト生成の例（共通イベントを持つイベントオブジェクトの生成例および共通イベントを持たないイベントオブジェクトの生成例を含む）を含む）ついては、それぞれ実施形態２または実施形態２によって引用される実施形態１における説明を引用する。ただし、実施形態４では、図１２に示すイベント情報リスト１２０１の代わりに、図２０に示すイベント情報リスト２００１が生成される。図２０に示すイベント情報リスト２００１は、同じ共通イベント識別情報“１”を持つイベント情報として、イベント情報２００３、２００５、２００７、２０１１、２０１４および２０１７が含まれている。したがって、イベント情報２００３、２００５、２００７、２０１１、２０１４および２０１７のうちの何れかに対応するイベントが基準イベント選定部１０８によって基準イベントとして選定された場合、基準イベント特定情報格納部１０３には、選択されたイベントのイベント情報と、これと同じ共通イベント識別情報“１”を持つ他のイベントの中から選択されたイベントのイベント識別情報とが格納される。
【０１４１】
次に、実施形態４において生成された軸オブジェクトおよびイベントオブジェクトよりなるプログラム実行状況の表示について説明する。なお、プログラム実行状況の表示例としては、基準イベントが選択されていない場合と、基準イベントが選択されている場合とが存在する。
【０１４２】
＜基準イベントが選択されていない場合＞
まず、基準イベントが選択されていない場合について、図２１のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更する。また、実施形態４において、軸オブジェクト表示については、実施形態２と同様である。
【０１４３】
表示部１０７は、イベントオブジェクトを入力し、イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図２１に示すように、プログラム実行状況表示例２１０１では、時系列軸オブジェクト２１２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト１５２１が属性ラベルを表示する。たとえば、時系列軸オブジェクト２１２０は、“１”から“４“を表示し、ラベルを１イベント単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト２１２１は、属性軸要素２１２２と属性軸要素２１２３とのラベルをそれぞれ表示する。また、プログラム実行状況表示例２１０１では、イベント情報２００２、２００３、２００４、２００５、２０１０、２０１１、２０１２、２０１３を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト２１０２、２１０３、２１０４、２１０５、２１１０、２１１１、２１１２、２１１３として表示される。
【０１４４】
＜基準イベントが選択されている場合＞
次に、基準イベントが選択されている場合について、図２２のプログラム実行状況表示例を用いて説明する。本実施形態では、画面上に表示可能な範囲のみを表示し、スクロールバーにより表示領域を変更する。また、実施形態４において、軸オブジェクト表示については、実施形態２と同様である。
【０１４５】
表示部１０７は、基準イベントオブジェクトを入力し、基準イベントオブジェクトが持つ表示位置情報に基づいて画面上に描画する。その結果、図２２に示すように、プログラム実行状況表示例２２０１では、時系列軸オブジェクト２２２０が一定区間ごとに時間情報のラベルを表示し、属性軸オブジェクト２２２１が属性ラベルを表示する。例えば、時系列軸オブジェクト２２２０は、“１”から“４“を表示し、ラベルを１イベント単位で表示する。表示部１０７は、画面サイズもしくはウインドウサイズ等の表示サイズを入力とし、表示可能なサイズの軸オブジェクトを表示してもよいし、表示可能なサイズの軸オブジェクトにサイズを変換して表示してもよい。属性軸オブジェクト２２２１は、属性軸要素２２２２と属性軸要素２２２３とのラベルをそれぞれ表示する。また、プログラム実行状況表示例２２０１では、イベント情報２００５、２００６、２００７、２００８、２０１４、２０１５、２０１６、２０１７を表すイベントオブジェクトがそれぞれ順に、イベントオブジェクト２２０５、２２０６、２２０７、２２０８、２２１４、２２１５、２２１６、２２１７として表示される。
【０１４６】
＜具体例＞
具体的には、図２１のプログラム実行状況表示例２１０１では、共通イベントを持つイベント２１０３、２１０５および２１１１が“灰色”以外の色を用いたオブジェクトとして表示されている。ただし、固有の表示形式として、ハッチングの種類や描画線の種類など、色以外の表示形式を採用した場合には、採用された表示形式に従って、共通イベント識別情報を持たない非共通イベントとは異なる表示形式でイベントオブジェクトが表示されればよい。基準イベント選定部１０８は、マウスなどのユーザインターフェースでイベントオブジェクト２１０５が選択されると、イベントオブジェクト２１０５のイベント情報２００５から共通イベント識別情報“１”および実行トレース識別情報“１”を抽出する。次に、基準イベント選定部１０８は、イベント情報リスト２００１から実行トレース識別情報“１”とは異なり、かつ、共通イベント識別情報“１”を持つイベント情報２０１１、２０１４および２０１７を選定する。次に、基準イベント選定部１０８は、選定されたイベント情報において実行トレース識別情報が同じイベント情報が複数存在する場合には、実行トレース識別情報ごとに１つのイベント情報を選択する。本具体例では、イベント情報２０１１、２０１４および２０１７の中から基準イベント選定条件情報に基づいて、他の実行トレースにおける基準イベントとして選択されたイベント情報２００５の実行順序情報“４”に最も近い実行順序情報“４”のイベント情報２０１４によって表わされるイベントを基準イベントとして選択される。その結果、基準イベント特定情報格納部１０３には、イベント情報２００５のイベント識別情報“３”と、イベント情報２０１４のイベント識別情報“１２”とが、基準イベント特定情報として格納される。
【０１４７】
なお、実施形態４において、基準イベント選択方法のバリエーションおよび基準イベント選定条件情報のバリエーションは、実施形態３と同様であってよい。
【０１４８】
以上で説明したように、実施形態４によれば、実施形態１と同様に、複数の実行トレースの実行状況をユーザに対して有効に提示することが可能になる。また、複数の実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。さらに、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して有効に提示することが可能になる。さらにまた、複数の大量のイベントを持つ実行トレースの実行状況をユーザに対して対話的かつ有効に提示することが可能になる。
【０１４９】
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
【符号の説明】
【０１５０】
１０１…プログラム実行状況表示装置、１０２…イベント情報格納部、１０３…基準イベント特定情報格納部、１０４…軸情報格納部、１０５…イベントオブジェクト生成部、１０６…軸オブジェクト生成部、１０７…表示部、１０８…基準イベント選定部、１０９…基準イベント特定情報更新部
【図１】
2015170009.tif 000003
【図２】
2015170009.tif 000004
【図３】
2015170009.tif 000005
【図５】
2015170009.tif 000006
【図６】
2015170009.tif 000007
【図７】
2015170009.tif 000008
【図８】
2015170009.tif 000009
【図９】
2015170009.tif 000010
【図１０】
2015170009.tif 000011
【図１１】
2015170009.tif 000012
【図１２】
2015170009.tif 000013
【図１３】
2015170009.tif 000014
【図１４】
2015170009.tif 000015
【図１５】
2015170009.tif 000016
【図１６】
2015170009.tif 000017
【図１７】
2015170009.tif 000018
【図１８】
2015170009.tif 000019
【図１９】
2015170009.tif 000020
【図２０】
2015170009.tif 000021
【図２１】
2015170009.tif 000022
【図２２】
2015170009.tif 000023
【図４】
2015170009.tif 000024
【手続補正書】
【提出日】平成27年2月20日(2015.2.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
【特許文献１】米国特許第７６９８６８６号明細書