JP2010108221A - データ処理装置、データ処理方法、およびプログラム - Google Patents

データ処理装置、データ処理方法、およびプログラム Download PDF

Info

Publication number
JP2010108221A
JP2010108221A JP2008279264A JP2008279264A JP2010108221A JP 2010108221 A JP2010108221 A JP 2010108221A JP 2008279264 A JP2008279264 A JP 2008279264A JP 2008279264 A JP2008279264 A JP 2008279264A JP 2010108221 A JP2010108221 A JP 2010108221A
Authority
JP
Japan
Prior art keywords
unit
arrangement
program
data processing
definition file
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
JP2008279264A
Other languages
English (en)
Inventor
Ryo Kihara
亮 木原
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2008279264A priority Critical patent/JP2010108221A/ja
Publication of JP2010108221A publication Critical patent/JP2010108221A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】システムの挙動を容易に把握し、第三者が成果物を素早く確認することができるデータ処理装置、データ処理方法、およびプログラムを提供する。
【解決手段】モデリング装置(10)は、ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行う処理部(25)と、オブジェクトの取り得る状態が定義された定義ファイルを格納する記憶部(30)と、記憶部の定義ファイルに基づいて、少なくとも、処理部によって処理される図のオブジェクトに対応した配置物に色を割り当てる割当部(22)と、割当部によって割り当てられた色の配置物を含む図を表示する表示部(50)とを有する。
【選択図】図1

Description

