JP2013097616A - User operation log recording method and device thereof - Google Patents

User operation log recording method and device thereof Download PDF

Info

Publication number
JP2013097616A
JP2013097616A JP2011240554A JP2011240554A JP2013097616A JP 2013097616 A JP2013097616 A JP 2013097616A JP 2011240554 A JP2011240554 A JP 2011240554A JP 2011240554 A JP2011240554 A JP 2011240554A JP 2013097616 A JP2013097616 A JP 2013097616A
Authority
JP
Japan
Prior art keywords
gui
log
window
event
state
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.)
Granted
Application number
JP2011240554A
Other languages
Japanese (ja)
Other versions
JP5382743B2 (en
Inventor
Hajime Nakajima
中島  一
Takeshi Masuda
健 増田
Ikuya Takahashi
郁也 高橋
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011240554A priority Critical patent/JP5382743B2/en
Publication of JP2013097616A publication Critical patent/JP2013097616A/en
Application granted granted Critical
Publication of JP5382743B2 publication Critical patent/JP5382743B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To quickly acquire an acquisition frequency of a state of a GUI to record contents of high reproducibility of the state of the GUI into a log.SOLUTION: A direct access function is used to acquire the present state of a GUI as an initial state and outputs it to a storage device as a log to record it (S31), a listener for detecting a GUI state change event or a window extinction event in windows other than the forefront window by an event detection function is set (S32), the direct access function is used to output and record the state of the GUI in the forefront window to and in the storage device as a log (S34 and S35) if designation of acquisition timing is satisfied before input of an instruction to terminate log recording (S33 and S38), and further, it is examined whether the event has been detected by the event detection function or not, and event information of the event is outputted to the storage device and is recorded (S36 and S37).

Description

本発明は、グラフィカルユーザインタフェースに対するユーザ操作のログを記録する技術に関する。   The present invention relates to a technique for recording a user operation log for a graphical user interface.

コンピュータ上で動作するアプリケーションプログラム(以下、アプリケーション)などのソフトウェアによって実現される、企業における業務システム等の情報処理システム向けのソリューションとして、近年、ユーザ操作のログ(記録)を活用した技術が数多く提案されている。これらは、情報処理システムを構成するコンピュータの端末装置(以下、情報システム端末)におけるユーザの操作を記録・蓄積し、セキュリティ違反となる操作が行われていないことの監視を実現したり、操作のボトルネックを分析することにより業務の効率化を達成する用途に用いられている。   In recent years, a number of technologies that utilize user operation logs have been proposed as solutions for information processing systems such as business systems in companies that are realized by software such as application programs (hereinafter referred to as applications) that run on computers. Has been. These records and accumulates user operations in the computer terminal devices (hereinafter referred to as information system terminals) constituting the information processing system, and realizes that operations that violate security are not performed, It is used for applications that achieve business efficiency by analyzing bottlenecks.

前述した情報処理システムの多くは、ユーザビリティ向上のためのユーザインタフェースとして、グラフィカルユーザインタフェース(以下、GUI)を採用している。従って、前記のユーザ操作のログを活用した技術においても、GUIに対するユーザ操作を記録・蓄積することが必要となる。   Many of the information processing systems described above employ a graphical user interface (hereinafter, GUI) as a user interface for improving usability. Therefore, it is necessary to record and store user operations on the GUI even in the technique using the user operation log.

GUIに対するユーザ操作は、主にマウスの操作やキーボードへの入力であり、情報システム端末のオペレーティングシステム(以下、OS)のイベントとして、発生時刻などの情報とともに検出することができる。また、GUIの状態に関してもOSのイベントとして、ウインドウのオープンやクローズの発生を、アプリケーションのプロセス名、イベントの発生時刻などの情報とともに検出することが可能である。   User operations on the GUI are mainly mouse operations and keyboard inputs, and can be detected as events of the operating system (hereinafter referred to as OS) of the information system terminal together with information such as the occurrence time. In addition, regarding the GUI state, it is possible to detect the occurrence of the opening or closing of a window as information about the process name of the application, the occurrence time of the event, etc. as an OS event.

前記のユーザ操作のログを活用した技術の多くは、OSが一般的に具備するイベントをログとして記録・蓄積するものとなっている。セキュリティ目的で、ユーザ操作とそのアプリケーションのウインドウの起動を把握するなどの単純な分析を行う場合、ログに記録する内容としては十分と考えられる。しかし、ユーザが業務の中で、ウインドウ内のどのようなGUI部品に対してどのような操作を行い、結果としてウインドウ内の表示がどのように変化したかを正確に把握するためには、記録する情報が不十分である。   Many of the techniques using the user operation log record and store events generally included in the OS as a log. For security purposes, when performing simple analysis such as grasping user operations and window activation of the application, it is considered that the contents to be recorded in the log are sufficient. However, in order for the user to know exactly what GUI component in the window he / she did during his work, and how the display in the window changed as a result, he / she needs to record Insufficient information

セキュリティや業務分析においては、ユーザ操作時の状況(コンテキスト)を把握することが分析の精度を向上させる上で重要である。例えば、分析の観点として、アプリケーションのウインドウに表示されているデータの初期化ボタンを押下する操作を、ログから違反操作として検出する場合を考える。しかし、実際にはこのような操作すべてが違反操作というわけではない。トラブルが発生し、どうしてもデータを初期化する必要があったのかもしれないし、管理者が必要に応じて実施した操作かもしれない。本当に違反操作であるかの判断は、データの初期化ボタンを押した時、あるいはそれ以前のアプリケーションのウインドウ内のGUI部品の表示状態を精密に調査し、ユーザ操作のコンテキストを把握する必要がある。   In security and business analysis, grasping the situation (context) at the time of user operation is important for improving the accuracy of analysis. For example, as an analysis viewpoint, consider a case where an operation of pressing the initialization button for data displayed in an application window is detected as a violation operation from a log. However, not all such operations are actually illegal operations. A trouble may have occurred, and it may have been necessary to initialize the data, or an operation performed by the administrator as needed. To determine whether or not the operation is actually violated, it is necessary to investigate the display state of the GUI component in the application window before or when the data initialization button is pressed or to grasp the context of the user operation. .

このようにユーザ操作の内容や意図を正確に把握するためには、マウスの操作やキーボードへの入力、アプリケーションのウインドウの開閉に関するイベントだけでなく、ウインドウ内のGUI部品の表示状態をログに記録する必要がある。   In this way, in order to accurately grasp the contents and intentions of user operations, not only events related to mouse operations, keyboard input, and application window opening / closing, but also the display status of GUI components in windows are recorded in a log. There is a need to.

[従来技術]
アプリケーションのウインドウ内のGUI部品の表示状態をログとして記録する方法としては、大きく分けて2つの方法がある。
[Conventional technology]
There are roughly two methods for recording the display state of the GUI component in the application window as a log.

1つ目の方法は、ログを取得する情報システム端末、あるいはアプリケーションに、ウインドウ内のGUI部品の表示状態を出力する専用のソフトウェア(プラグイン)を組み込む方法である。この方法は、プラグインが適用可能であれば確実にGUI部品の表示状態の情報を取得できるものの、情報システム端末やアプリケーションによっては、そもそもプラグインをインストールできないものも存在するため、汎用性に乏しいという問題がある(非特許文献1参照)。   The first method is a method of incorporating dedicated software (plug-in) for outputting the display state of the GUI component in the window into an information system terminal or application for acquiring a log. Although this method can reliably acquire information on the display state of GUI parts if a plug-in is applicable, it is not very versatile because some information system terminals and applications cannot be installed in the first place. (See Non-Patent Document 1).

2つ目の方法は、情報システム端末における表示装置の画面や動画を記録し、ウインドウ内の表示状態を識別する方法である。この方法は、ウインドウ内のGUI部品の表示状態を識別する技術の精度によって結果が左右されるという問題があるが、表示装置の画面や動画は情報システム端末やアプリケーションによらず取得できるため、汎用性の高い手法といえる(非特許文献2参照)。   The second method is a method of recording the screen or moving image of the display device in the information system terminal and identifying the display state in the window. This method has a problem that the result depends on the accuracy of the technology for identifying the display state of the GUI component in the window. However, since the screen and video of the display device can be acquired regardless of the information system terminal or application, It can be said that this is a highly efficient technique (see Non-Patent Document 2).

特に前者の方法では、近年、UIオートメーション(非特許文献3参照)やJava(登録商標) Accessibility API(非特許文献4参照)などのGUIアクセシビリティ技術が進歩し、.NETやJava(登録商標)、Webをベースとしたアプリケーションにおいて、ある程度、汎用的にウインドウ内のGUI部品の表示状態を出力することが可能になっている。また、GUIを有するアプリケーションに関してアクセシビリティ技術の標準化(非特許文献5参照)が進んでおり、将来的には、このようなGUIアクセシビリティ技術が適用可能なアプリケーションが増えることが想定される。このように前者の方法の場合、汎用性についても改善が進んでいる。   In particular, in the former method, GUI accessibility technologies such as UI automation (see non-patent document 3) and Java (registered trademark) Accessibility API (see non-patent document 4) have recently advanced, and .NET, Java (registered trademark), In a Web-based application, it is possible to output the display state of the GUI component in the window in a general purpose to some extent. In addition, standardization of accessibility technology (see Non-Patent Document 5) is progressing with respect to applications having a GUI, and it is assumed that applications to which such GUI accessibility technology can be applied will increase in the future. Thus, in the case of the former method, the versatility is also improving.

GUIアクセシビリティ技術の多くは、ログ取得プログラムからアプリケーションに直接アクセスし、ウインドウ内のGUI部品の表示状態を取得する機能(以降、「直接アクセス機能」と呼ぶ。)と、ログ取得プログラムがリスナ(何らかのイベントの発生を検出し、それを通知する機能を備えたプログラム)を設定し、ウインドウ内のGUI部品の表示状態の変更をイベントとして検出する機能(以降、「イベント検出機能」と呼ぶ。)との2つを具備しているのが一般的である。   Many of GUI accessibility technologies directly access an application from a log acquisition program and acquire the display state of a GUI component in a window (hereinafter referred to as “direct access function”), and a log acquisition program is a listener (for some event). 2) a function (hereinafter referred to as an “event detection function”) that detects a change in the display state of a GUI component in the window as an event. It is common to have one.

これ以降では、ソフトウェアが表示装置の画面上に表示するウインドウの表示状態および当該ウインドウ内のGUI部品の表示状態のことを、単に「GUIの状態」と呼ぶことにする。   Hereinafter, the display state of the window displayed on the screen of the display device by the software and the display state of the GUI component in the window are simply referred to as “GUI state”.

