JP6107337B2 - Operation recording apparatus, operation recording method, and operation recording program - Google Patents

Operation recording apparatus, operation recording method, and operation recording program Download PDF

Info

Publication number
JP6107337B2
JP6107337B2 JP2013076487A JP2013076487A JP6107337B2 JP 6107337 B2 JP6107337 B2 JP 6107337B2 JP 2013076487 A JP2013076487 A JP 2013076487A JP 2013076487 A JP2013076487 A JP 2013076487A JP 6107337 B2 JP6107337 B2 JP 6107337B2
Authority
JP
Japan
Prior art keywords
event
information
recording
gui
type
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.)
Active
Application number
JP2013076487A
Other languages
Japanese (ja)
Other versions
JP2013239155A (en
Inventor
好邦 佐藤
好邦 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2013076487A priority Critical patent/JP6107337B2/en
Publication of JP2013239155A publication Critical patent/JP2013239155A/en
Application granted granted Critical
Publication of JP6107337B2 publication Critical patent/JP6107337B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、操作記録装置、操作記録方法及び操作記録プログラムに関し、特に、GUIアプリケーションにおけるユーザ操作を記録する操作記録装置、操作記録方法及び操作記録プログラムに関する。   The present invention relates to an operation recording device, an operation recording method, and an operation recording program, and more particularly to an operation recording device, an operation recording method, and an operation recording program for recording user operations in a GUI application.

GUI(Graphical User Interface)を用いたアプリケーションにおいて、ユーザの操作の履歴を取得して保管する仕組みが存在する。ユーザの操作は、アプリケーションを構成するGUI要素において発生するイベント(例えば、「確認」ボタン上でのマウスの左ボタンのクリックや、テキストボックス内でのキーボード入力操作等)を検出することによって、取得することができる。このようにして取得されたユーザの操作の履歴は、例えば、ユーザの操作に起因して生じたアプリケーションの問題を解析するために用いられる。   In an application using a GUI (Graphical User Interface), there is a mechanism for acquiring and storing a history of user operations. User operations are obtained by detecting events that occur in the GUI elements that make up the application (for example, clicking the left mouse button on the “Confirm” button, keyboard input operations in a text box, etc.) can do. The user operation history acquired in this way is used, for example, to analyze an application problem caused by the user operation.

特許文献1には、計算機システム内で発生したイベントを検出し、イベントID又はイベントメッセージが所定の条件を満たすイベントを保存する、イベント制御装置が開示されている。   Patent Document 1 discloses an event control apparatus that detects an event that has occurred in a computer system and stores an event whose event ID or event message satisfies a predetermined condition.

特許文献2には、アプリケーションの起動、ウィンドウのオープン又は文字入力のようなユーザの操作を、アプリケーション又はウィンドウのIDと合わせて記憶する機構が開示されている。   Patent Document 2 discloses a mechanism for storing user operations such as application activation, window opening, or character input together with the application or window ID.

特許第3418034号Japanese Patent No. 3418034 特開2004−21438号公報JP 2004-21438 A

しかしながら、既存の方法においては、GUI要素において発生するイベントを検出するために、各GUI要素において、イベントを検出して記録する処理を実装する必要があった。このため、GUI要素の追加又は変更が行われるたびに、そのような処理を追加又は変更する必要があり、実装のためのコストがかかっていた。   However, in the existing method, in order to detect an event that occurs in the GUI element, it is necessary to implement a process for detecting and recording the event in each GUI element. For this reason, every time a GUI element is added or changed, it is necessary to add or change such processing, which is costly to implement.

本発明は、このような問題に鑑みてなされたものであり、GUIアプリケーションのGUI要素ごとにイベント検出処理を実装する必要のない操作記録装置を提供することを目的とする。   The present invention has been made in view of such a problem, and an object thereof is to provide an operation recording apparatus that does not need to implement an event detection process for each GUI element of a GUI application.

上述した課題を解決し目的を達成するため、本発明の一実施形態における操作記録装置は、
一以上のGUI要素を含むGUIアプリケーションにおけるユーザの操作を記録する操作記録装置であって、
前記GUI要素において検出されたイベントのうち、所定の型のイベントを検出するイベント検出手段と、
GUI要素の型の情報を用いて、検出された該イベントから前記ユーザの操作に関するイベントを特定するイベント特定手段と、
特定された前記イベントの情報を記録するイベント情報記録手段と、
を有する。
In order to solve the above-described problems and achieve the object, an operation recording apparatus according to an embodiment of the present invention is provided.
An operation recording apparatus for recording a user operation in a GUI application including one or more GUI elements,
Event detection means for detecting a predetermined type of events detected in the GUI element;
Event specifying means for specifying an event related to the user's operation from the detected event using information on a type of GUI element;
Event information recording means for recording information of the identified event;
Have

また、本発明の一実施形態における操作記録方法は、
一以上のGUI要素を含むGUIアプリケーションにおけるユーザの操作を記録する操作記録方法であって、
前記GUI要素において検出されたイベントのうち、所定の型のイベントを検出するイベント検出段階と、
GUI要素の型の情報を用いて、検出された該イベントから前記ユーザの操作に関するイベントを特定するイベント特定段階と、
特定された前記イベントの情報を記録するイベント情報記録段階と、
を有する。
In addition, an operation recording method according to an embodiment of the present invention includes:
An operation recording method for recording a user operation in a GUI application including one or more GUI elements,
An event detection step of detecting a predetermined type of events detected in the GUI element;
An event identification step of identifying an event related to the user's operation from the detected event using information on a type of GUI element;
An event information recording step for recording information of the identified event;
Have

また、本発明の一実施形態における操作記録プログラムは、
一以上のGUI要素を含むGUIアプリケーションにおけるユーザの操作を記録する操作記録方法をコンピュータに実行させる操作記録プログラムであって、
前記GUI要素において検出されたイベントのうち、所定の型のイベントを検出するイベント検出段階と、
GUI要素の型の情報を用いて、検出された該イベントから前記ユーザの操作に関するイベントを特定するイベント特定段階と、
特定された前記イベントの情報を記録するイベント情報記録段階と、
をコンピュータに実行させる、操作記録プログラムである。
The operation recording program in one embodiment of the present invention is:
An operation recording program for causing a computer to execute an operation recording method for recording a user operation in a GUI application including one or more GUI elements,
An event detection step of detecting a predetermined type of events detected in the GUI element;
An event identification step of identifying an event related to the user's operation from the detected event using information on a type of GUI element;
An event information recording step for recording information of the identified event;
Is an operation recording program that causes a computer to execute.

本発明によれば、GUIアプリケーションのGUI要素ごとにイベント検出処理を実装する必要のない操作記録装置を提供できる。   ADVANTAGE OF THE INVENTION According to this invention, the operation recording apparatus which does not need to mount an event detection process for every GUI element of a GUI application can be provided.

本発明の一実施形態における操作記録装置のハードウェア構成の例を表す図。The figure showing the example of the hardware constitutions of the operation recording apparatus in one Embodiment of this invention. 本発明の一実施形態における操作記録装置の機能ブロックの例を表す図。The figure showing the example of the functional block of the operation recording apparatus in one Embodiment of this invention. GUIアプリケーションを構成するGUI要素の要素ツリーの例を表す図。The figure showing the example of the element tree of the GUI element which comprises a GUI application. 本発明の一実施形態における操作記録装置によるGUIアプリケーションの起動時の処理を表すフローチャート。The flowchart showing the process at the time of starting of the GUI application by the operation recording apparatus in one Embodiment of this invention. 本発明の一実施形態における操作記録装置によるイベント検出処理を表すフローチャート。The flowchart showing the event detection process by the operation recording device in one Embodiment of this invention. 本発明の一実施形態における操作記録装置による操作履歴の記録処理を表すフローチャート。The flowchart showing the recording process of the operation history by the operation recording apparatus in one Embodiment of this invention. 本発明の一実施形態における操作記録装置による操作履歴の記録処理を表すフローチャート。The flowchart showing the recording process of the operation history by the operation recording apparatus in one Embodiment of this invention. 本発明の一実施形態における操作記録装置が用いるイベント抽出条件定義テーブルの例を表す図。The figure showing the example of the event extraction condition definition table which the operation recording device in one Embodiment of this invention uses. 本発明の一実施形態における操作記録装置が用いる対象要素型定義テーブルの例を表す図。The figure showing the example of the object element type definition table which the operation recording device in one embodiment of the present invention uses. 本発明の一実施形態における操作記録装置が用いる対象要素テーブルの例を表す図。The figure showing the example of the object element table which the operation recording device in one Embodiment of this invention uses. 本発明の一実施形態における操作記録装置が出力する操作履歴情報の例を表す図。The figure showing the example of the operation history information which the operation recording device in one embodiment of the present invention outputs. GUIアプリケーションの表示例を表す図。The figure showing the example of a display of a GUI application. GUIアプリケーションのXAMLファイルの例を表す図。The figure showing the example of the XAML file of a GUI application. 本発明の一実施形態における操作記録装置によるGUIアプリケーションの起動時の処理を表すフローチャート。The flowchart showing the process at the time of starting of the GUI application by the operation recording apparatus in one Embodiment of this invention. 本発明の一実施形態における操作記録装置によるイベント検出処理を表すフローチャート。The flowchart showing the event detection process by the operation recording device in one Embodiment of this invention. 本発明の一実施形態における操作記録装置が用いる対象要素名定義テーブルの例を表す図。The figure showing the example of the object element name definition table which the operation recording device in one Embodiment of this invention uses. 本発明の一実施形態における操作記録装置が用いる対象要素型定義テーブルの例を表す図。The figure showing the example of the object element type definition table which the operation recording device in one embodiment of the present invention uses. 本発明の一実施形態における操作記録装置が用いる対象要素テーブルの例を表す図。The figure showing the example of the object element table which the operation recording device in one Embodiment of this invention uses. 本発明の一実施形態における操作記録装置が出力する操作履歴情報の例を表す図。The figure showing the example of the operation history information which the operation recording device in one embodiment of the present invention outputs.

以下、本発明の実施形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

1.概要
2.ハードウェア構成
3.機能構成
4.処理フロー
4.1 GUIアプリケーションの起動時の処理フロー
4.2 イベント検出処理フロー
4.3 操作履歴の記録処理フロー
5.応用例
1. Overview 2. 2. Hardware configuration Functional configuration 4. Process Flow 4.1 Process Flow at GUI Application Startup 4.2 Event Detection Process Flow 4.3 Operation History Recording Process Flow Application examples

(1.概要)
まず、本発明の一実施形態における操作記録装置の構成の概要について説明する。当該操作記録装置と、操作の記録対象となるGUIアプリケーションは、Microsoft(登録商標)社によって開発された、WPF(Windows Presentation Foundation)のフレームワークを用いて構成することができる。
(1. Overview)
First, the outline of the configuration of the operation recording apparatus according to an embodiment of the present invention will be described. The operation recording device and the GUI application that is the operation recording target can be configured using a WPF (Windows Presentation Foundation) framework developed by Microsoft (registered trademark).

WPFにおいては、GUIアプリケーションを構成するGUI要素が、例えば図3で表されるような木構造300(以下、「要素ツリー」と呼ぶ)を構成する。図3の例では、ルート要素310(根ノード)は「Window」要素であり、その子要素(子ノード)として、「Canvas」要素と「Grid」要素が存在する。そして、「Grid」要素の下に、さらに子要素としての「Button」要素と「Checkbox」要素が存在する。WPFでは、これらのGUI要素に対して行われるユーザの入力に応じて、バブルイベントとトンネルイベントの二種類のイベントが発生する。WPFは、バブルイベントが発生すると、最初にイベントの発生元のGUI要素に登録されたイベントハンドラを呼び出し、要素ツリー300のルート要素310に到達するまで、順次、親要素のイベントハンドラを呼び出す。一方、WPFは、トンネルイベントが発生すると、最初にルート要素310に登録されたイベントハンドラを呼び出す。そして、その後、要素ツリー300に従って、イベント発生元の要素まで、順次、子要素のイベントハンドラを呼び出す。これらのイベントの発生に伴って呼び出されたイベントハンドラは、WPFから、イベント発生元であるGUI要素の情報や、GUI要素の状態を示すプロパティ(属性情報)を含む、イベント付帯情報を受信する。なお、要素ツリー300は、WPFによるGUIアプリケーションに含まれる、XAML(Extensible Application Markup Language)形式のファイルから取得することができる。   In the WPF, GUI elements constituting a GUI application form a tree structure 300 (hereinafter referred to as “element tree”) as shown in FIG. 3, for example. In the example of FIG. 3, the root element 310 (root node) is a “Window” element, and “Canvas” and “Grid” elements exist as its child elements (child nodes). Under the “Grid” element, there are further “Button” elements and “Checkbox” elements as child elements. In WPF, two types of events, a bubble event and a tunnel event, occur in response to user input performed on these GUI elements. When a bubble event occurs, the WPF first calls an event handler registered in the GUI element that generated the event, and sequentially calls the event handlers of the parent element until the root element 310 of the element tree 300 is reached. On the other hand, when a tunnel event occurs, the WPF first calls an event handler registered in the root element 310. After that, according to the element tree 300, the event handlers of the child elements are sequentially called up to the event generation source element. The event handler called in response to the occurrence of these events receives event-accompanying information including information on the GUI element that is the event generation source and properties (attribute information) indicating the state of the GUI element from the WPF. The element tree 300 can be acquired from a file in the XAML (Extensible Application Markup Language) format included in the GUI application by WPF.

本発明の一実施形態における操作記録装置は、要素ツリー300のルート要素310に対してイベント検出処理を行うイベントハンドラを登録することで、要素ツリーを構成する全ての子要素におけるトンネルイベントのイベント付帯情報を取得することができる。その結果、要素ツリーを構成するGUI要素ごとに、イベント検出処理を実装する必要がなくなる。   The operation recording apparatus according to the embodiment of the present invention registers an event handler that performs an event detection process on the root element 310 of the element tree 300, thereby adding an event incident to a tunnel event in all the child elements constituting the element tree. Information can be acquired. As a result, it is not necessary to implement an event detection process for each GUI element constituting the element tree.

(2.ハードウェア構成)
図1を用いて、本発明の一実施形態における操作記録装置100のハードウェア構成について説明する。図1で例示される操作記録装置100は、CPU102と、ROM104と、RAM106と、HDD108と、通信装置110と、表示装置112と、入力装置114と、バス116を有する。
(2. Hardware configuration)
The hardware configuration of the operation recording apparatus 100 according to an embodiment of the present invention will be described with reference to FIG. The operation recording device 100 illustrated in FIG. 1 includes a CPU 102, a ROM 104, a RAM 106, an HDD 108, a communication device 110, a display device 112, an input device 114, and a bus 116.

CPU102は、当該操作記録装置100の動作制御を行うシステムプログラムや、ユーザアプリケーションを実行する。ROM104は、CPU102が実行するシステムプログラム等を記憶する。RAM106は、CPU102のワークエリアを構成する。HDD108は、システムプログラム、ユーザアプリケーション及びユーザデータ等を記憶する。通信装置110は、例えば、有線又は無線の通信インターフェースとその制御装置を含み、外部の装置と通信を行うために用いられる。表示装置112は、例えば、ディスプレイ及びグラフィックスコントローラを含み、ユーザに対して情報を提示する。入力装置114は、例えばキーボードやマウス、タッチパネルのような、ユーザから入力を受け付ける。バス116は、操作記録装置100を構成する上記装置を相互に接続し、データのやり取りを行う。   The CPU 102 executes a system program for controlling the operation of the operation recording apparatus 100 and a user application. The ROM 104 stores a system program executed by the CPU 102 and the like. The RAM 106 constitutes a work area for the CPU 102. The HDD 108 stores system programs, user applications, user data, and the like. The communication device 110 includes, for example, a wired or wireless communication interface and its control device, and is used to communicate with an external device. The display device 112 includes, for example, a display and a graphics controller, and presents information to the user. The input device 114 receives input from a user such as a keyboard, a mouse, and a touch panel. The bus 116 connects the above-described devices constituting the operation recording device 100 to each other and exchanges data.

上記構成により、本発明の一実施形態における操作記録装置100は、GUIアプリケーションのGUI要素ごとにイベント検出処理を実装する必要のない操作記録装置を提供することができる。   With the above configuration, the operation recording apparatus 100 according to an embodiment of the present invention can provide an operation recording apparatus that does not need to implement an event detection process for each GUI element of a GUI application.

(3.機能構成)
次に、図2を用いて、本発明の一実施形態における操作記録装置100の機能ブロックについて説明する。図2には、操作記録装置100が備える様々な要素のうち、本実施形態の説明に特に関連する要素が示されている。図2における操作記録装置100は、入力手段200と、イベント通知手段202と、登録手段204と、対象イベント管理手段206と、イベント検出手段208と、イベント特定手段210と、対象要素管理手段212と、操作履歴記録手段214と、表示手段216を有する。
(3. Functional configuration)
Next, functional blocks of the operation recording apparatus 100 according to an embodiment of the present invention will be described with reference to FIG. FIG. 2 shows elements particularly relevant to the description of the present embodiment among various elements included in the operation recording apparatus 100. 2 includes an input unit 200, an event notification unit 202, a registration unit 204, a target event management unit 206, an event detection unit 208, an event identification unit 210, and a target element management unit 212. Operation history recording means 214 and display means 216.

入力手段200は、GUIアプリケーションを利用するユーザが、入力装置114を通じて行った入力を受け付ける。当該入力の情報(例えば、マウスのどのボタンがクリックされたか、どのキー入力がなされたか、等)は、OS(Operating System)を通じて、イベント通知手段202に通知される。   The input unit 200 receives an input made by the user using the GUI application through the input device 114. Information on the input (for example, which button of the mouse has been clicked, which key input has been made, etc.) is notified to the event notification means 202 through the OS (Operating System).

イベント通知手段202は、入力手段200におけるユーザからの入力を、入力イベントとして、イベント検出手段208に通知する。当該通知は、イベント通知手段202が、後述する登録手段204によってルート要素310に登録された、イベントハンドラとしてのイベント検出手段208を呼び出すことによって行われる。また、イベント通知手段202は、当該通知とともに、イベント付帯情報をイベント検出手段208に渡す。イベント通知手段202は、WPFの機能を用いて実現できる。   The event notification unit 202 notifies the event detection unit 208 of the input from the user in the input unit 200 as an input event. The notification is performed when the event notification unit 202 calls the event detection unit 208 as an event handler registered in the root element 310 by the registration unit 204 described later. In addition, the event notification unit 202 passes event-accompanying information to the event detection unit 208 together with the notification. The event notification unit 202 can be realized by using a WPF function.

登録手段204は、イベント検出手段208を、イベントハンドラとしてイベント通知手段202に登録する。より詳細には、登録手段204は、後述する対象イベント管理手段206において特定されたイベントの型についてのイベントを取得できるよう、イベント検出手段208を、要素ツリーのルート「Window」に対して登録する。WPFにおける、イベントハンドラの登録手続きは、以下の通りである。
要素オブジェクト.イベント型 += イベントハンドラ
要素オブジェクトとは、GUI要素のオブジェクト(インスタンス)を表す。本実施形態では、図3に示すように、ルート要素310である「Window」のオブジェクトを指定する。イベント型とは、ユーザからの入力の態様に応じて予め定義されたイベントの型であり、例えば、「PreviewMouseLeftButtonDown」や、「PreviewKeyDown」等がある。「PreviewMouseLeftButtonDown」は、マウスの左ボタンがクリックされたときに発生するトンネルイベントの型を表す。また、「PreviewKeyDown」は、キーボードのボタンが押下されたときに発生するトンネルイベントを表す。本実施形態では、ルート要素310において、要素ツリー300を構成する子要素全てのイベントを全て検出できるように、トンネルイベントの型を指定する。本実施形態においては、イベントハンドラは、イベント検出手段208に相当する。登録手段204は、後述する対象イベント管理手段206によって特定されたイベント型について、イベント検出手段208を登録する。
The registration unit 204 registers the event detection unit 208 in the event notification unit 202 as an event handler. More specifically, the registration unit 204 registers the event detection unit 208 with respect to the root “Window” of the element tree so that an event regarding the event type specified by the target event management unit 206 described later can be acquired. . The event handler registration procedure in WPF is as follows.
Element object. Event type + = Event handler An element object represents an object (instance) of a GUI element. In the present embodiment, as shown in FIG. 3, an object of “Window” that is the root element 310 is designated. The event type is a type of event that is defined in advance according to the mode of input from the user, and includes, for example, “PreviewMouseLeftButtonDown”, “PreviewKeyDown”, and the like. “PreviewMouseLeftButtonDown” represents the type of tunnel event that occurs when the left mouse button is clicked. “PreviewKeyDown” represents a tunnel event that occurs when a keyboard button is pressed. In the present embodiment, the type of tunnel event is specified in the root element 310 so that all the events of all the child elements constituting the element tree 300 can be detected. In the present embodiment, the event handler corresponds to the event detection unit 208. The registration unit 204 registers the event detection unit 208 for the event type specified by the target event management unit 206 described later.

対象イベント管理手段206は、登録手段204がイベントハンドラを登録する時に指定すべき、イベントの型を特定する。当該イベントの型は、例えば図8に示されるイベント抽出条件定義テーブル800によって定義される。図8に示されるイベント抽出条件定義テーブル800は、イベントIDと、イベント型と、イベント表記名の項目を含む。イベントIDは、検出されたイベントの型を特定するために付されたIDである。イベント型は、検出対象となるイベントの型を表す。イベント表記名は、イベントの型を、ユーザにとってわかりすい表現にするための表記名である。イベント表記名は、後に、操作の履歴を記録する際に用いられる。先述した登録手段204は、当該対象イベント管理手段206によって特定されたイベントの型の、イベント情報を検出できる。なお、イベント抽出条件定義テーブル800は、ユーザによって予め定義されてもよい。また、対象イベント管理手段206は、必要に応じて、イベント抽出条件定義テーブル800に記載された内容を追加又は削除してもよい。   The target event management unit 206 specifies an event type to be specified when the registration unit 204 registers an event handler. The event type is defined by, for example, an event extraction condition definition table 800 shown in FIG. The event extraction condition definition table 800 shown in FIG. 8 includes items of event ID, event type, and event notation name. The event ID is an ID assigned to specify the type of the detected event. The event type represents the type of event to be detected. The event name is a name for making the event type easy to understand for the user. The event notation name will be used later when an operation history is recorded. The registration unit 204 described above can detect event information of the event type specified by the target event management unit 206. Note that the event extraction condition definition table 800 may be defined in advance by the user. Further, the target event management unit 206 may add or delete the contents described in the event extraction condition definition table 800 as necessary.

イベント検出手段208は、イベント通知手段202からの通知を受けて、対象イベント管理手段206によって特定されたイベントの型のイベントを検出する。また、イベント検出手段208は、イベント検知手段204から、イベント発生元要素の情報や、GUI要素の状態を示すプロパティを含む、イベント付帯情報を受け取る。例えば、WPFにおいて、イベントハンドラであるイベント検出手段208は、イベント検知手段204から、イベント付帯情報を含むオブジェクトへの参照を、引数として受け取る。受け取ったイベント付帯情報は、イベント特定手段210に渡される。   The event detection unit 208 receives the notification from the event notification unit 202 and detects an event of the event type specified by the target event management unit 206. The event detection unit 208 also receives event-accompanying information including information on the event generation source element and a property indicating the state of the GUI element from the event detection unit 204. For example, in WPF, the event detection unit 208 that is an event handler receives a reference from the event detection unit 204 to an object that includes event-accompanying information as an argument. The received event incidental information is passed to the event identification unit 210.

イベント特定手段210は、イベント検出手段208からイベント付帯情報を受け取る。そして、受け取ったイベント付帯情報のイベント発生元のGUI要素の型が、後述する対象要素管理手段212によって指定されたGUI要素の型であれば、イベント付帯情報から、所定のプロパティ情報を取得する。所定のプロパティ情報とは、例えば、要素の型が「System.Windows.Controls.Button」である場合には、GUI要素のオブジェクト名及びボタンのラベルであってもよい。取得されるプロパティ情報は任意である。取得すべきプロパティ情報は、後述する対象要素管理手段212によって特定される。取得されたプロパティ情報は、イベント発生日時情報、当該要素型の要素表記名、及び特定されたイベントのイベント表記名とともに、操作履歴情報として、操作履歴記録手段214に渡される。ここで、イベント発生日時情報には、例えば、イベント検出手段208がイベントを検出した日時を格納することができる。イベント発生日時情報は、任意のタイミングで取得することができる。要素表記名は、特定したイベントの発生元要素の要素表記名であり、例えば、後述する対象要素テーブル1000(図10)を参照することで取得できる。イベント表記名は、特定したイベントのイベント表記名であり、例えば、図8のイベント抽出条件定義テーブル800を参照することで取得できる。なお、イベント検出手段208から受け取ったイベント付帯情報が、対象要素管理手段212によって指定された要素の型についての情報を含まない場合には、操作履歴記録手段214に対して、情報は渡されない。   The event identification unit 210 receives event-accompanying information from the event detection unit 208. If the type of the GUI element that is the event generation source of the received event-accompanying information is the type of the GUI element specified by the target element management unit 212 described later, predetermined property information is acquired from the event-accompanying information. For example, when the element type is “System.Windows.Controls.Button”, the predetermined property information may be an object name of a GUI element and a button label. The property information to be acquired is arbitrary. Property information to be acquired is specified by the target element management unit 212 described later. The acquired property information is passed to the operation history recording unit 214 as operation history information together with event occurrence date / time information, an element notation name of the element type, and an event notation name of the identified event. Here, in the event occurrence date and time information, for example, the date and time when the event detection unit 208 detects the event can be stored. Event occurrence date / time information can be acquired at an arbitrary timing. The element notation name is an element notation name of the identified event generation element, and can be acquired by referring to a target element table 1000 (FIG. 10) described later, for example. The event notation name is the event notation name of the identified event, and can be acquired by referring to the event extraction condition definition table 800 in FIG. 8, for example. Note that if the event-accompanying information received from the event detection unit 208 does not include information about the type of the element specified by the target element management unit 212, no information is passed to the operation history recording unit 214.

対象要素管理手段212は、操作履歴の記録の対象となるGUI要素の型と、取得すべきGUI要素の状態を表すプロパティを特定する。GUI要素の型は、例えば図10に示される対象要素テーブル1000によって定義される。図10に示される対象要素テーブル1000は、要素IDと、要素型と、要素表記名と、取得プロパティ1と、取得プロパティ2の項目を含む。要素IDは、要素の型を特定するために付されたIDである。要素型は、情報を取得すべき対象となるGUI要素の型である。要素表記名は、GUI要素をわかりすく表現した表記名である。要素表記名は、後に、ユーザの操作の履歴を記録する際に用いられる。取得プロパティ1、2は、GUI要素から取得すべきプロパティを示す。GUI要素から取得可能なプロパティは、GUI要素の型によってそれぞれ異なる。本実施形態において、指定可能なプロパティの種類や個数は、任意である。先述したイベント特定手段210は、受け取ったイベント付帯情報から、イベント発生元の要素の型を特定し、対象要素テーブル1000の要素型の項目を参照することで、当該イベント付帯情報が、操作履歴として記録すべき情報であるかを判定する。なお、図10に示される対象要素テーブル1000は、図9に示される対象要素型定義テーブル900に基づいて、自動的に生成されたものである。対象要素型定義テーブル900は、予めユーザによって定義された、情報を取得すべき要素型を定義したテーブルである。対象要素管理手段212は、予め、対象要素型定義テーブル900で定義された要素型のうち、操作記録の対象であるGUIアプリケーションに含まれる要素型のみを抽出し、対象要素テーブル1000を生成する。なお、GUIアプリケーションに含まれるGUI要素の型は、XAML形式で表現される要素ツリー300の情報として、取得可能である。   The target element management unit 212 identifies the type of the GUI element that is the target of the operation history recording and the property that represents the state of the GUI element to be acquired. The type of GUI element is defined by a target element table 1000 shown in FIG. 10, for example. The target element table 1000 shown in FIG. 10 includes items of element ID, element type, element notation name, acquisition property 1, and acquisition property 2. The element ID is an ID given to specify the element type. The element type is a type of GUI element that is a target for which information is to be acquired. The element notation name is a notation name that clearly represents the GUI element. The element notation name is used later when a history of user operations is recorded. Acquisition properties 1 and 2 indicate properties to be acquired from the GUI element. Properties that can be acquired from the GUI element differ depending on the type of the GUI element. In the present embodiment, the types and number of properties that can be specified are arbitrary. The event specifying unit 210 described above specifies the type of the event source element from the received event incidental information, and refers to the element type item of the target element table 1000, so that the event incidental information is stored as an operation history. It is determined whether the information is to be recorded. The target element table 1000 shown in FIG. 10 is automatically generated based on the target element type definition table 900 shown in FIG. The target element type definition table 900 is a table in which element types that are defined in advance by the user and for which information is to be acquired are defined. The target element management unit 212 extracts only the element types included in the GUI application that is the target of operation recording from the element types defined in the target element type definition table 900 in advance, and generates the target element table 1000. Note that the type of the GUI element included in the GUI application can be acquired as information of the element tree 300 expressed in the XAML format.

操作履歴記録手段214は、イベント特定手段212から受け取った操作履歴情報を記録する。図11は、記録された操作履歴情報をテーブル形式で格納した例を表す。格納される各項目のうち、イベント発生日時、要素表記名、イベント表記名は、上述した通りである。また、取得プロパティ1、2には、対象要素テーブル1000(図10)で指定され、イベント特定手段210において取得されたプロパティの値が格納される。例えば、図11の要素表記名「ボタン」に関する記録は、図10における要素型「System.Windows.Controls.Button」から取得された「Name」プロパティの値は「button1」であり、「Label」プロパティの値は「確認」であったことを示している。また、詳細については後述するが、操作履歴記録手段214は、操作履歴の記録処理に関して、性能重視の方式と、確実性重視の方式の、二通りの形態をとることができる。前者の方式では、当該操作履歴の記録処理命令が、メモリ上に配置されたキューに蓄積され、別スレッドから、キューに蓄積された記録処理が随時実行される。一方、後者の方式では、操作履歴の記録を逐次出力する。なお、操作履歴記録手段214は、例えばファイル形式やデータベースへの書き込みのような、任意の方法で操作履歴情報を記録する。   The operation history recording unit 214 records the operation history information received from the event specifying unit 212. FIG. 11 shows an example in which recorded operation history information is stored in a table format. Among the stored items, the event occurrence date / time, element notation name, and event notation name are as described above. The acquired properties 1 and 2 store the property values specified by the target element table 1000 (FIG. 10) and acquired by the event specifying unit 210. For example, in the record related to the element notation name “button” in FIG. 11, the value of the “Name” property acquired from the element type “System.Windows.Controls.Button” in FIG. 10 is “button1”, and the “Label” property The value of indicates “confirmation”. As will be described in detail later, the operation history recording unit 214 can take two forms of the operation history recording process: a performance-oriented method and a certainty-oriented method. In the former method, the operation history recording process command is accumulated in a queue arranged on the memory, and the recording process accumulated in the queue is executed from another thread as needed. On the other hand, in the latter method, operation history records are sequentially output. The operation history recording unit 214 records the operation history information by an arbitrary method such as writing to a file format or a database.

表示手段216は、ユーザからの指示により、操作履歴記録手段214によって格納された操作履歴を表示装置112上に表示する。   The display unit 216 displays the operation history stored by the operation history recording unit 214 on the display device 112 according to an instruction from the user.

上記構成により、本発明の一実施形態における操作記録装置100は、GUIアプリケーションのGUI要素ごとに操作履歴情報を記録する処理を実装する必要がなくなり、開発コストの低減に寄与する。また、ユーザによって予めイベント抽出条件を定義可能とすることで、ユーザの所望する操作履歴の情報を記録することができる。特に、ユーザは、イベント抽出条件の定義を随時追加又は変更することができ、所望のイベントのみを選択的に記録することが出来る。   With the above configuration, the operation recording apparatus 100 according to an embodiment of the present invention does not need to implement a process of recording operation history information for each GUI element of the GUI application, which contributes to a reduction in development cost. In addition, by making it possible to define event extraction conditions in advance by the user, it is possible to record information on operation history desired by the user. In particular, the user can add or change the definition of the event extraction condition at any time, and can selectively record only a desired event.

なお、イベント特定手段210、操作履歴記録手段214は、イベント検出手段208の一部として実現されてもよい。   The event specifying unit 210 and the operation history recording unit 214 may be realized as part of the event detection unit 208.

(4.処理フロー)
次に、図4−図7を用いて、本発明の一実施形態における操作記録装置100の処理フローについて説明する。
(4. Processing flow)
Next, a processing flow of the operation recording apparatus 100 according to an embodiment of the present invention will be described with reference to FIGS.

(4.1 GUIアプリケーションの起動時の処理フロー)
まず、図4を用いて、GUIアプリケーションの起動時の処理フローについて説明する。
(4.1 Processing flow at GUI application startup)
First, the processing flow when starting up the GUI application will be described with reference to FIG.

ステップS400において、操作履歴の記録対象となるGUIアプリケーションが起動されると、当該処理が開始する。   In step S400, when a GUI application that is an operation history recording target is activated, the processing starts.

ステップS402において、対象イベント管理手段206は、ユーザによって予め定義されたイベント抽出条件定義テーブル800(図8)を読み込み、操作履歴取得の対象とするイベント(トンネルイベント)を特定する。   In step S <b> 402, the target event management unit 206 reads the event extraction condition definition table 800 (FIG. 8) defined in advance by the user, and identifies an event (tunnel event) that is a target of operation history acquisition.

ステップS404において、登録手段204は、対象イベント管理手段206によって特定されたイベントのイベント型を対象として、イベントハンドラ(イベント検出手段208)を、要素ツリー300のルート要素310に登録する。   In step S <b> 404, the registration unit 204 registers an event handler (event detection unit 208) in the root element 310 of the element tree 300 for the event type of the event specified by the target event management unit 206.

ステップS406において、対象要素管理手段212は、ユーザによって予め定義された対象要素型定義テーブル900(図9)と、GUIアプリケーションを構成するGUI要素の要素ツリー300を照合する。そして、GUIアプリケーションに実際に含まれるGUI要素の中から、操作履歴の対象とすべきGUI要素を抽出して、対象要素テーブル1000(図10)を生成する。   In step S406, the target element management unit 212 collates the target element type definition table 900 (FIG. 9) defined in advance by the user with the element tree 300 of the GUI elements constituting the GUI application. Then, a GUI element to be a target of the operation history is extracted from the GUI elements actually included in the GUI application, and the target element table 1000 (FIG. 10) is generated.

以上により、本発明の一実施形態における操作記録装置100は、GUIアプリケーションで発生したイベントのうち、ユーザによって予め指定されたイベント型のイベントを検出することができる。また、ユーザによって予め指定されたGUI要素のうち、GUIアプリケーションを構成するGUI要素で発生したイベントを検出することができる。   As described above, the operation recording apparatus 100 according to the embodiment of the present invention can detect an event type event designated in advance by the user among events generated in the GUI application. In addition, among the GUI elements designated in advance by the user, it is possible to detect an event that has occurred in the GUI elements constituting the GUI application.

(4.2 イベント検出処理フロー)
次に、図5を用いて、イベント検出処理フローについて説明する。
(4.2 Event detection process flow)
Next, the event detection process flow will be described with reference to FIG.

ステップS500において、GUIアプリケーション上で、ユーザが入力手段200を通じて入力操作を行うと、当該処理が開始する。   In step S500, when the user performs an input operation through the input unit 200 on the GUI application, the process starts.

ステップS502において、イベント通知手段202は、ユーザからの入力に対応するイベント(トンネルイベント)を、イベント検出手段208(ルート要素310の各イベント型に対して登録されたイベントハンドラ)に通知する。この時、イベント通知手段202は、イベント発生元要素の情報や、GUI要素の状態を示すプロパティを含む、イベント付帯情報を、イベント検出手段208に渡す。   In step S502, the event notification unit 202 notifies an event (tunnel event) corresponding to an input from the user to the event detection unit 208 (event handler registered for each event type of the root element 310). At this time, the event notification unit 202 passes event-accompanying information including information on the event generation source element and a property indicating the state of the GUI element to the event detection unit 208.

ステップS504において、イベント検出手段208は、イベントを検出し、イベント付帯情報を受け取る。受け取ったイベント付帯情報は、イベント特定手段210に渡される。   In step S504, the event detection unit 208 detects an event and receives event-accompanying information. The received event incidental information is passed to the event identification unit 210.

ステップS506において、イベント特定手段210は、イベント付帯情報から、イベント発生元であるGUI要素の型についての情報を取得する。   In step S506, the event specifying unit 210 acquires information about the type of the GUI element that is the event generation source from the event-accompanying information.

ステップS508において、イベント特定手段210は、イベント発生元要素の型と、対象要素テーブル1000(図10)の要素型を比較して、該当するものがあるか照合を行う。その結果、該当するものがある場合には、ステップS510に進む。該当するものがない場合には、ステップS514に進み、処理を終了する。   In step S508, the event specifying unit 210 compares the type of the event generation source element with the element type of the target element table 1000 (FIG. 10), and checks whether there is a corresponding one. As a result, if there is a corresponding item, the process proceeds to step S510. If there is no corresponding item, the process advances to step S514 to end the process.

ステップS510において、イベント特定手段210は、イベント付帯情報から、イベント発生元要素のプロパティ情報を取得する。取得すべきプロパティ情報は、対象要素テーブル1000(図10)によって定義され、イベント発生元要素の型によって異なる。また、イベント特定手段210は、イベント発生日時情報、イベント発生元要素の要素表記名、特定されたイベントのイベント表記名を取得する。そして、イベント発生日時情報、イベント発生元要素の要素表記名、特定されたイベントのイベント表記名、プロパティ情報を、操作履歴情報として、操作履歴記録手段214に渡す。   In step S510, the event specifying unit 210 acquires the property information of the event generation source element from the event incidental information. Property information to be acquired is defined by the target element table 1000 (FIG. 10), and differs depending on the type of the event generation source element. Further, the event specifying unit 210 acquires event occurrence date / time information, an element notation name of an event occurrence source element, and an event notation name of the specified event. Then, the event occurrence date / time information, the element notation name of the event occurrence source element, the event notation name of the identified event, and property information are passed to the operation history recording unit 214 as operation history information.

ステップS512において、操作履歴記録手段214は、イベント特定手段210から受け取った情報を、操作履歴として記録する。記録された操作履歴を格納するテーブルの例を図11に示す。ここで、操作履歴記録手段214は、操作履歴の記録処理に関して、性能重視の方式と、確実性重視の方式の、二通りの形態をとることができる。それぞれの方式の処理については後述する。   In step S512, the operation history recording unit 214 records the information received from the event specifying unit 210 as an operation history. An example of a table for storing the recorded operation history is shown in FIG. Here, the operation history recording means 214 can take two forms of the operation history recording process, a performance-oriented method and a certainty-oriented method. Each type of processing will be described later.

このように、本発明の一実施形態における操作記録装置100は、ユーザによって指定されたイベントの型と要素の型に基づいて、操作履歴を取得することができる。ユーザは、記録された操作履歴を用いて、アプリケーションの実際の利用状況を把握することが可能となる。また、ユーザは、記録された操作履歴を用いて、アプリケーションに問題が発生した場合の原因調査や、問題の再現を行うことができる。   As described above, the operation recording apparatus 100 according to the embodiment of the present invention can acquire the operation history based on the event type and the element type specified by the user. The user can grasp the actual usage status of the application using the recorded operation history. Further, the user can investigate the cause when a problem occurs in the application and reproduce the problem by using the recorded operation history.

(4.3 操作履歴の記録処理フロー)
次に、図6、7を用いて、操作履歴の記録処理フローについて説明する。上述したように、操作履歴記録手段214は、操作履歴の記録処理に関して、性能重視の方式と、確実性重視の方式の、2種類の実施方式を選択的に利用することができる。記録された操作履歴は、後に、表示手段216によって、ユーザに対して提示されてもよい。
(4.3 Operation history recording process flow)
Next, an operation history recording process flow will be described with reference to FIGS. As described above, the operation history recording unit 214 can selectively use two types of implementation methods, namely, a performance-oriented method and a certainty-oriented method with respect to operation history recording processing. The recorded operation history may be presented to the user later by the display means 216.

図6は、性能重視の方式における処理フローを表す。当該方式においては、操作履歴記録手段214は、二つのスレッドによる並列処理によって、操作履歴を記録する。   FIG. 6 shows a processing flow in the performance-oriented method. In this method, the operation history recording unit 214 records the operation history by parallel processing using two threads.

ステップS600において、操作履歴記録手段214の第一スレッドによる処理が開始する。   In step S600, processing by the first thread of the operation history recording unit 214 is started.

ステップS602において、操作履歴記録手段214は、イベント特定手段210から受け取った操作履歴情報の記録処理命令を、メモリ上に配置された操作履歴記録キューに記録する。当該記録処理は、後述する第二スレッド(ステップS650−S658)において、並列に処理される。   In step S602, the operation history recording unit 214 records the operation history information recording processing command received from the event specifying unit 210 in the operation history recording queue arranged in the memory. The recording process is processed in parallel in a second thread (steps S650 to S658) described later.

ステップS604において、当該処理は終了する。   In step S604, the process ends.

ステップS650において、操作履歴記録手段214の第二スレッドによる処理が開始する。   In step S650, processing by the second thread of the operation history recording unit 214 starts.

ステップS652において、操作履歴記録手段214は、操作履歴記録キューを読み込む。   In step S652, the operation history recording unit 214 reads the operation history recording queue.

ステップS654において、操作履歴記録キューが空である場合には、ステップS658に進み、処理を終了する。操作履歴記録キューが空でない場合には、ステップS656に進む。   In step S654, if the operation history recording queue is empty, the process proceeds to step S658, and the process ends. If the operation history record queue is not empty, the process proceeds to step S656.

ステップS656において、操作履歴記録手段214は、操作履歴記録キューに記録された、操作履歴情報記録処理を実行し、操作履歴を出力する。図11は、記録された操作履歴情報をテーブル形式で格納した例を表す。その後、ステップS652に戻り、再度操作履歴記録キューを読み込む。   In step S656, the operation history recording unit 214 executes the operation history information recording process recorded in the operation history recording queue and outputs the operation history. FIG. 11 shows an example in which recorded operation history information is stored in a table format. Thereafter, the process returns to step S652, and the operation history record queue is read again.

図7は、確実性重視の方式における処理フローを表す。当該方式においては、操作履歴記録手段214は、単一のスレッドにおいて、操作履歴情報を順次出力する。   FIG. 7 shows a processing flow in the method of emphasizing certainty. In this method, the operation history recording unit 214 sequentially outputs operation history information in a single thread.

ステップS700において、当該処理が開始する。   In step S700, the process starts.

ステップS702において、操作履歴記録手段214は、イベント特定手段210から受け取った操作履歴情報を、操作履歴として出力する。図11は、記録された操作履歴情報をテーブル形式で格納した例を表す。   In step S702, the operation history recording unit 214 outputs the operation history information received from the event specifying unit 210 as an operation history. FIG. 11 shows an example in which recorded operation history information is stored in a table format.

ステップS704において、当該処理は終了する。   In step S704, the process ends.

このように、本発明の一実施形態における操作記録装置100は、ユーザが予め指定したイベントを記録するため、記録に必要な操作履歴のデータ容量の削減が可能である。また、ユーザが予め指定したイベントを記録するため、無用な計算機処理を行う必要がなくなり、アプリケーションに負荷を与えることなく操作履歴情報を記録することができる。また、操作記録装置100の性能や、操作を記録するアプリケーションの特性に応じて、二種類の操作履歴の記録方式を選択的に利用することができる。   As described above, since the operation recording apparatus 100 according to the embodiment of the present invention records an event designated in advance by the user, it is possible to reduce a data capacity of an operation history necessary for recording. Further, since an event designated in advance by the user is recorded, it is not necessary to perform unnecessary computer processing, and operation history information can be recorded without imposing a load on the application. Also, two types of operation history recording methods can be selectively used according to the performance of the operation recording device 100 and the characteristics of the application that records the operation.

なお、本実施形態は、WPFに対応したGUIアプリケーションを例に挙げて説明したが、本発明は、その例に限定されない。   Although the present embodiment has been described by taking a GUI application corresponding to WPF as an example, the present invention is not limited to that example.

(5.応用例)
以上のように、本発明の一実施形態における操作記録装置100は、イベント型とGUI要素の型の情報を元に、操作履歴を取得することにより、GUIアプリケーションのGUI要素ごとにイベント検出処理を実装する必要がなくなる。
(5. Application examples)
As described above, the operation recording apparatus 100 according to the embodiment of the present invention performs an event detection process for each GUI element of a GUI application by acquiring an operation history based on information on an event type and a GUI element type. No need to implement.

ここで、図12は、一般的なGUIアプリケーションによる画面150の表示例を表す。図12の画面150は、登録ボタン151と、中止ボタン152と、テキストボックス153、154と、ラベル155、156を有する。また、この画面150に対応する、XAMLファイルの内容の例を、図13に示す。このような画面150において、上述した操作記録装置100を用い、以下の条件の操作履歴を取得することを考える。   Here, FIG. 12 shows a display example of the screen 150 by a general GUI application. 12 includes a registration button 151, a cancel button 152, text boxes 153 and 154, and labels 155 and 156. An example of the contents of the XAML file corresponding to this screen 150 is shown in FIG. Consider obtaining an operation history under the following conditions on the screen 150 using the operation recording device 100 described above.

要素型 :「System.Windows.Controls.Buton」(図9参照)
イベント :「PreviewMouseLeftButtonDown」 (図8参照)
結果として、操作記録装置100は、登録ボタン151及び中止ボタン152に関する操作履歴を取得することになる。
Element type: "System.Windows.Controls.Buton" (see Figure 9)
Event: “PreviewMouseLeftButtonDown” (See Figure 8)
As a result, the operation recording apparatus 100 acquires an operation history related to the registration button 151 and the cancel button 152.

このような場合に、ユーザは、何れか一方のボタンのみに関する操作履歴の取得を望む場合がある。そこで、以下では、このような要求に応えるための、応用例による操作記録装置100Aを説明する。なお、操作記録装置100Aのハードウェア構成は、図1に示した例と同様である。また、操作記録装置100Aの機能ブロック図は、図2に示した例と同様であるが、一部の手段の処理内容が相違する。そこで、以下では、相違点に着目して、説明を行う。   In such a case, the user may desire to obtain an operation history related to only one of the buttons. Therefore, hereinafter, an operation recording apparatus 100A according to an application example for responding to such a request will be described. The hardware configuration of the operation recording apparatus 100A is the same as the example shown in FIG. The functional block diagram of the operation recording apparatus 100A is the same as the example shown in FIG. 2, but the processing contents of some means are different. Therefore, the following description will be given focusing on the difference.

(機能構成)
既に説明した、操作記録装置100の対象要素管理手段212は、図10を用いて述べたように、対象要素テーブル1000を用いて、操作履歴の取得対象となるGUI要素を管理する。対象要素テーブルは、図9の対象要素型定義テーブル900に基づいて生成されたものである。
(Functional configuration)
The target element management unit 212 of the operation recording apparatus 100 that has already been described uses the target element table 1000 as described with reference to FIG. The target element table is generated based on the target element type definition table 900 of FIG.

一方、応用例における操作記録装置100Aの対象要素管理手段212において、対象要素テーブルは、対象要素型定義テーブル900と、図16に例示される、対象要素名定義テーブル910とに基づいて生成される。   On the other hand, in the target element management unit 212 of the operation recording apparatus 100A in the application example, the target element table is generated based on the target element type definition table 900 and the target element name definition table 910 illustrated in FIG. .

対象要素名定義テーブル910は、操作履歴の取得対象となる要素を、要素型と要素名を用いて、さらに絞り込むために用いられる。図16の対象要素名定義テーブル910は、要素名IDと、要素名と、要素型の項目を含む。要素名IDは、項目ごとに付されるIDである。要素名は、GUI要素に付される名前であり、図13のXAMLファイルにおいて、「Name」プロパティで示される。また、要素型は、GUI要素の型を表している。対象要素名定義テーブル910は、対象要素型定義テーブル900と同様に、ユーザにより、予め生成される。   The target element name definition table 910 is used to further narrow down the elements from which operation history is acquired using the element type and the element name. The target element name definition table 910 in FIG. 16 includes items of element name ID, element name, and element type. The element name ID is an ID assigned to each item. The element name is a name given to the GUI element, and is indicated by a “Name” property in the XAML file of FIG. The element type represents the type of the GUI element. Similar to the target element type definition table 900, the target element name definition table 910 is generated in advance by the user.

図16に例示される対象要素名定義テーブル910は、図12の画面150及び図13のXAMLファイルに対応して作成されたものである。対象要素名定義テーブル910は、要素型「System.Windows.Controls.Button」の要素のうち、要素名が「SubmitBtn」の要素についての操作履歴の取得を目的として生成されている。すなわち、同じ要素型の、要素名「CancelBtn」についての操作履歴は、取得対象とされていない。   The target element name definition table 910 illustrated in FIG. 16 is created corresponding to the screen 150 in FIG. 12 and the XAML file in FIG. The target element name definition table 910 is generated for the purpose of obtaining an operation history for an element whose element name is “SubmitBtn” among elements of the element type “System.Windows.Controls.Button”. That is, the operation history for the element name “CancelBtn” of the same element type is not an acquisition target.

図18は、図16の対象要素名定義テーブル910と、図17の対象要素型定義テーブル900とに基づいて生成された、対象要素テーブル1010である。ここで、図17の対象要素型定義テーブル900は、図9の対象要素型定義テーブル900と同様の項目を有するが、一部、異なるデータを含む。図18の対象要素テーブル1010は、図10の対象要素テーブル1000と比べ、新たに「要素名」の項目を有する。この項目は、図16の対象要素名定義テーブル910の項目「要素名」に対応する。   18 is a target element table 1010 generated based on the target element name definition table 910 in FIG. 16 and the target element type definition table 900 in FIG. Here, the target element type definition table 900 of FIG. 17 has the same items as the target element type definition table 900 of FIG. 9, but partially includes different data. The target element table 1010 in FIG. 18 has a new “element name” item as compared with the target element table 1000 in FIG. This item corresponds to the item “element name” in the target element name definition table 910 of FIG.

操作記録装置100Aの対象要素管理手段212は、対象要素名定義テーブル910と、要素ツリー300とを照合し、要素ツリー300に含まれる要素から、対象要素名定義テーブル910に定義された要素名を持つ要素を抽出する。そして、抽出した要素を、さらに対象要素型定義テーブル900と照合し、要素型一致するものを抽出して、対象要素テーブル1010を生成する。   The target element management unit 212 of the operation recording apparatus 100A collates the target element name definition table 910 with the element tree 300, and uses the element names defined in the target element name definition table 910 from the elements included in the element tree 300. Extract elements that have. Then, the extracted element is further checked against the target element type definition table 900, and the element type matching is extracted to generate the target element table 1010.

図18の対象要素テーブル1010は、要素型「System.Windows.Controls.Button」の要素のうち、要素名が「SubmitBtn」の要素の項目を含むが、図13のXAMLファイルに含まれる、要素名が「CancelBtn」の要素の項目は含まない。   The target element table 1010 of FIG. 18 includes an item of an element whose element name is “SubmitBtn” among elements of the element type “System.Windows.Controls.Button”, but the element name included in the XAML file of FIG. Does not include items with the element “CancelBtn”.

生成された対象要素テーブル1010は、後に、画面150上でイベントが検出された際に参照され、当該イベントの要素名及び要素型が、対象要素テーブル1010に定義されている場合に、当該GUI要素に係る操作履歴が記録される。従って、図18の例では、要素型「System.Windows.Controls.Button」の要素のうち、「SubmitBtn」に関する操作履歴のみが取得され、「CancelBtn」については取得されない。   The generated target element table 1010 is later referred to when an event is detected on the screen 150. When the element name and element type of the event are defined in the target element table 1010, the GUI element Is recorded. Accordingly, in the example of FIG. 18, only the operation history related to “SubmitBtn” is acquired from the elements of the element type “System.Windows.Controls.Button”, and “CancelBtn” is not acquired.

(GUIアプリケーションの起動時の処理フロー)
図14は、図4に対応し、操作記録装置100Aの、GUIアプリケーションの起動時の処理フローを表す。
(Processing flow when starting GUI application)
FIG. 14 corresponds to FIG. 4 and illustrates a processing flow when the operation recording apparatus 100A starts up the GUI application.

ステップS700において、操作履歴の記録対象となるGUIアプリケーションが起動されると、当該処理が開始する。   In step S700, when a GUI application that is an operation history recording target is activated, the processing starts.

ステップS702において、対象イベント管理手段206は、ユーザによって予め定義されたイベント抽出条件定義テーブル800(図8)を読み込み、操作履歴取得の対象とするイベント(トンネルイベント)を特定する。   In step S <b> 702, the target event management unit 206 reads the event extraction condition definition table 800 (FIG. 8) defined in advance by the user, and identifies an event (tunnel event) that is a target of operation history acquisition.

ステップS704において、登録手段204は、対象イベント管理手段206によって特定されたイベントのイベント型を対象として、イベントハンドラ(イベント検出手段208)を、要素ツリー300のルート要素310に登録する。   In step S <b> 704, the registration unit 204 registers an event handler (event detection unit 208) in the root element 310 of the element tree 300 for the event type of the event specified by the target event management unit 206.

ステップS706において、対象要素管理手段212は、対象要素名定義テーブル910(図16)と要素ツリー300とを照合し、要素ツリー300に含まれる要素から、対象要素名定義テーブル910(図16)に定義された要素名を持つ要素を抽出する。図16の例では、例えば、要素型「System.Windows.Controls.Button」の要素が抽出される。そして、抽出した要素を、さらに対象要素型定義テーブル900(図17)と照合し、要素型が一致するものを抽出して、対象要素テーブル1010(図18)を生成する。図17は、上記の要素型「System.Windows.Controls.Button」の項目を含むため、図17の同項目を含む対象要素テーブル1010が生成される。   In step S706, the target element management unit 212 compares the target element name definition table 910 (FIG. 16) with the element tree 300, and from the elements included in the element tree 300 to the target element name definition table 910 (FIG. 16). Extract an element with a defined element name. In the example of FIG. 16, for example, an element of the element type “System.Windows.Controls.Button” is extracted. Then, the extracted elements are further collated with the target element type definition table 900 (FIG. 17), and the elements having the same element type are extracted to generate the target element table 1010 (FIG. 18). Since FIG. 17 includes an item of the element type “System.Windows.Controls.Button”, the target element table 1010 including the same item of FIG. 17 is generated.

以上により、本発明の一実施形態における操作記録装置100Aは、GUIアプリケーションで発生したイベントのうち、ユーザによって予め指定されたイベント型のイベントを検出することができる。また、ユーザによって予め指定された名前を有するGUI要素に関する操作履歴のみを記録することができる。   As described above, the operation recording apparatus 100A according to the embodiment of the present invention can detect an event type event designated in advance by the user among events generated in the GUI application. Further, only the operation history related to the GUI element having a name designated in advance by the user can be recorded.

なお、対象要素名定義テーブル910がユーザによって生成されていない場合には、ステップS706において、図4のステップS406と同様の処理を行ってもよい。   If the target element name definition table 910 has not been generated by the user, the same processing as step S406 in FIG. 4 may be performed in step S706.

(イベント検出処理フロー)
図15は、本発明の一実施形態における操作記録装置100Aのイベント検出処理フローのフローチャートである。図15のフローチャートは、既に説明した、図5のフローチャートと対応する。
(Event detection process flow)
FIG. 15 is a flowchart of an event detection process flow of the operation recording apparatus 100A according to the embodiment of the present invention. The flowchart of FIG. 15 corresponds to the flowchart of FIG. 5 already described.

ステップS800において、GUIアプリケーション上で、ユーザが入力手段200を通じて入力操作を行うと、当該処理が開始する。   In step S800, when the user performs an input operation through the input unit 200 on the GUI application, the process starts.

ステップS802において、イベント通知手段202は、ユーザからの入力に対応するイベント(トンネルイベント)を、イベント検出手段208(ルート要素310の各イベント型に対して登録されたイベントハンドラ)に通知する。この時、イベント通知手段202は、イベント発生元要素の情報や、GUI要素の状態を示すプロパティを含む、イベント付帯情報を、イベント検出手段208に渡す。   In step S802, the event notification unit 202 notifies an event (tunnel event) corresponding to the input from the user to the event detection unit 208 (event handler registered for each event type of the root element 310). At this time, the event notification unit 202 passes event-accompanying information including information on the event generation source element and a property indicating the state of the GUI element to the event detection unit 208.

ステップS804において、イベント検出手段208は、イベントを検出し、イベント付帯情報を受け取る。受け取ったイベント付帯情報は、イベント特定手段210に渡される。   In step S804, the event detection unit 208 detects an event and receives event-accompanying information. The received event incidental information is passed to the event identification unit 210.

ステップS806において、イベント特定手段210は、イベント付帯情報から、イベント発生元であるGUI要素の型についての情報を取得する。   In step S806, the event identification unit 210 acquires information about the type of the GUI element that is the event generation source from the event-accompanying information.

ステップS808において、イベント特定手段210は、イベント発生元要素の型と、対象要素テーブル1010(図18)の要素型を比較して、該当するものがあるか照合を行う。その結果、該当するものがある場合には、ステップS810に進む。該当するものがない場合には、ステップS814に進み、処理を終了する。   In step S808, the event specifying unit 210 compares the type of the event generation source element with the element type of the target element table 1010 (FIG. 18), and checks whether there is a corresponding one. As a result, if there is a corresponding item, the process proceeds to step S810. If there is no corresponding item, the process proceeds to step S814 to end the process.

ステップS810において、イベント特定手段210は、イベント付帯情報から、イベント発生元要素のプロパティ情報を取得する。取得すべきプロパティ情報は、対象要素テーブル1010によって定義され、イベント発生元要素の型によって異なる。   In step S810, the event identification unit 210 acquires the property information of the event generation source element from the event incidental information. The property information to be acquired is defined by the target element table 1010 and differs depending on the type of the event generation source element.

また、イベント特定手段210は、イベント発生日時情報、イベント発生元要素の要素表記名、特定されたイベントのイベント表記名を取得する。そして、イベント発生日時情報、イベント発生元要素の要素表記名、特定されたイベントのイベント表記名、プロパティ情報を、操作履歴情報として、操作履歴記録手段214に渡す。   Further, the event specifying unit 210 acquires event occurrence date / time information, an element notation name of an event occurrence source element, and an event notation name of the specified event. Then, the event occurrence date / time information, the element notation name of the event occurrence source element, the event notation name of the identified event, and property information are passed to the operation history recording unit 214 as operation history information.

ステップS812において、操作履歴記録手段214は、イベント特定手段210から受け取った情報を、操作履歴として記録する。記録された操作履歴を格納するテーブルの例を図19に示す。   In step S812, the operation history recording unit 214 records the information received from the event specifying unit 210 as an operation history. An example of a table for storing the recorded operation history is shown in FIG.

図19の操作履歴情報1100は、図12の画面150上の二つのボタンのうち、登録ボタン151についての操作履歴のみを格納する。取得プロパティ1(「SubmitBtn」)及び取得プロパティ2(「登録」)は、図18の対象要素テーブル1010で指定された各プロパティ(「Name」及び「Content」)の値である。ここでは、取得プロパティ1として、図16で用いた要素名が、履歴として出力されている。   The operation history information 1100 in FIG. 19 stores only the operation history for the registration button 151 among the two buttons on the screen 150 in FIG. Acquisition property 1 (“SubmitBtn”) and acquisition property 2 (“registration”) are the values of the properties (“Name” and “Content”) specified in the target element table 1010 of FIG. Here, as the acquisition property 1, the element name used in FIG. 16 is output as a history.

このように、本発明の一実施形態における操作記録装置100Aは、ユーザが予め指定したイベントを記録するため、記録に必要な操作履歴のデータ容量の削減が可能である。また、ユーザが予め指定したイベントを記録するため、無用な計算機処理を行う必要がなくなり、アプリケーションに負荷を与えることなく操作履歴情報を記録することができる。   As described above, the operation recording apparatus 100A according to the embodiment of the present invention records an event designated in advance by the user, and thus it is possible to reduce the data capacity of the operation history necessary for recording. Further, since an event designated in advance by the user is recorded, it is not necessary to perform unnecessary computer processing, and operation history information can be recorded without imposing a load on the application.

100 操作記録装置
200 入力手段
202 イベント通知手段
204 登録手段
206 対象イベント管理手段
208 イベント検出手段
210 イベント特定手段
212 対象要素管理手段
214 操作履歴記録手段
216 表示手段
100 operation recording device 200 input unit 202 event notification unit 204 registration unit 206 target event management unit 208 event detection unit 210 event identification unit 212 target element management unit 214 operation history recording unit 216 display unit

Claims (9)

一以上のGUI要素を含むGUIアプリケーションにおけるユーザの操作を記録する操作記録装置であって、
前記GUI要素において検出されたイベントのうち、所定の型のイベントを検出するイベント検出手段と、
GUI要素の型の情報を用いて、検出された該イベントから前記ユーザの操作に関するイベントを特定するイベント特定手段と、
特定された前記イベントの情報を記録するイベント情報記録手段と、
を有する、操作記録装置。
An operation recording apparatus for recording a user operation in a GUI application including one or more GUI elements,
Event detection means for detecting a predetermined type of events detected in the GUI element;
Event specifying means for specifying an event related to the user's operation from the detected event using information on a type of GUI element;
Event information recording means for recording information of the identified event;
An operation recording apparatus.
前記イベント特定手段は、前記GUI要素の名称の情報をさらに用いて、前記イベントを特定する、
請求項1に記載の操作記録装置。
The event specifying means specifies the event by further using information on the name of the GUI element.
The operation recording apparatus according to claim 1.
前記GUI要素の名称の情報は、前記GUI要素に係る属性情報として定義される、
請求項2に記載の操作記録装置。
The information of the name of the GUI element is defined as attribute information related to the GUI element.
The operation recording apparatus according to claim 2.
前記所定の型のイベントの発生を前記イベント検出手段に通知するイベント通知手段
を有し、
前記イベント通知手段は、木構造を有する前記一以上のGUI要素において発生したイベントを、前記一以上のGUI要素のうちの根ノードのGUI要素に通知する、
請求項1乃至3何れか一項に記載の操作記録装置。
Event notification means for notifying the event detection means of occurrence of the predetermined type of event,
The event notification means notifies an event occurring in the one or more GUI elements having a tree structure to a GUI element of a root node of the one or more GUI elements.
The operation recording device according to any one of claims 1 to 3.
前記イベント通知手段が通知する前記イベントは、WPFにおけるトンネルイベントである、
請求項4に記載の操作記録装置。
The event notified by the event notification means is a tunnel event in WPF.
The operation recording apparatus according to claim 4.
前記イベント特定手段は、前記イベント検出手段が検出した前記イベントの発生した前記GUI要素の型が、予め用意されたGUI要素の型のリストに含まれる場合に、該イベントを前記ユーザの操作に関するイベントと特定する、
請求項1乃至5何れか一項に記載の操作記録装置。
The event specifying means, when the type of the GUI element where the event detected by the event detection means is generated is included in a list of GUI element types prepared in advance, To identify,
The operation recording device according to any one of claims 1 to 5.
前記イベントの情報は、前記GUI要素に係る属性情報の値を含む、
請求項1乃至6何れか一項に記載の操作記録装置。
The event information includes a value of attribute information related to the GUI element.
The operation recording device according to any one of claims 1 to 6.
一以上のGUI要素を含むGUIアプリケーションにおけるユーザの操作を記録する操作記録方法であって、
前記GUI要素において検出されたイベントのうち、所定の型のイベントを検出するイベント検出段階と、
GUI要素の型の情報を用いて、検出された該イベントから前記ユーザの操作に関するイベントを特定するイベント特定段階と、
特定された前記イベントの情報を記録するイベント情報記録段階と、
を有する、操作記録方法。
An operation recording method for recording a user operation in a GUI application including one or more GUI elements,
An event detection step of detecting a predetermined type of events detected in the GUI element;
An event identification step of identifying an event related to the user's operation from the detected event using information on a type of GUI element;
An event information recording step for recording information of the identified event;
An operation recording method.
一以上のGUI要素を含むGUIアプリケーションにおけるユーザの操作を記録する操作記録方法をコンピュータに実行させる操作記録プログラムであって、
前記GUI要素において検出されたイベントのうち、所定の型のイベントを検出するイベント検出段階と、
GUI要素の型の情報を用いて、検出された該イベントから前記ユーザの操作に関するイベントを特定するイベント特定段階と、
特定された前記イベントの情報を記録するイベント情報記録段階と、
をコンピュータに実行させる、操作記録プログラム。
An operation recording program for causing a computer to execute an operation recording method for recording a user operation in a GUI application including one or more GUI elements,
An event detection step of detecting a predetermined type of events detected in the GUI element;
An event identification step of identifying an event related to the user's operation from the detected event using information on a type of GUI element;
An event information recording step for recording information of the identified event;
An operation recording program that causes a computer to execute.
JP2013076487A 2012-04-17 2013-04-01 Operation recording apparatus, operation recording method, and operation recording program Active JP6107337B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013076487A JP6107337B2 (en) 2012-04-17 2013-04-01 Operation recording apparatus, operation recording method, and operation recording program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012094158 2012-04-17
JP2012094158 2012-04-17
JP2013076487A JP6107337B2 (en) 2012-04-17 2013-04-01 Operation recording apparatus, operation recording method, and operation recording program

Publications (2)

Publication Number Publication Date
JP2013239155A JP2013239155A (en) 2013-11-28
JP6107337B2 true JP6107337B2 (en) 2017-04-05

Family

ID=49764098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013076487A Active JP6107337B2 (en) 2012-04-17 2013-04-01 Operation recording apparatus, operation recording method, and operation recording program

Country Status (1)

Country Link
JP (1) JP6107337B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6037397B2 (en) * 2014-02-17 2016-12-07 日本電信電話株式会社 User operation log recording method, program and apparatus thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4526354B2 (en) * 2004-11-12 2010-08-18 日立ソフトウエアエンジニアリング株式会社 Screen creation device
JP5382743B2 (en) * 2011-11-01 2014-01-08 日本電信電話株式会社 User operation log recording method and apparatus thereof

Also Published As

Publication number Publication date
JP2013239155A (en) 2013-11-28

Similar Documents

Publication Publication Date Title
US7805451B2 (en) Ontology-integration-position specifying apparatus, ontology-integration supporting method, and computer program product
US8578328B2 (en) Method for presenting candidate for link target to component in web application, as well as computer program and computer system for the same
JP4395761B2 (en) Program test support apparatus and method
US10127241B2 (en) Information processing apparatus, method for controlling the same, and storage medium therefor
WO2012032705A1 (en) Display processing device, display processing method, and program
JP2006260522A (en) Information processing device, information management device, information management system, information processing method, information management method, information processing program, information management program, and recording medium
US20130326400A1 (en) Information processing apparatus
JP2015219890A (en) Management device, and control method and program for the same
US20220350857A1 (en) Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors
JP5641482B2 (en) Supervisory control system
JP6198206B2 (en) Device and program for testing software
US10884711B2 (en) Code management system and code management method using a visual programming tool
JP6107337B2 (en) Operation recording apparatus, operation recording method, and operation recording program
JP6015546B2 (en) Information processing apparatus, information processing method, and program
JP6434435B2 (en) Information processing apparatus, operation support method, and operation support program
KR101681154B1 (en) Method of constructing data collector, server performing the same and storage medium for the same
US20120084683A1 (en) Seamless Integration of Additional Functionality into Enterprise Software without Customization or Apparent Alteration of Same
JP2005141641A (en) Information processing system, information processor for information registration, information processor for information retrieval, information processing method for information registration, information processing method for information retrieval, program, and recording medium
JP2010152748A (en) System and method for support of graph conversion, and program
WO2016192558A2 (en) Method and device for providing object information
JP2013105460A (en) Information processor and control method thereof, and program
JP7327471B2 (en) Test equipment, test method and program
JP6247182B2 (en) Operating procedure recording device, operating procedure recording method, and operating procedure recording program
JP6287267B2 (en) Comment management system, comment management method, and program thereof
JP6357958B2 (en) Information processing apparatus, control program, and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

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: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170220

R150 Certificate of patent or registration of utility model

Ref document number: 6107337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250