本発明は、UML(Unified Modeling Language)標準に準拠したシーケンス図等を用いてモデリングを行うことができるデータ処理装置、データ処理方法、およびプログラムに関するものである。
UML標準に準拠したオブジェクト指向プログラミングによるソフトウェア開発が盛んに行われている。ソフトウェア開発に加え、説明用の資料作成、デバッキング等を容易とするため、UML標準の定める複数のモデル図からソースコードを作成可能な技術が開示されている(特許文献1参照)。
特開2004−70810号公報
特許文献1が開示する技術は、小規模または中規模程度のシステム開発には効果的であるが、巨視的な視点でシステムの挙動を把握しづらく、大規模のシステム開発では、第三者が成果物を素早く確認することが困難である。なお、成果物とは、ソフトウェア開発の結果をいう。
本発明は、システムの挙動を容易に把握し、第三者が成果物を素早く確認することができるデータ処理装置、データ処理方法、およびプログラムを提供することにある。
本発明のデータ処理装置は、ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行う処理部と、オブジェクトの取り得る状態が定義された定義ファイルを格納する記憶部と、前記記憶部の前記定義ファイルに基づいて、少なくとも、前記処理部によって処理される前記図の前記オブジェクトに対応した配置物に色を割り当てる割当部と、前記割当部によって割り当てられた色の配置物を含む前記図を表示する表示部とを有する。
好適には、前記複数のオブジェクトは、所定数のオブジェクトによってグループ化され、前記割当部は、前記グループ化された前記オブジェクトに対応した配置物に色を割り当てる。
好適には、前記図は、シーケンス図を含み、前記割当部は、前記パラメータの前記処理部の処理による時間変化に応じて、前記オブジェクトに対応した配置物の色を変更する。
好適には、前記表示部に表示される前記シーケンス図の各配置物に対して深度を設定する深度設定部を有する。
好適には、前記シーケンス図の各配置物を前記表示部に3次元的に表示させる可視化部を有する。
本発明のデータ処理方法は、ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行うデータ処理方法であって、オブジェクトの取り得る状態が定義された定義ファイルを格納する第1のステップと、前記第1のステップにおける前記定義ファイルに基づいて、少なくとも、前記図の前記オブジェクトに対応した配置物に色を割り当てる第2のステップと、前記第2のステップによって割り当てられた色の配置物を含む前記図を表示する第3のステップとを有する。
本発明のプログラムは、ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行うプログラムであって、オブジェクトの取り得る状態が定義された定義ファイルを格納する第1の処理と、前記第1の処理における前記定義ファイルに基づいて、少なくとも、前記図の前記オブジェクトに対応した配置物に色を割り当てる第2の処理と、前記第2の処理によって割り当てられた色の配置物を含む前記図を表示する第3の処理とをコンピュータに実行させる。
本発明によれば、システムの挙動を容易に把握し、第三者が成果物を素早く確認することができる。
以下、本発明の実施形態を図面に関連付けて説明する。
図1は、本発明の実施形態に係るデータ処理装置としてのモデリング装置の構成例を示す概略ブロック図である。
図1に図示するモデリング装置10は、CPU20、記憶部30、操作部40、および表示部50を有する。
モデリング装置10は、ソースコードを解析し、シーケンス図やクラス図等を作成することで、開発されたソフトウェアの分析が可能な装置である。モデリング装置10は、UML標準に準拠したオブジェクト指向プログラミングにより、ソフトウェア開発を行うことも可能である。モデリング装置10には、オブジェクト指向プログラミング言語として、例えば、Java(登録商標)、C、C++を採用することができる。
CPU20は、操作部40から入力されたユーザの指示に基づいて、モデリングに関する処理を行う。CPU20は、ユーザによって記述されたシーケンス図をプログラム言語に準拠したソースコードに変換する。そして、CPU20は、ソースコードをコンパイルして、プログラムを実行する。この他、CPU20は、記憶部30とのアクセスの調停、表示部50の表示制御等、モデリング装置10全般の制御を行う。CPU20の詳細については、後述する。
記憶部30は、ランダムアクセス可能なメモリやハードディスクによって構成されている。記憶部30には、シーケンス図の作成時に使用する定義ファイル31、オペレーティングシステム、Java(登録商標)等のプログラム、コンパイラなどが格納されている。記憶部30には、プログラムの処理過程で生じる一時的なデータ等も格納される。
操作部40は、たとえば、キーボードやマウス等の入力デバイスによって構成されている。操作部40は、ユーザによる操作を操作に応じた信号に変換して、この信号をCPUに出力する。
表示部50は、たとえば、液晶ディスプレイによって構成されている。表示部50は、CPU20から入力された映像信号に基づいた種々の情報を表示する。
ここで、分析の結果として表示に利用されるシーケンス図について説明する。
図2は、本発明の実施形態に係るシーケンス図について説明するための図である。
図2に図示するシーケンス図60は、オブジェクト61、生命線62、活性化区間63、メッセージ64によって構成されている。この他、シーケンス図60には、停止記号(不図示)等も含まれる。本実施形態では、シーケンス図の各構成要素を単にアイテム(配置物)ともいう。
なお、オブジェクトとは、データを扱うための関数(メソッド)を一つのクラスをインスタンス化したものである。クラスとは、オブジェクト指向プログラミングにおいて、データとその操作手順であるメソッドを纏めてオブジェクトのひな形を定義したものである。
シーケンス図60は、システム内でコラボレーションを行うオブジェクトグループ間の相互作用をアイテムを用いて視覚的に表現したものである。図2に図示するように、シーケンス図60は、ウインドウ51上に配置されたアイテムによって記述される。
一般的なシーケンス図は、X−Y平面の2次元で表示される。これに対し、モデリング装置10では、シーケンス図60が、X−Y−Z面の3次元で表示される。これにより、オブジェクト61を対象とするアイテム等から離れた位置に配置する必要がなくなる。これに加え、視点の移動により、ミクロ的にもマクロ的にもシステムの挙動を把握することができる。特に、不具合周辺部でのシステムの挙動に注目することができる。
本実施形態では、各階層のレベルを「深度」と表現する。深度は、オブジェクト61の表示または非表示を判断するための尺度として使用される。一定の深度以上のオブジェクト61を非表示とすることで、マクロ的なシステムの把握の際に、重要性のある情報のみを把握し、繁雑さを軽減することができる。本実施形態では、深度4以上のオブジェクト61が非表示となるように設定されている。これにより、図2には、深度1から深度3までのオブジェクト61が表示されている。図2の破線領域Cに図示する深度4のオブジェクト61は、非表示であることを示している。
シーケンス図の作成時には、モデリング装置10によって、シーケンス図60が自動的に生成される。これらの処理は、実行時のログと状態定義ファイルとを参照して行われる。そして、ユーザは、この生成されたシーケンス図60を見やすいように、視点を3次元座標で設定する。
モデリング装置10では、内部パラメータに対応して定義された状態毎に、全てのオブジェクト61に対して事前に決定した色を割り当てることができる。この状態とは、パラメータに格納される値、インスタンスの有無、インスタンス化されるサブクラスの種類、オブジェクト61が含む任意のオブジェクトインスタンスの数等を指す。この状態は、ユーザによって定義され、定義ファイル31に書き込まれる。
図2の例では、深度1のオブジェクト61には緑色が割り当てられ、深度2のオブジェクト61にはピンク色が割り当てられる。
シーケンス図60に基づいたプログラムが実行されると、各オブジェクト61は、クラスが内包するパラメータによって、状態が時間と共に動的に変化する。一般的なシーケンス図は、上述した状態の定義がないため、プログラム内部の変動状況が把握しづらい。
これに対し、本実施形態のシーケンス図60では、オブジェクト61に色が割り当てられたため、時間の推移と共に変化するプログラム全体の内部の変動状況を容易に把握することができる。
プログラムの処理が進行するにつれて、オブジェクト61の活性化区間63の状態も時間と共に変化する。図2に図示する破線領域Aの活性化区間63では、状態が変化する状態変化点にて、この活性化区間63の色が定義ファイル31の定義よりに割り当てられた色(たとえば緑)に変化する。
オブジェクト61に対する色の割当は、複数のオブジェクト61を一纏めとしてグループ化し、グループ単位で色を割り当てることもできる。これにより、図2に図示する破線領域Bの活性化区間63では、深度1のオブジェクト61に連動し、深度3のオブジェクト61の色が割り当てられた色に変化する。
無論、ライブラリの用途に応じて、グループ化されたオブジェクト61に対して深度を個別に割り当てることもできる。
本実施形態では、図2の破線領域Dに図示するように、メソッドに対して設定された深度とオブジェクトとに対し、この深度の合計が規定値以上となった場合には、メソッドを非表示にすることができる。この規定値は好適に設定することができる。
図1に図示するCPU20は、次のように構成されている。具体的には、図1に図示するように、CPU20は、状態取得部21、割当部22、深度設定部23、可視化部24、および処理部25を有する。
状態取得部21は、オブジェクトメソッド、シーケンス図60の状態変化の表示に関連したオブジェクト61の種類、その数およびその状態を取得する。状態取得部21は、予め用意された任意の区間、任意のシーケンスでの実行時ログを分析し、その区間でオブジェクト61の生成数、タイミング等をデータベース化する。これらの状態取得部21による処理は、実行時ログとソースコードの分析プロセス中に行われる。
割当部22は、記憶部30の定義ファイル31を参照し、定義ファイル31に基づいてオブジェクト61に色を割り当てる。割当部22は、ユーザによってグループ化されたオブジェクト61毎に色を割り当てることもできる。
深度設定部23は、一定の深度以上のオブジェクト61を非表示とする。
可視化部24は、3次元のシーケンス図60を表示部50に表示させる。可視化部24は、シーケンス図60における描画領域の生成およびその初期化を行う。
コラボレーション図もシーケンス図と同様に、割当部22によってオブジェクトに色が割り当てられる。可視化部24は、このコラボレーション図を表示部50に表示させ、この描画領域の生成およびその初期化を行う。なお、コラボレーション図は、オブジェクト61間の繋がりを表したものである。可視化部24は、記憶部30の定義ファイル31の設定を参照し、たとえば、深度4以上のオブジェクト61等のアイテムを非表示にすることもできる。
処理部25は、ソースコードを実行する。
モデリング装置10の動作を図3に関連付けて説明する。
図3は、本発明の実施形態に係るモデリング装置の動作例を示すフローチャートである。
以下の説明では、モデリング装置10は、予めシーケンスを任意のパラメータ、任意の区間で実行したときの実行時ログを有し、同一のシーケンスを実行するものとする。
初期設定として、記憶部30の定義ファイル31には、シーケンス図60に配置すべき全てのオブジェクト61に対して、パラメータに対応した状態毎に色が割り当てられる旨の定義がされている。
更に、この定義ファイル31には、一定以上の深度(たとえば深度4)のアイテムを非表示にするための設定が定義されている。その後、シーケンス図60に基づいたプログラムが実行され、ユーザによるプログラムの動作確認が開始される。
なお、以下の処理において、可視化部24は、シーケンス図60を3次元で表示部50に表示させるものとする。初めに、状態取得部21は、表示するクラスメソッドを把握する(ステップST1)。
そして、ユーザが、ウインドウ上のカーソルを操作し、シーケンス図60の表示させたい開始点までの処理を実行する指示をCPU20に与えるものとする。処理部25は、この指示を受けて、前述のシーケンス図60の開始点までの処理を実行する(ステップST2)。
その後、可視化部24は、コラボレーション図の描画領域を生成し、この描画領域を初期化する(ステップST3)。状態取得部21は、シーケンス図60に生成されているオブジェクト61の種類、その数およびその状態を取得する(ステップST4)。
可視化部24は、現状で生成されたオブジェクト61に対し、コラボレーション図を生成し、これを表示部50に表示させる(ステップST5)。このときのオブジェクト61等の配置のX座標、Y座標は、可視化部24によるシーケンス図60の3次元表示に使用される。なお、各アイテムの配置は、好適に変更することができる。
次に、可視化部24は、シーケンス図の描画領域を生成し、この描画領域を初期化する(ステップST6)。ただし、可視化部24は、この初期化の際には、現時点でのシーケンス図60における実行状態の表示も初期化する。
この初期化後、ユーザは、所望する任意の単位量だけ処理を実行する指示をCPU20に与えるものとする。処理部25は、この指示を受けて、任意の単位量だけ、これを処理する(ステップST7)。そして、状態取得部21は、シーケンス図60に生成されているオブジェクト61の種類、その数およびその状態を取得する(ステップST8)。
その後、状態取得部21は、シーケンス図60に生成されているオブジェクトの数が増加したか否かを判別する(ステップST9)。
ステップST9において、オブジェクト61の数が増加していない場合には(NO)、深度設定部23は、シーケンス図60のZ方向に一層追記する(ステップST10)。これにより、アイテムが3次元的に、シーケンスの続きが描画される。このとき、可視化部24が、記憶部30の定義ファイル31の設定を参照し、たとえば、深度4以上のオブジェクト61等のアイテムを非表示にすることもできる。
CPU20は、ユーザからの入力を受け付け(ステップST11)、ステップST7の処理が任意の終了点であれば、一連の処理が終了する(ステップST12)。
一方、ステップST9において、オブジェクト61の数が増加した場合には(YES)、コラボレーション図にオブジェクトが追記され(ステップST13)、割当部22は、記憶部30の定義ファイル31を参照し、定義ファイル31に基づいてオブジェクト61に色を割り当てる。なお、追加されるアイテムの一も好適に設定可能である。
このとき、ユーザによってグループ化されたオブジェクト61毎に色を割り当てることもできる。そして、可視化部24は、シーケンス図60を再描画する(ステップST14)。その後、ステップST10の処理が実行される。
以上説明したように、本実施形態によれば、シーケンス図のオブジェクトに色が割り当てられるため、システムの挙動を容易に把握し、成果物を素早く把握することができる。シーケンス図が3次元で表示されるため、オブジェクトを対象とするアイテムから離れた位置に配置する必要がなくなるだけではなく、視点の移動により、ミクロ的にもマクロ的にもシステムの挙動を把握することができる。オブジェクト61等をグループ化することができるため、定義される状態の数を削減することができる。
以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU20等のコンピュータで実行するように構成することも可能である。このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし、上記プログラムを実行するように構成可能である。
なお、CPU20の各構成要素は、CPU20の行う処理を説明するためのものに過ぎない。上述した各ステップ(ST1〜ST14)の処理は、ソフトウェア的に処理されるが、その一部あるいは全てをハードウェア的に処理することもできる。
本発明の実施形態に係るデータ処理装置としてのモデリング装置の構成例を示す概略ブロック図である。 本発明の実施形態に係るシーケンス図ついて説明するための図である。 本発明の実施形態に係るモデリング装置の動作例を示すフローチャートである。
符号の説明
10…モデリング装置、20…CPU、21…状態取得部、22…割当部、23…深度設定部、24…可視化部、25…処理部、30…記憶部、31…定義ファイル、40…操作部、50…表示部、51…ウインドウ、61…オブジェクト、62…生命線、63…活性化区間、64…メッセージ