ところで、ユーザ操作のログを取得する場合は、情報システム端末でアプリケーションを起動し、そのバックグラウンドでログ取得プログラムを動作させなければならない。よって、ログ取得プログラムには、アプリケーションと並行で動作させても、ユーザ操作に対するアプリケーションの応答を悪化させないことが求められる。しかし、マウスの操作やキーボードへの入力だけでなく、アプリケーションのGUIの状態までログに記録する場合、記録する情報が膨大になる。それに伴い、ログ取得プログラムの処理時間も長くなり、アプリケーションの応答に影響を与える場合がある。   By the way, when acquiring a log of a user operation, an application must be started on an information system terminal and a log acquisition program must be operated in the background. Therefore, the log acquisition program is required not to deteriorate the response of the application to the user operation even if it is operated in parallel with the application. However, when recording not only the operation of the mouse and the input to the keyboard but also the state of the GUI of the application, the information to be recorded becomes enormous. As a result, the processing time of the log acquisition program becomes longer, which may affect the response of the application.

この問題に対しては、例えば、アプリケーションから検出して記録する情報を分析に必要なものだけに制限し、GUIの状態の取得処理時間を短縮する方法や、直接アクセス機能を利用したGUIの状態の取得頻度を下げるといった対応が考えられる。あるいは、イベント検出機能を用いて、以前のGUIの状態から変更された差分のみを検出して記録するなどの方法もある。これらの方法は、ユーザ操作に対するアプリケーションの応答性能を改善する意味においては有効な方法ではあるが、その反面、ユーザ操作に対するアプリケーションのGUIの状態をログから再現するという点においては、品質が低下する。   To solve this problem, for example, the information to be detected and recorded from the application is limited to the information necessary for analysis, and the GUI state acquisition processing time can be shortened by using a method for reducing the GUI state acquisition processing time. A possible countermeasure is to reduce the acquisition frequency. Alternatively, there is a method of detecting and recording only the difference changed from the previous GUI state using the event detection function. These methods are effective in terms of improving the response performance of the application to the user operation, but on the other hand, the quality is lowered in that the GUI state of the application to the user operation is reproduced from the log. .

また、アプリケーションから検出して記録する情報を制限すれば、関心のない情報については操作状況の再現が不可能になる。ログに記録していない情報については、あとから分析することが不可能であるため、この方法を採用する場合、関心のある情報が事前に明確になっている必要がある。しかし、ログの分析では、往々にして分析の過程で、興味のある情報が変化することがあり、事前に関心のある情報を明確にするのは困難である。   Further, if information to be detected and recorded from an application is limited, it is impossible to reproduce the operation status for information that is not of interest. Information that is not recorded in the log cannot be analyzed later. Therefore, when this method is adopted, it is necessary to clarify information of interest in advance. However, in log analysis, the information of interest often changes during the analysis process, and it is difficult to clarify the information of interest in advance.

直接アクセス機能を利用したGUIの状態の取得頻度を下げると、状態を取得したあるタイミングから、次に状態を取得するタイミングまでの間の細かいGUIの状態の遷移については再現が不可能となる。   If the acquisition frequency of the GUI state using the direct access function is lowered, it is impossible to reproduce a detailed transition of the GUI state from a certain timing at which the state is acquired to a next timing at which the state is acquired.

また、イベント検出機能を用いて、以前のGUIの状態から変更された差分のみを検出する場合は、確かにGUIの状態の遷移を細かく再現することができる。しかし、その一方で、アプリケーションや情報の種類によっては、変更されたことをイベントとして検出できない場合が存在する。例えば、一般的にGUIの変更により大量のイベントが発生し、イベントキューでオーバーフローを起こした場合、それらのイベントはログ取得プログラムに通知されず、廃棄されてしまう。従って、この方法の場合、ログを取得する時間の経過とともに、アプリケーションのGUIの状態とログに記録されたGUIの状態とが不一致になる確率が高くなり、かつ不一致の度合いも大きくなるという問題がある。   Further, when only the difference changed from the previous GUI state is detected by using the event detection function, the transition of the GUI state can surely be reproduced in detail. However, on the other hand, depending on the type of application or information, there may be a case where it cannot be detected as an event. For example, in general, when a large number of events occur due to a change in GUI and an overflow occurs in the event queue, these events are not notified to the log acquisition program and are discarded. Therefore, in this method, there is a problem that the probability that the state of the GUI of the application and the state of the GUI recorded in the log do not match increases as the time for acquiring the log increases, and the degree of mismatch increases. is there.

以上のことから、ログ取得プログラムにおいては、ユーザ操作に対する情報システム端末の応答性能、あるいはログ記録対象ソフトウェアの応答性能に応じてGUIの状態を高速に取得し、GUIの状態の再現性の高い内容をログに記録するという課題を解決する必要がある。   As described above, in the log acquisition program, the GUI state is acquired at high speed according to the response performance of the information system terminal to the user operation or the response performance of the log recording target software, and the content of the GUI state is highly reproducible. Needs to be solved.

本発明では、GUIの状態を高速に取得し、GUIの状態の再現性の高い内容をログに記録するという課題を解決するために、以下の特徴を有する。   The present invention has the following features in order to solve the problem of acquiring the GUI state at high speed and recording highly reproducible contents of the GUI state in a log.

本発明の第一の発明として、
任意のコンピュータ上で動作するログ記録対象ソフトウェアが当該任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの入力装置および表示装置を介して提供するGUIに対するユーザ操作のログとして、前記ログ記録対象ソフトウェアがGUIとして前記表示装置の画面上に表示するウインドウの表示状態および当該ウインドウ内のGUI部品の表示状態で表されるGUIの状態を、前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの記憶装置に記録する方法であって、
前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータが、
入力装置より入力された、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件、並びに直接アクセス機能を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定を記憶装置に登録する第1のステップと、
入力装置より入力されたログ記録開始の指示により、直接アクセス機能を用いて現在のGUIの状態を初期状態として取得し、ログとして記憶装置に出力して記録する第2のステップと、
イベント検出機能により最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベントを検出するリスナを設定する第3のステップとを具備するとともに、
第3のステップの後、入力装置よりログ記録終了の指示が入力されるまでの間繰り返される、
直接アクセス機能を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定に応じて、最前面ウインドウのGUIの状態をログとして記憶装置に出力して記録する第4のステップと、
イベント検出機能により最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウ消滅イベントが検出されているか調べ、そのイベント情報をログとして記憶装置に出力して記録する第5のステップとを具備する
ことを特徴とする。
As the first invention of the present invention,
Log of user operation for GUI provided by the log recording target software operating on an arbitrary computer via the input device and the display device of the arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path The log display target software displays a GUI display state as a GUI on the screen of the display device and a GUI state represented by the display state of the GUI component in the window. A method of recording in a storage device of another computer connected to a computer through an arbitrary communication path,
The arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path,
Registers in the storage device the conditions for specifying the GUI component or its attribute information to be excluded from the log acquisition target and the timing for acquiring the GUI status of the log recording target software using the direct access function. A first step to:
A second step of acquiring a current GUI state as an initial state using a direct access function in response to a log recording start instruction input from an input device, and outputting and recording the log to a storage device;
And a third step of setting a listener for detecting a GUI state change event other than the frontmost window or a window extinction event by an event detection function,
After the third step, the process is repeated until the log recording end instruction is input from the input device.
A fourth step of outputting and recording the GUI state of the foremost window as a log to the storage device in accordance with the designation of the timing for acquiring the GUI state of the log recording target software using the direct access function;
A fifth step of checking whether a change event of the GUI state other than the frontmost window or a window extinction event is detected by the event detection function, and outputting the event information to the storage device as a log and recording it. Features.

本発明の第二の発明として、
第一の発明における第4のステップにあっては、
タイムスタンプの情報とともに、直接アクセス機能を用いて、アプリケーションから直接、最前面ウインドウのGUIの状態を取得し、ウインドウまたはGUI部品をノードとし、包含関係をノード間の親子関係で表現し、さらに各ノードは属性情報を有する表現形式で出力し、入力されたログの取得対象から除外するGUI部品またはその属性情報を指定する条件と合致するノードまたはその属性情報を出力から除外する
ことを特徴とする。
As a second invention of the present invention,
In the fourth step in the first invention,
Along with the time stamp information, the direct access function is used to obtain the GUI state of the frontmost window directly from the application, the window or GUI component is a node, the inclusion relationship is expressed as a parent-child relationship between the nodes, and each node Is output in an expression format having attribute information, and excludes from the output nodes or attribute information that match a GUI component to be excluded from an input target of log input or a condition for specifying the attribute information.

本発明の第三の発明として、
第一の発明における第4のステップにあっては、
直接アクセス機能を用いてアプリケーションのGUIの状態を取得するタイミングの指定において、時刻指定、またはインターバル指定、またはユーザ操作の指定により、ログの出力・記録の頻度を変更可能とする
ことを特徴とする。
As a third invention of the present invention,
In the fourth step in the first invention,
In the specification of the timing for acquiring the application GUI status using the direct access function, the log output / recording frequency can be changed by specifying the time, the interval, or the user operation.

本発明の第四の発明として、
第一の発明における第5のステップにあっては、
イベント検出時のタイムスタンプの情報と、イベント検出機能により検出したイベントの最前面ウインドウ以外の属性情報の値の変更、または最前面ウインドウ以外のGUI部品の生成、またはウインドウもしくは最前面ウインドウ以外のGUI部品の消滅のイベントのいずれであるかを示すイベント種別の情報とともに、
最前面ウインドウ以外の属性情報の値の変更イベントであれば、変更対象と対応するGUIの状態の木構造表現におけるノードを特定する情報、変更対象である属性名およびその変更後の値を、
また、最前面ウインドウ以外のGUI部品の生成イベントであれば、生成対象と対応するGUIの状態の木構造表現におけるノードを特定する情報、生成対象の属性情報および親ノードを特定する情報を、
また、ウインドウもしくは最前面ウインドウ以外のGUI部品の消滅の変更イベントであれば、消滅対象と対応するGUIの状態の木構造表現におけるノードを特定する情報をそれぞれ出力する
ことを特徴とする。
As a fourth invention of the present invention,
In the fifth step of the first invention,
Time stamp information at the time of event detection, change of attribute information value other than the frontmost window of the event detected by the event detection function, generation of GUI parts other than the frontmost window, or GUI other than the window or frontmost window Along with information on the event type that indicates which of the parts disappeared,
If it is a change event of the value of attribute information other than the frontmost window, the information specifying the node in the tree structure representation of the GUI state corresponding to the change target, the attribute name to be changed and the value after the change,
Further, if it is a generation event of a GUI component other than the frontmost window, information for specifying a node in the tree structure representation of the GUI state corresponding to the generation target, attribute information for the generation target, and information for specifying the parent node,
Further, if the event is a change event of disappearance of a GUI component other than the window or the frontmost window, information specifying a node in the tree structure representation of the GUI state corresponding to the disappearance target is output.

本発明の第五の発明として、
任意のコンピュータ上で動作するログ記録対象ソフトウェアが当該任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの入力装置および表示装置を介して提供するGUIに対するユーザ操作のログとして、前記ログ記録対象ソフトウェアがGUIとして前記表示装置の画面上に表示するウインドウの表示状態および当該ウインドウ内のGUI部品の表示状態で表されるGUIの状態を、前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの記憶装置に記録する装置であって、
前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータ上に設けられた次の装置、即ち
入力装置と、
記憶装置と、
ログ記録対象ソフトウェアに直接アクセスしてGUIの状態もしくは最前面ウインドウのみのGUIの状態を取得する直接アクセス機能部と、
最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベントを検出するリスナを設定し、GUIの状態変更に伴って発生するこれらのイベントを検出するイベント検出機能部と、
入力装置より、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件、並びに直接アクセス機能部を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定が入力されると、これらを記憶装置に登録し、また、入力装置よりログ記録開始の指示が入力されると、直接アクセス機能部を用いて現在のGUIの状態を初期状態として取得し、ログとして記憶装置に出力して記録し、イベント検出機能部を用いて最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベントを検出するリスナを設定し、その後、入力装置よりログ記録終了の指示が入力されるまでの間、直接アクセス機能部を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定に応じて、最前面ウインドウのGUIの状態をログとして記憶装置に出力して記録し、さらに、イベント検出機能部により最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウ消滅イベントが検出されているか調べ、そのイベント情報をログとして記憶装置に出力して記録するログ取得制御部とを具備する
ことを特徴とする。
As a fifth invention of the present invention,
Log of user operation for GUI provided by the log recording target software operating on an arbitrary computer via the input device and the display device of the arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path The log display target software displays a GUI display state as a GUI on the screen of the display device and a GUI state represented by the display state of the GUI component in the window. A device for recording in a storage device of another computer connected to the computer through an arbitrary communication path,
The next device provided on the arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path, that is, an input device;
A storage device;
A direct access function unit for directly accessing the log recording target software and obtaining a GUI state or a GUI state of only the frontmost window;
An event detection function unit for setting a listener that detects a GUI state change event other than the frontmost window or a window disappearance event, and detects these events that occur in response to a GUI state change;
When the designation of the GUI component to be excluded from the log acquisition target or the attribute information thereof and the specification of the timing for acquiring the GUI status of the log recording target software using the direct access function unit are input from the input device Is registered in the storage device, and when an instruction to start log recording is input from the input device, the current GUI state is acquired as an initial state using the direct access function unit, and is output to the storage device as a log for recording. Then, a listener for detecting a GUI state change event other than the frontmost window or a window disappearance event is set using the event detection function unit, and thereafter, an instruction to end log recording is input from the input device. According to the specification of the timing for acquiring the GUI status of the log recording target software using the direct access function unit The GUI status of the frontmost window is output to the storage device as a log and recorded. Further, the event detection function unit checks whether a change event of the GUI status other than the frontmost window or a window disappearance event is detected. A log acquisition control unit that outputs and records information as a log to a storage device.

本発明によれば、GUIアクセシビリティ技術あるいはプラグインを用いて、ユーザ操作のログとしてGUIの状態を記録するとき、情報システム端末の性能やログ記録対象ソフトウェアの性能に応じて、ユーザ操作に対するソフトウェアの応答性能を損なわず、かつGUIの状態を詳細に再現可能な情報をログに記録することが可能になる。   According to the present invention, when the GUI state is recorded as a user operation log by using GUI accessibility technology or a plug-in, the software of the user operation according to the performance of the information system terminal or the log recording target software is recorded. It is possible to record information that can reproduce the GUI state in detail without impairing the response performance.

本発明の操作ログを記録する方法を実施する装置の実施の形態の一例を示す構成図である。It is a block diagram which shows an example of embodiment of the apparatus which implements the method of recording the operation log of this invention. 本発明における直接アクセス機能およびイベント検出機能の初期化手続きの処理フローである。It is a processing flow of the initialization procedure of the direct access function and event detection function in the present invention. 本発明におけるGUIの状態のログ記録手続きの処理フローである。It is a process flow of the log recording procedure of the state of GUI in this invention. アプリケーションにおけるGUIの状態とこれを木構造を用いて表現した例を示す説明図である。It is explanatory drawing which shows the example which expressed the state of the GUI in an application, and this using the tree structure. 木構造におけるノードが保持する属性情報の表現形式の例を示す説明図である。It is explanatory drawing which shows the example of the expression format of the attribute information which the node in a tree structure hold | maintains. ログの取得対象から除外するGUI部品またはその属性情報を指定する条件の例を示す説明図である。It is explanatory drawing which shows the example of the conditions which designate the GUI component excluded from the acquisition target of a log, or its attribute information. 変更イベント検出時のイベントの種類に応じたログの出力内容を示す説明図である。It is explanatory drawing which shows the output content of the log according to the kind of event at the time of a change event detection. 図4のGUIの状態を初期状態として取得した木構造表現を示す説明図である。FIG. 5 is an explanatory diagram showing a tree structure representation acquired with the GUI state of FIG. 4 as an initial state. ユーザ操作後のGUIの状態の例を示す説明図である。It is explanatory drawing which shows the example of the state of GUI after user operation. 図9のGUIの状態を取得した木構造表現を示す説明図である。It is explanatory drawing which shows the tree structure representation which acquired the state of GUI of FIG. 図4から図9へのGUIの状態の変更イベントの記録内容を示す説明図である。It is explanatory drawing which shows the recording content of the change event of the state of GUI from FIG. 4 to FIG. ユーザ操作後のGUIの状態の別の例を示す説明図である。It is explanatory drawing which shows another example of the state of GUI after user operation. 図12のGUIの状態を取得した木構造表現を示す説明図である。It is explanatory drawing which shows the tree structure expression which acquired the state of GUI of FIG. ユーザ操作後のGUIの状態のさらに別の例を示す説明図である。It is explanatory drawing which shows another example of the state of GUI after user operation. 図14のGUIの状態を取得した木構造表現を示す説明図である。It is explanatory drawing which shows the tree structure representation which acquired the state of GUI of FIG. 図12から図14へのGUIの状態の変更イベントの記録内容を示す説明図である。It is explanatory drawing which shows the recording content of the change event of the state of GUI from FIG. 12 to FIG.

図1は本発明のユーザ操作のログ記録方法を実施する装置の実施の形態の一例、ここでは周知のコンピュータ上に実現した例を示すもので、図中、1は入力装置、2は記憶装置、3は表示装置、4はコンピュータである。   FIG. 1 shows an example of an embodiment of an apparatus for carrying out a user operation log recording method of the present invention, here an example realized on a well-known computer. In the figure, 1 is an input device, 2 is a storage device 3 is a display device, and 4 is a computer.

入力装置1は、キーボード、マウス等からなり、ユーザがコンピュータ4に所定の情報、ここではログの取得対象から除外するGUI部品またはその属性情報を指定する条件、直接アクセス機能を用いてアプリケーション(ログ記録対象ソフトウェア)のGUIの状態を取得するタイミングの指定、並びにログ記録開始およびログ記録終了の指示を入力するためのものである。また、本来はログに記録するユーザ操作の種別の指定も入力する。これは、例えばマウスの操作であれば、クリック操作、ダブルクリック操作、ドラッグ操作、押下したマウスボタンの種類などであり、キーボードへの入力であれば、押したキーの内容、キーダウン、キーアップなどである。本発明では、ユーザが操作したときのGUIの状態をログに記録する方法に焦点にあてている。説明を簡単にするために、ユーザ操作の種別の記録方法については、公知の技術と同様として説明を割愛する。   The input device 1 includes a keyboard, a mouse, and the like. The user uses the computer 4 to specify predetermined information, here, a GUI component to be excluded from log acquisition targets or its attribute information, and an application (log recording) using a direct access function. This is for specifying the timing for acquiring the GUI state of the target software) and inputting the log recording start and log recording end instructions. In addition, designation of the type of user operation originally recorded in the log is also input. This is, for example, a mouse operation, a click operation, a double-click operation, a drag operation, the type of a pressed mouse button, etc., and an input to the keyboard, the contents of the pressed key, key down, key up, etc. Etc. The present invention focuses on a method for recording a GUI state in a log when a user operates. In order to simplify the explanation, the recording method of the type of user operation will be omitted as it is the same as a known technique.

記憶装置2は、前述した所定の情報を初期設定値として記憶するとともに、コンピュータ4が実施する図2および図3の手続きによって取得し出力したログを記録するためのものである。表示装置3は、液晶ディスプレイ、CRT等からなり、アプリケーションの画面を表示するとともに、コンピュータ4が実施する図2、図3の手続き中の画面を表示するためのものである。   The storage device 2 stores the above-described predetermined information as an initial set value and records a log acquired and output by the procedure of FIGS. 2 and 3 performed by the computer 4. The display device 3 is composed of a liquid crystal display, a CRT, or the like, and displays an application screen and also displays a screen in the procedure of FIGS. 2 and 3 executed by the computer 4.

コンピュータ4は、前述した公知のGUIアクセシビリティ技術によって実現される直接アクセス機能部5およびイベント検出機能部6を含み、入力装置1より入力された情報をもとに、図2および図3の手続きに従い、直接アクセス機能部5およびイベント検出機能部6を用いてユーザ操作のログを取得し、これを記憶装置2に出力して記録し、この際、ログ取得制御部7を構成する。   The computer 4 includes a direct access function unit 5 and an event detection function unit 6 realized by the above-described known GUI accessibility technology. Based on the information input from the input device 1, the computer 4 follows the procedure shown in FIGS. A user operation log is acquired using the direct access function unit 5 and the event detection function unit 6, and is output and recorded in the storage device 2. At this time, the log acquisition control unit 7 is configured.

直接アクセス機能部5は、ログ取得制御部7が実施する図3の手続きのS31およびS35のステップにおいてGUIの状態の木構造表現を構築するために、アプリケーションに直接アクセスしてGUIの状態もしくは最前面ウインドウのみのGUIの状態を取得する。また、イベント検出機能部6は、ログ取得制御部7が実施する図3の手続きのS32のステップにおいて最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベント、詳細には最前面ウインドウ以外の属性情報の値の変更、または最前面ウインドウ以外のGUI部品の生成、またはウインドウもしくは最前面ウインドウ以外のGUI部品の消滅のイベントを検出するリスナを設定し、S37のステップにおいてGUIの状態の変更に伴って発生するこれらのイベントを検出する。   The direct access function unit 5 directly accesses the application to construct a tree structure representation of the GUI state in the steps S31 and S35 of the procedure of FIG. Get only GUI status. In addition, the event detection function unit 6 performs a GUI state change event or window disappearance event other than the foremost window in step S32 of the procedure of FIG. Change the attribute information value, create a GUI part other than the frontmost window, or set a listener to detect the disappearance event of the GUI part other than the window or frontmost window, and change the GUI state in step S37 Detect these events that occur along with.