Claims (7)

  1. ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行う処理部と、
    オブジェクトの取り得る状態が定義された定義ファイルを格納する記憶部と、
    前記記憶部の前記定義ファイルに基づいて、少なくとも、前記処理部によって処理される前記図の前記オブジェクトに対応した配置物に色を割り当てる割当部と、
    前記割当部によって割り当てられた色の配置物を含む前記図を表示する表示部と
    を有するデータ処理装置。
  2. 前記複数のオブジェクトは、所定数のオブジェクトによってグループ化され、
    前記割当部は、前記グループ化された前記オブジェクトに対応した配置物に色を割り当てる
    請求項1記載のデータ処理装置。
  3. 前記図は、シーケンス図を含み、
    前記割当部は、前記パラメータの前記処理部の処理による時間変化に応じて、前記オブジェクトに対応した配置物の色を変更する
    請求項1または2記載のデータ処理装置。
  4. 前記表示部に表示される前記シーケンス図の各配置物に対して深度を設定する深度設定部を有する
    請求項3に記載のデータ処理装置。
  5. 前記シーケンス図の各配置物を前記表示部に3次元的に表示させる可視化部を有する
    請求項3または4記載のデータ処理装置。
  6. ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行うデータ処理方法であって、
    オブジェクトの取り得る状態が定義された定義ファイルを格納する第1のステップと、
    前記第1のステップにおける前記定義ファイルに基づいて、少なくとも、前記図の前記オブジェクトに対応した配置物に色を割り当てる第2のステップと、
    前記第2のステップによって割り当てられた色の配置物を含む前記図を表示する第3のステップと
    を有するデータ処理方法。
  7. ソースコードを基に、プログラムの動作が複数の配置物の配置によって示される図に関する処理を行うプログラムであって、
    オブジェクトの取り得る状態が定義された定義ファイルを格納する第1の処理と、
    前記第1の処理における前記定義ファイルに基づいて、少なくとも、前記図の前記オブジェクトに対応した配置物に色を割り当てる第2の処理と、
    前記第2の処理によって割り当てられた色の配置物を含む前記図を表示する第3の処理と
    をコンピュータに実行させるプログラム。