ログ取得制御部7は、入力装置1より、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件、並びに直接アクセス機能を用いてアプリケーションのGUIの状態を取得するタイミングの指定が入力されると、図2の手続きを実施し、直接アクセス機能部5およびイベント検出機能部6の初期化を行う。   The log acquisition control unit 7 receives from the input device 1 conditions for designating GUI components to be excluded from log acquisition targets or attribute information thereof, and designation of timing for acquiring the application GUI status using the direct access function. Then, the procedure of FIG. 2 is performed, and the direct access function unit 5 and the event detection function unit 6 are initialized.

図2の手続きにおけるS21のステップの直接アクセス機能部5の初期設定は、具体的には、入力装置1より入力されたログの取得対象から除外するGUI部品またはその属性情報を指定する条件と、直接アクセス機能部5を用いてアプリケーションのGUIの状態を取得するタイミングの指定とを記憶装置2に登録することである。   The initial setting of the direct access function unit 5 in step S21 in the procedure of FIG. 2 specifically includes conditions for specifying a GUI component to be excluded from acquisition targets of logs input from the input device 1 or attribute information thereof, and direct access. The designation of the timing for obtaining the GUI state of the application using the function unit 5 is registered in the storage device 2.

以下、まず、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件について説明する。   Hereinafter, first, conditions for designating GUI parts to be excluded from log acquisition targets or attribute information thereof will be described.

前述のように、本発明の目的の1つは、ユーザが操作を実施したときのGUIの状態を再現可能なようにログに記録することである。GUIの状態は、アプリケーションの表示ウインドウの集合で形式的に表現する。表示されているウインドウは、ウインドウやその内部に表示されたGUI部品をノードとする木構造で表現する。ノード間の親子関係はウインドウやGUI部品間の表示の包含関係に相当する。例えば、ウインドウ内にボタンのGUI部品がある場合には、そのウインドウに対応するノードとボタンに対応するノードとの間には親子関係が存在する。   As described above, one of the objects of the present invention is to record in a log so that the state of the GUI when the user performs an operation can be reproduced. The GUI state is formally expressed by a set of application display windows. The displayed window is represented by a tree structure in which the window and GUI parts displayed in the window are nodes. The parent-child relationship between nodes corresponds to the display inclusion relationship between windows and GUI components. For example, when there is a GUI part of a button in the window, a parent-child relationship exists between a node corresponding to the window and a node corresponding to the button.

ウインドウやGUI部品は、一般的には属性情報を保持する。例えば、表示位置、サイズ、名前、GUI部品の型(ラベル、テキストボックス、コンボボックス等)、プロセスIDなどを挙げることができる。さらにウインドウであれば、そのウインドウや内部のGUI部品に対してユーザからの操作が可能か否かなどの情報や最前面に表示されているかの情報、ラベルなどのGUI部品であれば表示されている文字列やそのフォント、フォントサイズ、色等の情報、テキストボックスなどのGUI部品であればその設定値などが付加される。各ノードは、対応するGUI部品におけるこのような属性情報の値を保持する。注意すべきは、取得可能な属性情報は、利用するGUIアクセシビリティ技術やプラグインの機能によって決定されることである。   A window or GUI component generally holds attribute information. For example, the display position, size, name, GUI part type (label, text box, combo box, etc.), process ID, and the like can be given. In addition, if it is a window, information such as whether or not the user can operate the window and internal GUI parts, information on whether it is displayed in the foreground, and GUI parts such as labels are displayed. If it is a GUI part such as a text string, its font, font size, color, or a GUI part such as a text box, its setting value is added. Each node holds the value of such attribute information in the corresponding GUI component. It should be noted that the attribute information that can be acquired is determined by the GUI accessibility technology to be used and the function of the plug-in.

図4にアプリケーションにおけるGUIの状態とこれを木構造を用いて表現した例を示す。この例では、GUIの状態はアプリケーションが2つのウインドウと7つのGUI部品を表示している。図5に図4におけるGUIの状態表現において、木構造におけるノードが保持する属性情報の表現形式を示す。ここでは、ウインドウ1と対応するノードのみの属性情報を示す。   FIG. 4 shows a GUI state in an application and an example in which this is expressed using a tree structure. In this example, the GUI state is that the application displays two windows and seven GUI components. FIG. 5 shows a representation format of attribute information held by the nodes in the tree structure in the GUI state representation in FIG. Here, the attribute information of only the node corresponding to the window 1 is shown.

属性情報は、属性名とその値の対の集合で表現される。この例では、GUIアクセシビリティ技術によって、名前、型(ウインドウ、ラベル、テキストボックス、コンボボックス等)、プロセスID、設定値が取得可能とする。値が空欄のものは、その属性名に対する値が設定されていないことを意味する(この例の属性名である設定値はテキストボックスなどのユーザからの入力値を値として持ち、ウインドウ1は特にユーザからの入力がないため空欄としている。)。   The attribute information is represented by a set of attribute name / value pairs. In this example, the name, type (window, label, text box, combo box, etc.), process ID, and setting value can be acquired by GUI accessibility technology. When the value is blank, it means that the value for the attribute name is not set (the setting value which is the attribute name in this example has an input value from a user such as a text box as a value. It is blank because there is no input from the user.)

本発明では、GUIアクセシビリティ技術によって、必要な情報をアプリケーションから取得し、図4や図5の例のようなGUIの状態の表現を再現可能なようにログに記録する。ログとして記録する情報は、GUIアクセシビリティ技術などの機能の制限がない限り、多くの情報を取得すべきである。これは、先にも述べたように、ログの分析が進む過程で、分析の観点が変化するためである。しかし、事前に明らかに関心のない情報が判明している場合には、入力装置1よりログの取得対象から除外するGUI部品またはその属性情報の条件を指定することができる。   In the present invention, necessary information is acquired from the application by the GUI accessibility technology, and the expression of the GUI state as in the examples of FIGS. 4 and 5 is recorded in a log so as to be reproducible. A lot of information should be acquired as information to be recorded as a log unless there is a restriction on functions such as GUI accessibility technology. This is because the viewpoint of analysis changes as the log analysis progresses, as described above. However, if information that is obviously not of interest is known in advance, it is possible to specify a GUI component to be excluded from the log acquisition target or its attribute information conditions from the input device 1.

ログの取得対象から除外するGUI部品またはその属性情報を指定する条件は、GUI部品あるいはウインドウ自体を取得対象から除外する、もしくはGUI部品やウインドウ自体は取得するがそのうちの特定の属性情報のみ除外するという条件の種類と、除外対象の具体的な指定情報である条件の内容とから構成される。また、条件の内容とは、条件の種類がGUI部品あるいはウインドウ自体を取得対象から除外するものである場合は、属性名とその値の関係を指定する情報であり、条件の種類がGUI部品やウインドウ自体は取得するがそのうちの特定の属性情報のみ除外するものである場合は、属性名とその値の関係を指定する情報と、その関係が成立するときに除外する属性名を指定する情報である。ここで、関係は一般的な四則演算や大小、等号、不等号などで表現でき、複数の属性名とその値の関係を命題論理記号で組み合わせても良い。図6にログの取得対象から除外するGUI部品またはその属性情報を指定する条件の例を示す。   The condition for specifying the GUI component or its attribute information to be excluded from the log acquisition target is to exclude the GUI component or the window itself from the acquisition target, or to acquire the GUI component or the window itself but exclude only specific attribute information of them. And the contents of the condition that is specific designation information to be excluded. The condition content is information that specifies the relationship between the attribute name and its value when the condition type excludes the GUI part or the window itself from the acquisition target. If the window itself is to be acquired but only specific attribute information is to be excluded, information specifying the relationship between the attribute name and its value, and information specifying the attribute name to be excluded when the relationship is established is there. Here, the relationship can be expressed by general four arithmetic operations, large / small, equal sign, inequality sign, and the like, and the relationship between a plurality of attribute names and their values may be combined with propositional logic symbols. FIG. 6 shows an example of a condition for designating a GUI component or its attribute information to be excluded from the log acquisition target.

図2の手続きのS21のステップにおける直接アクセス機能部5の初期設定では、このようなログの取得対象から除外するGUI部品またはその属性情報を指定する条件を登録する。また同様に、入力装置1より入力されている直接アクセス機能利用時のGUIの状態を取得するタイミングの指定も登録する。直接アクセス機能利用時のGUIの状態の取得タイミングの指定では、取得時刻指定、またはGUIの状態を取得して次のGUIの状態を取得するインターバルの長さの指定、またはユーザの特定操作(例えばマウスクリックやキーダウン等)に合わせて取得する指定を行うことができる。   In the initial setting of the direct access function unit 5 in step S21 of the procedure of FIG. 2, conditions for designating such GUI components to be excluded from the log acquisition target or their attribute information are registered. Similarly, the designation of the timing for obtaining the GUI state when using the direct access function input from the input device 1 is also registered. When specifying the acquisition timing of the GUI state when using the direct access function, an acquisition time specification, an interval length for acquiring the GUI state and acquiring the next GUI state, or a user specific operation (for example, a mouse) It is possible to specify acquisition according to click or key down.

図2の手続きにおけるS22のステップのイベント検出機能部6の初期設定は、入力装置1より入力されたログの取得対象から除外するGUI部品またはその属性情報を指定する条件を記憶装置2に登録する。   In the initial setting of the event detection function unit 6 in step S22 in the procedure of FIG. 2, a condition for specifying a GUI component to be excluded from the log acquisition target input from the input device 1 or its attribute information is registered in the storage device 2. .

また、ログ取得制御部7は、入力装置1より、ログ記録開始の指示が入力されると、直接アクセス機能部5やイベント検出機能部6を利用して、アプリケーションのGUIの状態を取得し、ログとして出力して記憶装置2に記録する。具体的には図3の手続きを実施する。   Further, when an instruction to start log recording is input from the input device 1, the log acquisition control unit 7 acquires the GUI state of the application using the direct access function unit 5 or the event detection function unit 6, and logs And is recorded in the storage device 2. Specifically, the procedure of FIG. 3 is performed.

まず、S31のステップにて、直接アクセス機能部5を利用し、現在のGUIの状態の図4および図5のような木構造表現を初期状態として取得し、取得時のタイムスタンプとともにログとして記憶装置2に出力して記録する。   First, in step S31, the direct access function unit 5 is used to obtain a tree structure representation of the current GUI state as shown in FIGS. 4 and 5 as an initial state, and a storage device as a log together with the time stamp at the time of acquisition. Output to 2 and record.

次に、S32のステップにて、イベント検出機能部6を利用してGUIの状態変化を記録するため、ここでは最前面ウインドウ以外の属性情報の値の変更、または最前面ウインドウ以外のGUI部品の生成、またはウインドウもしくは最前面ウインドウ以外のGUI部品の消滅のイベントを検出するリスナを設定する。   Next, in step S32, in order to record the GUI state change using the event detection function unit 6, here, the value of attribute information other than the frontmost window is changed, or the GUI component other than the frontmost window is changed. A listener that detects an event of generation or disappearance of a GUI component other than the window or the frontmost window is set.

S33からS38のステップは、入力装置1よりログ記録終了の指示が入力されるまで繰り返し実施し、取得した情報をログとして記憶装置2に出力して記録する。   The steps from S33 to S38 are repeated until the log recording end instruction is input from the input device 1, and the acquired information is output to the storage device 2 as a log and recorded.

即ち、まずS34のステップにて、事前に入力されている直接アクセス機能利用時のGUIの状態の取得タイミングの指定を参照し、現在の状況がそのタイミングの指定に適合しているか調べる。例えば、タイミングの指定が時刻指定であれば、現在の時刻がその時刻であるかを調べる。また、タイミングの指定がインターバル指定であるなら、前にGUIの状態を取得した時刻から指定されたインターバルの期間、時間が経過してるかを調べる。また、タイミングの指定がユーザ操作の指定であれば、ユーザ操作のOSのイベントが発生しているかを調べる。   That is, first, in step S34, the specification of the acquisition timing of the GUI state when using the direct access function input in advance is referred to, and it is checked whether or not the current situation matches the specification of the timing. For example, if the timing designation is a time designation, it is checked whether the current time is that time. Also, if the timing is specified as an interval, it is checked whether the time of the specified interval has elapsed since the time when the GUI state was previously acquired. If the timing specification is a user operation specification, it is checked whether an OS event of the user operation has occurred.

S34のステップにおいて、タイミングの指定と現在の状況が合致している場合には、続くS35のステップで直接アクセス機能部5により、最前面のウインドウのGUIの状態を取得する。例えば、現在表示されているGUIが図4である場合を考える。住所登録ウインドウが最前面ウインドウであるとすると、S35のステップで取得するGUIの状態は、図4におけるウインドウ1をルートノードとする木構造と各ノードが保持する属性情報のみとなる。前述のように、ログ記録対象ソフトウェアの応答性能を損ねないためには、ログ取得処理の高速化が必要になる。直接アクセス機能部5で全てのGUI部品の状態を取得すると処理時間が長くなるため、本発明では最前面ウインドウのGUIの状態に限定して取得する。これによって取得処理の高速化を達成することができる。このように取得した最前面ウインドウのGUIの状態を、取得時のタイムスタンプとともにログとして出力する。その後は、イベント検出機能部6によるログ出力を行うためにS36へ進む。   If the timing designation matches the current situation in step S34, the direct access function unit 5 acquires the GUI state of the foremost window in the subsequent step S35. For example, consider the case where the currently displayed GUI is FIG. If the address registration window is the frontmost window, the GUI state acquired in step S35 is only a tree structure with window 1 in FIG. 4 as the root node and attribute information held by each node. As described above, in order not to impair the response performance of the log recording target software, it is necessary to speed up the log acquisition process. If the direct access function unit 5 acquires the state of all the GUI components, the processing time becomes long. Therefore, in the present invention, the state is acquired only for the GUI state of the frontmost window. As a result, the acquisition process can be speeded up. The GUI state of the frontmost window acquired in this way is output as a log together with the time stamp at the time of acquisition. Thereafter, the process proceeds to S36 in order to perform log output by the event detection function unit 6.

もし、S34のステップにおいて、直接アクセス機能利用時のGUIの状態の取得タイミングの指定を参照し、現在の状況が、そのタイミングの指定に適合していない場合には、ログを出力するタイミングではないため、S35の直接アクセス機能部5によるログ出力は飛ばして、S36へ進む。   If, in step S34, the designation of the GUI state acquisition timing when using the direct access function is referenced and the current situation does not conform to the timing designation, it is not the timing to output the log. , The log output by the direct access function unit 5 in S35 is skipped, and the process proceeds to S36.

S36のステップでは、S32のステップでリスナを登録したことによって、GUI状態の変更を検出したイベントが発生しているかを調べる。もし発生しているのなら、そのイベントの内容を、続くS37のステップにてログとして出力する。S32で登録したリスナは最前面ウインドウ以外の属性情報の値の変更、または最前面ウインドウ以外のGUI部品の生成、またはウインドウもしくは最前面ウインドウ以外のGUI部品の消滅のイベントに関するものであることに注意されたい。S35のステップでは、処理の高速化のため直接アクセス機能部5により取得するGUIの状態を最前面ウインドウに関する情報に限定している。そのため、背面ウインドウの状態変化やウインドウの消滅などの情報を取得することができない。そこでS37のステップでイベント検出機能部6により、これらの情報を補完する。出力するイベントの内容は、S31で取得したGUIの状態の木構造表現を、出力したイベントの内容に応じて修正することで、現在のGUIの状態の木構造表現の再現が可能なようにする必要がある。そこで変更イベントを検出した場合、イベント発生のタイムスタンプとともに、そのイベントの種類に応じて、少なくとも図7のような情報を出力して記録する。   In step S36, it is checked whether an event that has detected a change in the GUI state has occurred by registering the listener in step S32. If it has occurred, the contents of the event are output as a log in the subsequent step S37. Note that the listener registered in S32 relates to an event of a change in attribute information other than the frontmost window, generation of a GUI part other than the frontmost window, or disappearance of a GUI part other than the window or frontmost window. I want to be. In step S35, the GUI state acquired by the direct access function unit 5 is limited to information on the foreground window in order to speed up the processing. For this reason, it is not possible to acquire information such as a change in the state of the back window or the disappearance of the window. Therefore, in step S37, the event detection function unit 6 supplements these pieces of information. The content of the event to be output is made to be able to reproduce the tree structure representation of the current GUI state by modifying the tree structure representation of the GUI state acquired in S31 according to the content of the output event. There is a need. When a change event is detected, at least information as shown in FIG. 7 is output and recorded according to the type of the event together with the event occurrence time stamp.

即ち、イベントの種類が、最前面ウインドウ以外の属性値の変更であった場合、変更のあったGUI部品またはウインドウと対応するGUIの状態表現におけるノードを特定する情報と、変更のあった属性名および値を出力する。例えば、図4のGUIの状態における住所の隣のテキストボックスに“日本”という文字列が入力され、GUIの状態が変化したしたことをイベントで検知したとする。そのイベントからは、GUIの状態表現におけるノードを特定する情報として“部品3”を、変更のあった属性名の情報として“設定値”を、さらに変更後の値の情報として“日本”をログに出力する。   That is, when the type of event is a change of an attribute value other than the frontmost window, information specifying the node in the GUI state expression corresponding to the changed GUI component or window, and the changed attribute name And output the value. For example, it is assumed that a character string “Japan” is input in a text box next to an address in the GUI state of FIG. 4 and it is detected by an event that the GUI state has changed. From that event, log “Part 3” as information to identify the node in the GUI state expression, “Set Value” as the changed attribute name information, and “Japan” as the changed value information. Output to.

同様に、イベントの種類が最前面ウインドウ以外のGUI部品の生成であった場合、生成されたGUI部品と対応するノードを特定する情報およびその属性情報を記録する。さらに、生成されたGUI部品と対応するノードの親ノードの情報を出力する。例えば、図4のGUIの状態におけるエラー画面ウインドウの確認ボタンが新規に生成され、GUIの状態が変化したしたことをイベントで検知したとする。この場合は、GUIの状態表現におけるノードを特定する情報として“部品7”および確認ボタンの属性情報を出力し、さらに、該当のボタンは、エラー画面ウインドウに含まれるため、親ノードの情報として“ウインドウ2”を出力する。   Similarly, when the type of event is generation of a GUI component other than the frontmost window, information for identifying a node corresponding to the generated GUI component and its attribute information are recorded. Further, information on the parent node of the node corresponding to the generated GUI component is output. For example, it is assumed that a confirmation button in the error screen window in the GUI state of FIG. 4 is newly generated, and it is detected by an event that the GUI state has changed. In this case, “part 7” and the attribute information of the confirmation button are output as information for specifying the node in the GUI state expression, and the corresponding button is included in the error screen window. Window 2 "is output.

さらに、イベントの種類が、ウインドウや最前面ウインドウ以外のGUI部品の消滅であった場合は、消滅したウインドウまたはGUI部品と対応するノードを特定する情報を出力する。例えば、図4のGUIの状態におけるエラー画面ウインドウが消滅し、GUIの状態が変化したしたことをイベントで検知したとする。この場合は、消滅したウインドウまたはGUI部品と対応するノードを特定する情報として、“ウインドウ2”を出力する。   Further, when the event type is the disappearance of the GUI component other than the window or the frontmost window, information specifying the node corresponding to the disappeared window or GUI component is output. For example, it is assumed that the error screen window in the GUI state of FIG. 4 disappears and that the GUI state has changed is detected by an event. In this case, “window 2” is output as information for specifying a node corresponding to the disappeared window or GUI component.

一般に、ユーザ操作に対するGUIの変化は、最前面ウインドウにて多発する。本発明では、最前面ウインドウのGUIの状態を直接アクセス機能部5にて取得し、イベント検出機能部6では取得しない(リスナを登録しない)。これによって、検知するイベントの量を大きく削減することができ、結果としてイベントキューのオーバーフローによるイベント廃棄を防止し、GUIの状態変化を正確に検知することができる。   In general, GUI changes with respect to user operations frequently occur in the foreground window. In the present invention, the GUI state of the frontmost window is acquired by the direct access function unit 5 and is not acquired by the event detection function unit 6 (the listener is not registered). As a result, the amount of events to be detected can be greatly reduced. As a result, event discard due to overflow of the event queue can be prevented, and a change in the state of the GUI can be detected accurately.

S36のステップにおいて、変更イベントを検出できていない場合には、イベントの記録は不要であるため、S37のステップを飛ばして手続きを継続する。   If the change event is not detected in step S36, it is not necessary to record the event, and the procedure is continued after skipping step S37.

以上のように、S33からS38のステップを、入力装置1よりログ記録終了の指示が入力されるまで繰り返す。   As described above, the steps from S33 to S38 are repeated until the log recording end instruction is input from the input device 1.

なお、S31やS35のステップにおいて、直接アクセス機能部5によりGUIの状態の木構造表現を取得するとき、もし事前にログの取得対象から除外するGUI部品またはその属性情報を指定する条件が入力されていれば、その条件に合致するGUI部品またはその属性情報は取得対象としない。また、S37のステップにおいて検出したイベントが、やはり前述の条件に合致するGUI部品またはその属性情報に関する変更だった場合、ログ出力を実施しない。   In step S31 or S35, when the tree structure representation of the GUI state is acquired by the direct access function unit 5, a condition for specifying a GUI component or its attribute information to be excluded from the log acquisition target is input in advance. If so, the GUI component that matches the condition or its attribute information is not acquired. If the event detected in step S37 is a change related to the GUI component or its attribute information that also meets the above-described conditions, log output is not performed.