JP2008279264A 2008-10-30 2008-10-30 データ処理装置、データ処理方法、およびプログラム Pending JP2010108221A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008279264A JP2010108221A (ja) 2008-10-30 2008-10-30 データ処理装置、データ処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008279264A JP2010108221A (ja) 2008-10-30 2008-10-30 データ処理装置、データ処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2010108221A true JP2010108221A (ja) 2010-05-13

Family

ID=42297618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008279264A Pending JP2010108221A (ja) 2008-10-30 2008-10-30 データ処理装置、データ処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2010108221A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101916765B1 (ko) * 2018-02-27 2018-11-09 주식회사 쓰리디타다 3d 모델링 장치 및 3d 모델링 작업을 실행하기 위한 프로그램을 기록한 매체
JP2021180020A (ja) * 2016-10-11 2021-11-18 グリーン ヒルズ ソフトウェア,インコーポレイテッド トレースデータの要約及び視覚化のためのシステム及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021180020A (ja) * 2016-10-11 2021-11-18 グリーン ヒルズ ソフトウェア,インコーポレイテッド トレースデータの要約及び視覚化のためのシステム及び方法
JP2022043324A (ja) * 2016-10-11 2022-03-15 グリーン ヒルズ ソフトウェア,インコーポレイテッド トレースデータの要約及び視覚化のためのシステム及び方法
JP7051269B2 (ja) 2016-10-11 2022-04-11 グリーン ヒルズ ソフトウェア,インコーポレイテッド トレースデータの要約及び視覚化のためのシステム及び方法
JP7336545B2 (ja) 2016-10-11 2023-08-31 グリーン ヒルズ ソフトウェア,インコーポレイテッド トレースデータの要約及び視覚化のためのシステム及び方法
KR101916765B1 (ko) * 2018-02-27 2018-11-09 주식회사 쓰리디타다 3d 모델링 장치 및 3d 모델링 작업을 실행하기 위한 프로그램을 기록한 매체