なお、前述した実施の形態では、直接アクセス機能部5、イベント検出機能部6およびログ取得制御部7をコンピュータ4上で実現した例を示したが、ハードウェアで実現しても良い。また、これらの各装置が、適切な通信路を通じて相互に接続された複数のコンピュータ(ハードウェア資源)上に分散して存在し、相互に通信し合いながら実行することもできる。   In the above-described embodiment, the example in which the direct access function unit 5, the event detection function unit 6, and the log acquisition control unit 7 are realized on the computer 4 is shown. However, it may be realized by hardware. Each of these devices exists in a distributed manner on a plurality of computers (hardware resources) connected to each other through an appropriate communication path, and can be executed while communicating with each other.

本発明の装置がログの記録対象とするソフトウェアは、コンピュータ4において動作しても良いし、適切な通信路を通じて相互に接続された別のコンピュータ(ハードウェア資源)上で動作していても良い。   The software to be recorded by the apparatus of the present invention may operate on the computer 4 or may operate on another computer (hardware resource) connected to each other through an appropriate communication path. .

ここでは、本発明の実施例として、図1の構成をとった場合におけるユーザ操作のログ記録方法を説明する。   Here, as an embodiment of the present invention, a user operation log recording method when the configuration of FIG. 1 is employed will be described.

まず、本発明を利用するにあたって、事前にログの取得対象から除外するGUI部品またはその属性情報を指定する条件を入力装置1より入力する。ここでは、図6の情報を入力する。さらに、入力装置1より、直接アクセス機能部5でGUIの状態を取得するタイミングの指定を行う。   First, when using the present invention, a condition for designating a GUI component to be excluded from a log acquisition target or its attribute information is input from the input device 1 in advance. Here, the information of FIG. 6 is input. Further, the timing for acquiring the GUI state by the direct access function unit 5 is specified from the input device 1.

タイミングの指定は、実運用上はアプリケーションが動作する情報システム端末(コンピュータ)の性能を考慮して設定する必要がある。先にも述べたように、直接アクセス機能部5によるGUIの状態の取得は、頻度を増やせば、ユーザ操作に対するアプリケーションの応答性能を劣化させるケースがある。ここではユーザのマウスクリックおよびキーボード入力のときのみ、直接アクセス機能部5でGUIの状態を取得するようにタイミングを指定するものとする。   In actual operation, it is necessary to set the timing in consideration of the performance of the information system terminal (computer) on which the application operates. As described above, acquisition of the GUI state by the direct access function unit 5 may deteriorate the response performance of the application to the user operation if the frequency is increased. Here, it is assumed that the timing is specified so that the direct access function unit 5 acquires the GUI state only when the user clicks the mouse and inputs the keyboard.

前述したように入力装置1より各種の初期パラメータが入力されると、コンピュータ4におけるログ取得制御部7は、図2の手続きを実施し、入力パラメータを記憶装置2に登録して直接アクセス機能部5およびイベント検出機能部6を初期化する。   As described above, when various initial parameters are input from the input device 1, the log acquisition control unit 7 in the computer 4 performs the procedure of FIG. 2, registers the input parameters in the storage device 2, and directly accesses the function unit 5. Also, the event detection function unit 6 is initialized.

次に、入力装置1よりログ記録開始の指示が入力されると、コンピュータ4のログ取得制御部7は、図3の手続きを実施する。このときの情報システム端末のGUIの状態が図4に示されたもので、さらにGUIアクセシビリティ技術もしくは専用プラグインで取得可能な属性情報が、図5に示された属性名のように名前、型、プロセスID、設定値の情報であると仮定して、実施例の説明を継続する。   Next, when an instruction to start log recording is input from the input device 1, the log acquisition control unit 7 of the computer 4 performs the procedure of FIG. The GUI state of the information system terminal at this time is shown in FIG. 4, and the attribute information that can be acquired by the GUI accessibility technology or the dedicated plug-in is the name, type as shown in the attribute name shown in FIG. The description of the embodiment will be continued on the assumption that the process ID and setting value information.

まず、図3の手続きに従って、S31のステップを実施し、直接アクセス機能部5が図4のGUIの状態を初期状態としてアプリケーションから取得する。本実施例では、図6に示されたログの取得対象から除外するGUI部品またはその属性情報を指定する条件があるため、ここで取得するGUIの状態の木構造表現は、図8のようになる。但し、ここでのウインドウやGUI部品のプロセスIDはすべて“1111”である。図6の条件3により型がタイトルバーである部品1および部品5のノードが取得対象から除外されている。また同様に、図6の条件2により型がウインドウであるウインドウ1およびウインドウ2の属性情報から設定値の情報が除外されていることに注意されたい。S31では、図8の情報と取得時のタイムスタンプを、例えばXMLのような構造データの表現形式で記憶装置2に記録する。   First, according to the procedure of FIG. 3, step S31 is performed, and the direct access function unit 5 acquires the GUI state of FIG. 4 from the application as the initial state. In this embodiment, since there is a condition for specifying a GUI component to be excluded from the log acquisition target shown in FIG. 6 or its attribute information, the tree structure representation of the GUI state acquired here is as shown in FIG. Become. However, the process IDs of the windows and GUI parts here are all “1111”. According to the condition 3 in FIG. 6, the nodes of the parts 1 and 5 whose type is the title bar are excluded from acquisition targets. Similarly, it should be noted that the setting value information is excluded from the attribute information of the window 1 and the window 2 whose types are windows according to the condition 2 in FIG. In S31, the information of FIG. 8 and the time stamp at the time of acquisition are recorded in the storage device 2 in the structure data expression format such as XML, for example.

続いてログ取得制御部7は図3のS32のステップに進み、イベント検出機能部6を用いてイベント検出のためのリスナを設定する。リスナは最前面ウインドウ以外の属性情報の値の変更、または最前面ウインドウ以外のGUI部品の生成、またはウインドウもしくは最前面ウインドウ以外のGUI部品の消滅のイベントに関するもののみを登録する。リスナの設定後は、入力装置1よりログ記録終了の指示が入力されるまで、S33からS38のステップを繰り返す。   Subsequently, the log acquisition control unit 7 proceeds to step S <b> 32 in FIG. 3, and sets a listener for event detection using the event detection function unit 6. The listener registers only the event relating to the change of the attribute information value other than the frontmost window, the generation of a GUI part other than the frontmost window, or the disappearance of the GUI part other than the window or the frontmost window. After the listener is set, the steps from S33 to S38 are repeated until a log recording end instruction is input from the input device 1.

ここで、例えば図4の現在のGUIの状態において、ユーザがエラー画面ウインドウの確認ボタンを押下し、エラー画面ウインドウが消滅して図9のようなGUIの状態になったときを考える。このとき、ログ取得制御部7は、直接アクセス機能部5によるログ取得タイミングがマウスクリックと指定されているため、図3のS34、S35とステップを実行する。   Here, for example, let us consider a case where in the current GUI state of FIG. 4, the user presses the confirmation button of the error screen window, and the error screen window disappears and the GUI state as shown in FIG. At this time, since the log acquisition timing by the direct access function unit 5 is designated as mouse click, the log acquisition control unit 7 executes steps S34 and S35 of FIG.

S35のステップでは直接アクセス機能部5を利用して、図9の最前面ウインドウのGUIの状態の木構造表現を取得し、取得時のタイムスタンプとともに、GUIの状態の木構造表現をXML形式などで記憶装置2に記録する。ここで取得したGUIの状態の木構造表現を図10に示す。ここでは最前面ウインドウのGUIの状態しか取得しないため、高速にログ取得処理を実施することができる。その一方で、ここで取得した情報からはそれまで最前面ウインドウであったエラー画面ウインドウが消滅したのか、それとも背面に配置されたのか判断できないことに注意されたい。これらを判定できるようにするために、続く図3のS36のステップでイベント検出機能部6を利用する。   In step S35, the direct access function unit 5 is used to obtain the tree structure representation of the GUI state of the frontmost window in FIG. 9, and the tree structure representation of the GUI state in XML format or the like together with the time stamp at the time of acquisition. Record in the storage device 2. FIG. 10 shows a tree structure representation of the GUI state acquired here. Since only the GUI state of the foreground window is acquired here, the log acquisition process can be performed at high speed. On the other hand, it should be noted that from the information acquired here, it cannot be determined whether the error screen window that has been the forefront window has disappeared or has been placed on the back side. In order to be able to determine these, the event detection function unit 6 is used in the subsequent step of S36 in FIG.

また、この際、イベント検出機能部6により、エラー確認ウインドウが消滅したことを正しく検出できている場合、検出したイベント情報を図7の内容に従って、イベント検出時のタイムスタンプとともに記憶装置2に記録する。記憶装置2に記録するイベントの内容を図11に示す(タイムスタンプはイベントの発生やGUIの状態取得の順序が特定できる情報であれば、特に形式は問わない)。なお、実際は、エラー確認ウインドウのタイトルバーの消滅のイベントも同時に発生するが、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件である図6の条件3と合致するため、記録対象から除外する。   At this time, if the event detection function unit 6 can correctly detect that the error confirmation window has disappeared, the detected event information is recorded in the storage device 2 together with the time stamp at the time of event detection according to the contents of FIG. To do. The contents of the event recorded in the storage device 2 are shown in FIG. 11 (the time stamp is not particularly limited as long as it is information that can specify the order of event occurrence and GUI status acquisition). Actually, the event of disappearance of the title bar of the error confirmation window also occurs at the same time. However, since it matches the condition 3 in FIG. 6 which is a condition for specifying the GUI component to be excluded from the log acquisition target or its attribute information, the recording is performed. Exclude from the target.

正確にイベントを検出できれば、S31で取得した初期のGUIの状態に対して、イベントの情報を反映させることで、現在のGUIの状態を再現できることに注意されたい。   Note that if the event can be detected accurately, the current GUI state can be reproduced by reflecting the event information on the initial GUI state acquired in S31.

例えば、図8の初期のGUIの状態の木構造表現に対して、図11で取得したイベントの内容からウインドウ2、部品6、部品7のノードおよびその属性情報を削除することで、図10とまったく同一のGUI状態の木構造表現を取得することができる。   For example, with respect to the tree structure representation of the initial GUI state of FIG. 8, by deleting the nodes of window 2, component 6, and component 7 and their attribute information from the event contents acquired in FIG. It is possible to obtain a tree structure representation of exactly the same GUI state.

イベントは、GUIの状態の変化に関する情報のみを検出できるため、少ないデータ量で詳細にGUIの状態を再現可能にするという特徴がある。しかし、問題点は、先にも述べたようにGUIの状態が変化したのにもかかわらず、大量のイベントが併発するなどして、イベントを検出できない場合があることである。   Since the event can detect only information related to a change in the GUI state, the event has a feature that the GUI state can be reproduced in detail with a small amount of data. However, the problem is that there are cases in which events cannot be detected due to the occurrence of a large number of events even though the GUI state has changed as described above.

本発明では、表示が頻繁に変化しイベントが多発する最前面ウインドウのGUIの状態については直接アクセス機能部5で取得し、それ以外のGUIの変化はイベント検出機能部6で取得する。よって、検出するイベントを限定する(登録するリスナを限定する)ことができ、イベントの大量検知によるイベントの検出漏れを防止することが可能となる。   In the present invention, the GUI state of the foreground window where the display changes frequently and events frequently occur is acquired by the direct access function unit 5, and other GUI changes are acquired by the event detection function unit 6. Therefore, it is possible to limit the events to be detected (limit listeners to be registered), and to prevent omission of event detection due to a large number of event detections.

次に、ユーザが図9のGUIの状態に対して、住所の隣のテキストボックスに「日本」とキーボード入力し、図12のようなGUIの状態になった場合を考える。この場合、ログ取得制御部7は、図3の手続きにおいて、S34、S35、S36、S38のステップを実施する。直接アクセス機能部5を利用して状態を取得するタイミングの指定がキーボード入力としているS35のステップにて、最前面ウインドウのGUIの状態が取得される。取得した情報を図13に示す。図12のような変更に伴い、最前面ウインドウのGUI部品の属性値の変更イベントが本来発生するが、S32のステップで登録したリスナが最前面以外のウインドウのGUI部品の属性値の変更に限定されている。そのためS36のステップではイベントが発生せず、S37でイベント検出機能部6によるイベント検出が行われない。結果として、ここでのキーボード入力に対しては、図13の情報が記憶装置2に記録される。   Next, consider a case where the user inputs the keyboard “Japan” into the text box next to the address and enters the GUI state as shown in FIG. In this case, the log acquisition control unit 7 performs steps S34, S35, S36, and S38 in the procedure of FIG. In step S35 in which the designation of the timing for obtaining the state using the direct access function unit 5 is a keyboard input, the state of the GUI of the foreground window is obtained. The acquired information is shown in FIG. With the change as shown in FIG. 12, the attribute value change event of the GUI component of the frontmost window is originally generated, but the listener registered in step S32 is limited to the change of the attribute value of the GUI component of the window other than the frontmost window. Has been. Therefore, no event occurs in step S36, and no event detection by the event detection function unit 6 is performed in step S37. As a result, the information in FIG. 13 is recorded in the storage device 2 for the keyboard input here.

最後に、図12のGUIの状態に対して、ユーザが登録ボタンをマウスクリックし、図14のように新規に「登録完了です。」というラベルのGUI部品が住所登録ウインドウに生成され、さらに最前面に結果ウインドウが表示された場合のログ取得制御部7の動作を説明する。   Finally, for the GUI state of FIG. 12, the user clicks the registration button with the mouse, and a new GUI component labeled “Registration complete” is generated in the address registration window as shown in FIG. The operation of the log acquisition control unit 7 when the result window is displayed on the front will be described.

このとき、図3の手続きのS34、S35、S36、S37のステップが実施される。マウスクリックが行われるため、S35の直接アクセス機能部5による最前面ウインドウのGUIの状態の取得が実施され、ここでは結果ウインドウに対する図15の木構造表現が取得時のタイムスタンプとともに、記憶装置2に記録される。また、続くS36のイベントで背面ウインドウで新たに生成されたラベルのGUI部品のイベントが検出され、S37のステップにより図16の情報が記憶装置2に記録される。   At this time, steps S34, S35, S36, and S37 of the procedure of FIG. 3 are performed. Since the mouse is clicked, the GUI state of the frontmost window is acquired by the direct access function unit 5 in S35. Here, the tree structure representation of FIG. 15 for the result window is stored in the storage device 2 together with the time stamp at the time of acquisition. To be recorded. Further, the event of the GUI component of the label newly generated in the rear window is detected in the subsequent event of S36, and the information of FIG. 16 is recorded in the storage device 2 by the step of S37.

本実施例のように、本発明は、直接アクセス機能によるGUIの状態取得を最前面ウインドウに限定することで取得処理の高速化を実現でき、さらに背面ウインドウのGUIの状態変化のみを検出することでイベントの大量検知による検知漏れを防止することができる。このようにログ取得対象ソフトウェアの応答性能を劣化させずに、正確なGUIの状態変化を記録することが可能となる。   As in the present embodiment, the present invention can speed up the acquisition process by limiting the GUI state acquisition by the direct access function to the frontmost window, and can detect only the state change of the GUI of the rear window. It is possible to prevent omission of detection due to a large amount of event detection. As described above, it is possible to record an accurate GUI state change without deteriorating the response performance of the log acquisition target software.

1:入力装置、2:記憶装置、3:表示装置、4:コンピュータ、5:直接アクセス機能部、6:イベント検出機能部、7:ログ取得制御部。   1: input device, 2: storage device, 3: display device, 4: computer, 5: direct access function unit, 6: event detection function unit, 7: log acquisition control unit.

K. D. Fenstermacher and M. Ginsburg, "A Lightweight Framework for Cross-Application User Monitoring", IEEE Computer, Vol.35, Issue 3, pp. 51-59, 2002K. D. Fenstermacher and M. Ginsburg, "A Lightweight Framework for Cross-Application User Monitoring", IEEE Computer, Vol.35, Issue 3, pp. 51-59, 2002 高橋、毛利、織田、岩山、"PC作業可視化のためのアプリ操作ログ推測手法"、情報処理学会創立50周年記念(第72回)全国大会講演論文集、pp.4-541 - 4-542、2010Takahashi, Mouri, Oda, Iwayama, "App Operation Log Estimation Method for PC Work Visualization", IPSJ 50th Anniversary (72nd) National Conference Proceedings, pp. 4-541-4-542, 2010 “UIオートメーションの概要”、[online]、Microsoft Corporation、[平成23年7月5日検索]、インターネット<URL:http://msdn.microsoft.com/ja-jp/library/ms747327(v=vs.80).aspx>“Outline of UI Automation”, [online], Microsoft Corporation, [searched July 5, 2011], Internet <URL: http://msdn.microsoft.com/en-us/library/ms747327(v=vs .80) .aspx> “Java IDL”、[online]、Sun Microsystems, Inc.、[平成23年10月14日検索]、インターネット<URL:http://java.sun.com/j2se/1.4/ja/docs/ja/guide/access/index.html>“Java IDL”, [online], Sun Microsystems, Inc., [October 14, 2011 search], Internet <URL: http://java.sun.com/j2se/1.4/ja/docs/ja/ guide / access / index.html> “日立のユニバーサルデザイン”、[online]、株式会社日立製作所、[平成23年10月14日検索]、インターネット<URL:http://www.hitachi.co.jp/universaldesign/ria/ajax/wai-aria/index.html>“Hitachi Universal Design”, [online], Hitachi, Ltd., [October 14, 2011 search], Internet <URL: http://www.hitachi.co.jp/universaldesign/ria/ajax/wai -aria / index.html>

Claims (5)