Similar Documents

Publication Publication Date Title
CN106462488B (zh) 调试期间的性能优化提示呈现
CN103999128B (zh) 具有命令处理器的图形处理单元
US8990777B2 (en) Interactive graph for navigating and monitoring execution of application code
US8203558B2 (en) Dynamic shader generation
EP1884899A2 (en) Efficient processing of operator graphs representing three-dimensional character animation
CN1713192A (zh) 处理逻辑建模与执行方法和设备
JP2018509686A (ja) インクストロークの編集および操作
Karran et al. Synctrace: Visual thread-interplay analysis
JP2008547128A5 (ja)
CN1755647A (zh) 测试自动化的堆栈分层
EP3338179A1 (en) Graphical representation of data in a program code editor
CN109766196A (zh) 一种任务调度方法、装置及设备
CN103577172A (zh) 一种图形处理引擎***
Jalilova et al. Development and analysis of logical scenario design invirtual reality laboratories for higher education institutions
JP2010108221A (ja) データ処理装置、データ処理方法、およびプログラム
Rohman et al. Innovations in Interior Room Design using Markerless Augmented Reality Mobile-based Simultaneous Localization and Mapping Algorithm
TWI694377B (zh) 行動原生應用程式開發平台
Silva et al. A review of milestones in the history of GUI prototyping tools
JP2013196708A (ja) 制御装置プログラムの開発装置と作成方法
US20130342549A1 (en) Apparatus and method for processing rendering data
JP2012150716A (ja) コンピュータの動作制御方法、プログラム及びシステム
KR20140077115A (ko) 3d 에서의 객체 그룹들의 정의
JP2011165051A (ja) 開発支援装置及び方法並びにプログラム
JP2009266196A (ja) ファイナルフレームワーク
von Suchodoletz A future emulation and automation research agenda