任意のコンピュータ上で動作するログ記録対象ソフトウェアが当該任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの入力装置および表示装置を介して提供するGUIに対するユーザ操作のログとして、前記ログ記録対象ソフトウェアがGUIとして前記表示装置の画面上に表示するウインドウの表示状態および当該ウインドウ内のGUI部品の表示状態で表されるGUIの状態を、前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの記憶装置に記録する方法であって、
前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータが、
入力装置より入力された、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件、並びに直接アクセス機能を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定を記憶装置に登録する第1のステップと、
入力装置より入力されたログ記録開始の指示により、直接アクセス機能を用いて現在のGUIの状態を初期状態として取得し、ログとして記憶装置に出力して記録する第2のステップと、
イベント検出機能により最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベントを検出するリスナを設定する第3のステップとを具備するとともに、
第3のステップの後、入力装置よりログ記録終了の指示が入力されるまでの間繰り返される、
直接アクセス機能を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定に応じて、最前面ウインドウのGUIの状態をログとして記憶装置に出力して記録する第4のステップと、
イベント検出機能により最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウ消滅イベントが検出されているか調べ、そのイベント情報をログとして記憶装置に出力して記録する第5のステップとを具備する
ことを特徴とするユーザ操作のログ記録方法。
Log of user operation for GUI provided by the log recording target software operating on an arbitrary computer via the input device and the display device of the arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path The log display target software displays a GUI display state as a GUI on the screen of the display device and a GUI state represented by the display state of the GUI component in the window. A method of recording in a storage device of another computer connected to a computer through an arbitrary communication path,
The arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path,
Registers in the storage device the conditions for specifying the GUI component or its attribute information to be excluded from the log acquisition target and the timing for acquiring the GUI status of the log recording target software using the direct access function. A first step to:
A second step of acquiring a current GUI state as an initial state using a direct access function in response to a log recording start instruction input from an input device, and outputting and recording the log to a storage device;
And a third step of setting a listener for detecting a GUI state change event other than the frontmost window or a window extinction event by an event detection function,
After the third step, the process is repeated until the log recording end instruction is input from the input device.
A fourth step of outputting and recording the GUI state of the foremost window as a log to the storage device in accordance with the designation of the timing for acquiring the GUI state of the log recording target software using the direct access function;
A fifth step of checking whether a change event of the GUI state other than the frontmost window or a window extinction event is detected by the event detection function, and outputting the event information to the storage device as a log and recording it. A log recording method of user operations as a feature.
第4のステップにあっては、
タイムスタンプの情報とともに、直接アクセス機能を用いて、アプリケーションから直接、最前面ウインドウのGUIの状態を取得し、ウインドウまたはGUI部品をノードとし、包含関係をノード間の親子関係で表現し、さらに各ノードは属性情報を有する表現形式で出力し、入力されたログの取得対象から除外するGUI部品またはその属性情報を指定する条件と合致するノードまたはその属性情報を出力から除外する
ことを特徴とする請求項1に記載のユーザ操作のログ記録方法。
In the fourth step,
Along with the time stamp information, the direct access function is used to obtain the GUI state of the frontmost window directly from the application, the window or GUI component is a node, the inclusion relationship is expressed as a parent-child relationship between the nodes, and each node Output in an expression format having attribute information, and exclude from the output nodes or attribute information that match the conditions for specifying the GUI component to be excluded from the input target of the log or the attribute information. Item 2. A user operation log recording method according to Item 1.
第4のステップにあっては、
直接アクセス機能を用いてアプリケーションのGUIの状態を取得するタイミングの指定において、時刻指定、またはインターバル指定、またはユーザ操作の指定により、ログの出力・記録の頻度を変更可能とする
ことを特徴とする請求項1に記載のユーザ操作のログ記録方法。
In the fourth step,
The frequency of log output / recording can be changed by specifying the time, the interval, or the user operation when specifying the timing for acquiring the application GUI status using the direct access function. Item 2. A user operation log recording method according to Item 1.
第5のステップにあっては、
イベント検出時のタイムスタンプの情報と、イベント検出機能により検出したイベントの最前面ウインドウ以外の属性情報の値の変更、または最前面ウインドウ以外のGUI部品の生成、またはウインドウもしくは最前面ウインドウ以外のGUI部品の消滅のイベントのいずれであるかを示すイベント種別の情報とともに、
最前面ウインドウ以外の属性情報の値の変更イベントであれば、変更対象と対応するGUIの状態の木構造表現におけるノードを特定する情報、変更対象である属性名およびその変更後の値を、
また、最前面ウインドウ以外のGUI部品の生成イベントであれば、生成対象と対応するGUIの状態の木構造表現におけるノードを特定する情報、生成対象の属性情報および親ノードを特定する情報を、
また、ウインドウもしくは最前面ウインドウ以外のGUI部品の消滅の変更イベントであれば、消滅対象と対応するGUIの状態の木構造表現におけるノードを特定する情報をそれぞれ出力する
ことを特徴とする請求項1に記載のユーザ操作のログ記録方法。
In the fifth step,
Time stamp information at the time of event detection, change of attribute information value other than the frontmost window of the event detected by the event detection function, generation of GUI parts other than the frontmost window, or GUI other than the window or frontmost window Along with information on the event type that indicates which of the parts disappeared,
If it is a change event of the value of attribute information other than the frontmost window, the information specifying the node in the tree structure representation of the GUI state corresponding to the change target, the attribute name to be changed and the value after the change,
Further, if it is a generation event of a GUI component other than the frontmost window, information for specifying a node in the tree structure representation of the GUI state corresponding to the generation target, attribute information for the generation target, and information for specifying the parent node,
Further, if the event is a change event of disappearance of a GUI component other than the window or the frontmost window, information for specifying a node in the tree structure representation of the GUI state corresponding to the disappearance target is output. The user operation log recording method described in 1.
任意のコンピュータ上で動作するログ記録対象ソフトウェアが当該任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの入力装置および表示装置を介して提供するGUIに対するユーザ操作のログとして、前記ログ記録対象ソフトウェアがGUIとして前記表示装置の画面上に表示するウインドウの表示状態および当該ウインドウ内のGUI部品の表示状態で表されるGUIの状態を、前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータの記憶装置に記録する装置であって、
前記任意のコンピュータもしくは当該任意のコンピュータに任意の通信路を通じて接続された他のコンピュータ上に設けられた次の装置、即ち
入力装置と、
記憶装置と、
ログ記録対象ソフトウェアに直接アクセスしてGUIの状態もしくは最前面ウインドウのみのGUIの状態を取得する直接アクセス機能部と、
最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベントを検出するリスナを設定し、GUIの状態変更に伴って発生するこれらのイベントを検出するイベント検出機能部と、
入力装置より、ログの取得対象から除外するGUI部品またはその属性情報を指定する条件、並びに直接アクセス機能部を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定が入力されると、これらを記憶装置に登録し、また、入力装置よりログ記録開始の指示が入力されると、直接アクセス機能部を用いて現在のGUIの状態を初期状態として取得し、ログとして記憶装置に出力して記録し、イベント検出機能部を用いて最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウの消滅イベントを検出するリスナを設定し、その後、入力装置よりログ記録終了の指示が入力されるまでの間、直接アクセス機能部を用いてログ記録対象ソフトウェアのGUIの状態を取得するタイミングの指定に応じて、最前面ウインドウのGUIの状態をログとして記憶装置に出力して記録し、さらに、イベント検出機能部により最前面ウインドウ以外のGUIの状態の変更イベントまたはウインドウ消滅イベントが検出されているか調べ、そのイベント情報をログとして記憶装置に出力して記録するログ取得制御部とを具備する
ことを特徴とするユーザ操作のログ記録装置。
Log of user operation for GUI provided by the log recording target software operating on an arbitrary computer via the input device and the display device of the arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path The log display target software displays a GUI display state as a GUI on the screen of the display device and a GUI state represented by the display state of the GUI component in the window. A device for recording in a storage device of another computer connected to the computer through an arbitrary communication path,
The next device provided on the arbitrary computer or another computer connected to the arbitrary computer through an arbitrary communication path, that is, an input device;
A storage device;
A direct access function unit for directly accessing the log recording target software and obtaining a GUI state or a GUI state of only the frontmost window;
An event detection function unit for setting a listener that detects a GUI state change event other than the frontmost window or a window disappearance event, and detects these events that occur in response to a GUI state change;
When the designation of the GUI component to be excluded from the log acquisition target or the attribute information thereof and the specification of the timing for acquiring the GUI status of the log recording target software using the direct access function unit are input from the input device Is registered in the storage device, and when an instruction to start log recording is input from the input device, the current GUI state is acquired as an initial state using the direct access function unit, and is output to the storage device as a log for recording. Then, a listener for detecting a GUI state change event other than the frontmost window or a window disappearance event is set using the event detection function unit, and thereafter, an instruction to end log recording is input from the input device. According to the specification of the timing for acquiring the GUI status of the log recording target software using the direct access function unit The GUI status of the frontmost window is output to the storage device as a log and recorded. Further, the event detection function unit checks whether a change event of the GUI status other than the frontmost window or a window disappearance event is detected. A log recording device for user operation, comprising: a log acquisition control unit that outputs and records information as a log to a storage device.
JP2011240554A 2011-11-01 2011-11-01 User operation log recording method and apparatus thereof Active JP5382743B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011240554A JP5382743B2 (en) 2011-11-01 2011-11-01 User operation log recording method and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011240554A JP5382743B2 (en) 2011-11-01 2011-11-01 User operation log recording method and apparatus thereof

Publications (2)

Publication Number Publication Date
JP2013097616A true JP2013097616A (en) 2013-05-20
JP5382743B2 JP5382743B2 (en) 2014-01-08

Family

ID=48619489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011240554A Active JP5382743B2 (en) 2011-11-01 2011-11-01 User operation log recording method and apparatus thereof

Country Status (1)

Country Link
JP (1) JP5382743B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239155A (en) * 2012-04-17 2013-11-28 Fuji Electric Co Ltd Operation recording apparatus, operation record method and operation record program
WO2017159106A1 (en) * 2016-03-18 2017-09-21 三菱重工メカトロシステムズ株式会社 Monitoring device, aggregation system, monitoring method, and program
US10365801B2 (en) 2014-07-22 2019-07-30 Toyota Jidosha Kabushiki Kaisha User interface evaluation device and user interface evaluation method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257424A (en) * 2007-04-04 2008-10-23 Sky Kk Terminal monitoring method, terminal monitor and terminal monitoring program
JP2010160538A (en) * 2009-01-06 2010-07-22 Hitachi Ltd Terminal operation history storage system and user terminal
JP2011090384A (en) * 2009-10-20 2011-05-06 Nippon Telegr & Teleph Corp <Ntt> Method, system, and program for obtaining web frame page information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008257424A (en) * 2007-04-04 2008-10-23 Sky Kk Terminal monitoring method, terminal monitor and terminal monitoring program
JP2010160538A (en) * 2009-01-06 2010-07-22 Hitachi Ltd Terminal operation history storage system and user terminal
JP2011090384A (en) * 2009-10-20 2011-05-06 Nippon Telegr & Teleph Corp <Ntt> Method, system, and program for obtaining web frame page information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200401359006; 岡田 英彦: 'ユーザインタフェース変換に基づくPC遠隔操作システムの開発' ヒューマンインタフェース学会誌 第4巻,第4号, 20021125, p.235-244, ヒューマンインタフェース学会 *
JPN6013047610; 岡田 英彦: 'ユーザインタフェース変換に基づくPC遠隔操作システムの開発' ヒューマンインタフェース学会誌 第4巻,第4号, 20021125, p.235-244, ヒューマンインタフェース学会 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239155A (en) * 2012-04-17 2013-11-28 Fuji Electric Co Ltd Operation recording apparatus, operation record method and operation record program
US10365801B2 (en) 2014-07-22 2019-07-30 Toyota Jidosha Kabushiki Kaisha User interface evaluation device and user interface evaluation method
WO2017159106A1 (en) * 2016-03-18 2017-09-21 三菱重工メカトロシステムズ株式会社 Monitoring device, aggregation system, monitoring method, and program
KR20180112845A (en) * 2016-03-18 2018-10-12 미츠비시 쥬고 기카이 시스템 가부시키가이샤 Monitoring devices, aggregation systems, monitoring methods and programs
KR102156025B1 (en) * 2016-03-18 2020-09-15 미츠비시 쥬고 기카이 시스템 가부시키가이샤 Monitoring device, aggregation system, monitoring method and program

Also Published As

Publication number Publication date
JP5382743B2 (en) 2014-01-08

Similar Documents

Publication Publication Date Title
US8448142B2 (en) Incremental runtime compliance validation of renderable objects
US10042834B2 (en) Dynamic field extraction of data
US9195572B2 (en) Systems and methods for identifying user interface (UI) elements
US9235316B2 (en) Analytic process design
US10007596B2 (en) Generating test scripts through application integration
US9021442B2 (en) Dynamic scenario testing of web application
US9015666B2 (en) Updating product documentation using automated test scripts
US20120159449A1 (en) Call Stack Inspection For A Thread Of Execution
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
US20130159975A1 (en) Detecting a broken point in a web application automatic test case
US10303751B1 (en) System and method for interaction coverage
US11741002B2 (en) Test automation systems and methods using logical identifiers
US20150242380A1 (en) Checking testing coverage
US9043760B2 (en) Creating dynamic interactive views from trace events for performing deterministic performance analysis
US10528456B2 (en) Determining idle testing periods
US11436133B2 (en) Comparable user interface object identifications
US20180267888A1 (en) Automatic regression identification
CN111654495B (en) Method, apparatus, device and storage medium for determining traffic generation source
US20200293592A1 (en) Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors
CN113836014A (en) Interface testing method and device, electronic equipment and storage medium
JP5382743B2 (en) User operation log recording method and apparatus thereof
US20150121192A1 (en) Debugging errors in display of web pages with partial page refresh
US20200167153A1 (en) Highlight source code changes in user interface
EP4155944B1 (en) Database troubleshooting with automated functionality
JP6739599B1 (en) Information processing program, information processing method, and information processing apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130918

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130925

R150 Certificate of patent or registration of utility model

Ref document number: 5382743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350