(57)【要約】【課題】  グラフィカルユーザインターフェース（ＧＵＩ）要素を識別するための方法、装置およびシステムを提供する。【解決手段】  ＧＵＩ要素識別情報を生成する方法は、ターゲットＧＵＩ要素を含むＧＵＩを表示するステップ、表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得するステップ、属性情報以外の、ターゲットＧＵＩ要素に関する追加情報を取得するステップ、属性情報と追加の情報を処理し、ターゲットＧＵＩ要素についての識別情報を生成するステップを含む。【選択図】  図４
2011210233.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報を生成する方法であって、
ターゲットＧＵＩ要素を含むＧＵＩを表示するステップと、
表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得するステップと、
前記属性情報以外の、ターゲットＧＵＩ要素に関する追加の情報を取得するステップと、
前記属性情報と前記追加情報を処理し、ターゲットＧＵＩ要素についての識別情報を生成するステップと
を有することを特徴とする方法。
【請求項２】
前記属性情報がＸＰａｔｈ情報を含み、
前記属性情報を取得するステップが、
ＧＵＩ内の全ての要素について、ＸＭＬフォーマットの情報を取得するステップと、
前記ＸＭＬフォーマットの要素情報を分析し、前記ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記追加情報が、前記ターゲットＧＵＩ要素を出現させる履歴イベントに関する情報を含み、
前記追加情報を取得するステップが、
前記ターゲットＧＵＩ要素を出現させる履歴イベントを記録するステップと、
前記履歴イベントを分析し、前記ターゲットＧＵＩ要素についての履歴イベントに関する情報となる出現条件を取得するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記追加情報がシステム状態情報を含むことを特徴とする請求項１に記載の方法。
【請求項５】
グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報に基づいて、識別すべきＧＵＩ要素を識別する方法であって、
前記ＧＵＩ要素識別情報が、各ＧＵＩ要素についての属性情報と追加情報を含み、
識別すべきＧＵＩ要素を含むＧＵＩを表示するステップと、
表示されたＧＵＩを分析し、識別すべきＧＵＩ要素についての属性情報を取得するステップと、
前記属性情報以外の、識別すべきＧＵＩ要素に関する追加情報を取得するステップと、
識別すべきＧＵＩ要素についての取得した属性情報と一致する属性情報を含む情報項目及び識別すべきＧＵＩ要素に関する取得した追加情報と一致する追加情報を含む情報項目について、前記ＧＵＩ要素識別情報を検索するステップと
を有することを特徴とする方法。
【請求項６】
前記追加の情報が履歴イベント情報およびシステム状態情報の少なくとも一方を含むことを特徴とする請求項５に記載の方法。
【請求項７】
グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報を生成する装置であって、
ターゲットＧＵＩ要素を含むＧＵＩを表示する表示装置と、
表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得する属性情報取得ユニットと、
前記属性情報以外の、ターゲットＧＵＩ要素に関する追加の情報を取得する追加情報取得ユニットと、
前記属性情報取得ユニットによって取得された属性情報と追加情報取得ユニットによって取得された追加情報を処理し、前記ターゲットＧＵＩ要素についての識別情報を生成する識別情報生成ユニットと
を備えることを特徴とする装置。
【請求項８】
前記属性情報がＸＰａｔｈ情報を含み、
前記属性情報取得ユニットが、
ＧＵＩ内の全ての要素について、ＸＭＬフォーマットの情報を取得するＵＩ抽出ユニットと、
ＵＩ抽出ユニットによって取得された前記ＸＭＬフォーマットの要素情報を分析し、前記ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得する属性情報生成ユニットを含むことを特徴とする請求項７に記載の装置。
【請求項９】
グラフィカルユーザインターフェース（ＧＵＩ）要素を識別する装置であって、
各ＧＵＩ要素についての属性情報と追加情報を含むＧＵＩ要素識別情報を格納する記憶手段と、
識別すべきＧＵＩ要素を含むＧＵＩを表示する表示装置と、
表示されたＧＵＩを分析し、識別すべきＧＵＩ要素についての属性情報を取得する属性情報取得ユニットと、
前記属性情報以外の、識別すべきＧＵＩ要素に関する追加情報を取得する追加情報取得ユニットと、
前記属性情報取得ユニットによって取得された属性情報と前記追加情報取得ユニットによって取得された追加情報に加えて、前記記憶手段に格納されたＧＵＩ要素識別情報に基づいて、識別すべきＧＵＩ要素を識別する識別ユニットと
を備えることを特徴とする装置。
【請求項１０】
グラフィカルユーザインターフェース（ＧＵＩ）要素識別システムであって、
請求項７のＧＵＩ要素識別情報を生成する装置と、請求項１０のＧＵＩ要素識別装置とを備え、
前記記憶手段が、ＧＵＩ要素識別情報を生成する装置によって生成されたＧＵＩ要素識別情報を格納することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータアプリケーションの分野に関し、特に、ＧＵＩについてターゲットのＧＵＩ要素をより正確に識別するためのグラフィカルユーザインターフェース（ＧＵＩ：Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）要素の識別方法とシステム及び装置に関する。
【背景技術】
【０００２】
現在、コンピュータアプリケーションには極めて多くのグラフィカルユーザインターフェース（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＧＵＩ）が存在する。様々な目的から、ＧＵＩ要素の識別は重要な研究課題となっている。
しかしながら、いくつかのＧＵＩ要素は、アプリケーション自身の複雑さと技術的手段の遅れのために正確に識別することが困難であり、それにより、実際上多くの問題が引き起こされる。
【０００３】
例えば、実際のアプリケーションにおいては、非ウェブアプリケーション（すなわち、ローカルアプリケーション）を移行技術によってウェブベースのアプリケーションに移行することがしばしば必要になり、その場合、ローカルアプリケーションについて大量のＧＵＩ要素の識別が必要となる。
移行の前と後の２つのアプリケーション間でＧＵＩ要素に関して整合性が保証されなければならない。そうでなければ、移行の前と後の２つのアプリケーション間で表示と機能に関する整合性を実現することができない。不整合は、移行の失敗とそれによる悲惨な結果を引き起こす可能性がある。
【０００４】
現在、ＧＵＩ要素は、一般的に、ＧＵＩ要素の属性情報を用いて識別される。例えば、この属性情報は、ＧＵＩ要素のＸＭＬ記述、すなわちＧＵＩ要素のＸＰａｔｈ情報である。特許文献１（ＣＮ１０１３６９２４９Ａ）は、ＸＰａｔｈを利用してＧＵＩ要素を識別する方法を開示する。以下、このＸＰａｔｈベースの識別方法について、図１と図２を参照して説明する。
【０００５】
図１は、典型的なローカルアプリケーションのＧＵＩ１０００を示す。図１を参照すると、ＧＵＩ１０００はＧＵＩ要素１００１を含んでいる。ユーザがＧＵＩ要素１００１上の「ＯＫ」キーをクリックすると、ＧＵＩ要素１００２がポップアップされる。
例えば、実際の操作においてＸＰａｔｈに基づいてＧＵＩ要素１００２を識別するためには、まずＧＵＩ要素１００２のＸＰａｔｈ情報を取得する必要がある。
【０００６】
この目的のために、まずトレーニングが実行される。トレーニング段階において、ローカルアプリケーションの現在のＧＵＩに関する全てのユーザー・インタフェース（ＵＩ）情報は、例えば、ＵＩ抽出ユニットによって取得される。図１に示す例において、ＧＵＩ１０００に関する全てのＵＩ情報が取得され、ＸＭＬフォーマットで格納される。図２は、ＸＭＬフォーマットで格納されたＧＵＩ１０００に関する情報を示す。
次に、その情報を分析し、ＧＵＩ要素１００２のＸＰａｔｈ情報（例えば、図２のブロックで囲まれた内容）を取得する。その後、ＧＵＩ要素１００２についてのＸＰａｔｈ情報が、
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”
のように記録される。
【０００７】
運用段階において、現在のＧＵＩの全てのＵＩ情報がＵＩ抽出ユニットによって取得される。
ここで、運用時に出現したＧＵＩが、図１に示すようなＧＵＩ１０００であると仮定する。同じＧＵＩ１０００の例をあげて説明しているので、取得されたＵＩ情報は、図２に図示した内容と同様となる。その後、ＵＩ情報内のあるＧＵＩ要素に対応する情報項目（例えば、図２に示すブロック内の情報項目）と一致する項目について、記録されたＸＰａｔｈ情報が検索される。
ここで、上記のように記録されたＧＵＩ要素１００２についてのＸＰａｔｈ情報がブロック内の情報と一致することが検索によって分かる。これにより、ブロック内の情報に対応するＧＵＩ要素がＧＵＩ要素１００２であることが判定される。
【０００８】
もちろん、トレーニング段階において、複数のターゲット要素についてのそれぞれのＸＰａｔｈ情報が記録される。その後、運用段階において、記録されたＸＰａｔｈ情報に基づいて現在のＧＵＩ内のそれぞれのＧＵＩ要素が識別される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】ＣＮ１０１３６９２４９Ａ
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、一般に、あるＧＵＩ要素をＸＰａｔｈによって一意に識別できない場合ある。特に複数のＧＵＩ要素について記録されるＸＰａｔｈ情報に同一の項目が存在する場合である。
図３は他の典型的なアプリケーション例を示す。図３を参照すると、このアプリケーションにおいて、ＧＵＩ要素３００１中のチェックボックスをチェックすることなく「ＯＫ」キーがクリックされると（矢印１で示すように）、ＧＵＩ要素３００２がポップアップされる。
その後、ＧＵＩ要素３００２中の「Ｒｅｔｕｒｎ」キーがクリックされると（矢印２で示すように）、チェックボックスがチェックされていないＧＵＩ要素３００１へ戻ることになる。
一方、ＧＵＩ要素３００１中のチェックボックスがチェックされかつ「ＯＫ」キーがクリックされると（矢印３で示すように）、ＧＵＩ要素３００３がポップアップされる。
その後、ＧＵＩ要素３００３中の「Ｒｅｔｕｒｎ」キーがクリックされると（矢印４で示すように）、チェックボックスがチェックされたＧＵＩ要素３００１’へ戻ることになる。
【００１１】
上記から分かられるように、ＧＵＩ要素３００２と３００３は相違する。しかしながら、ＸＰａｔｈ方法によれば、それらは両方とも以下のように記述される。
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”
【００１２】
従って、ＧＵＩ要素３００２と３００３は、ＸＰａｔｈによって正確に区別することができない。
【００１３】
このため、ＧＵＩ要素を正確に識別するために、改良した要素識別方法とそれを用いた装置とシステムが必要となる。
【課題を解決するための手段】
【００１４】
本発明は、上記の課題を解決するためになされたものであり、改良したグラフィカルユーザインターフェース（ＧＵＩ）要素識別方法と、その方法を用いる装置及びシステムを提供することを目的とする。
この識別方法と装置及びシステムによって、ＧＵＩ要素の識別における正確さを著しく改善され、ＧＵＩ要素を正確に識別することが可能となる。
【００１５】
本発明の第１の態様によれば、グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報を生成する方法は、ターゲットＧＵＩ要素を含むＧＵＩを表示するステップと、表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得するステップと、属性情報以外の、ターゲットＧＵＩ要素に関する追加の情報を取得するステップと、属性情報と追加情報を処理し、ターゲットＧＵＩ要素についての識別情報を生成するステップとを含む。
【００１６】
好ましくは、属性情報がＸＰａｔｈ情報を含み、属性情報を取得するステップが、ＧＵＩ内の全ての要素について、ＸＭＬフォーマットの情報を取得するステップと、ＸＭＬフォーマットの要素情報を分析し、ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得するステップとを含む。
【００１７】
好ましくは、追加情報が、ターゲットＧＵＩ要素を出現させる履歴イベントに関する情報を含み、追加情報を取得するステップが、ターゲットＧＵＩ要素を出現させる履歴イベントを記録するステップと、履歴イベントを分析し、ターゲットＧＵＩ要素についての履歴イベントに関する情報となる出現条件を取得するステップを含む。
【００１８】
好ましくは、追加情報がシステム状態情報を含む。
【００１９】
本発明の他の態様によれば、グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報に基づいて、識別すべきＧＵＩ要素を識別する方法は、ＧＵＩ要素識別情報が、各ＧＵＩ要素についての属性情報と追加情報を含み、識別すべきＧＵＩ要素を含むＧＵＩを表示するステップと、表示されたＧＵＩを分析し、識別すべきＧＵＩ要素についての属性情報を取得するステップと、属性情報以外の、識別すべきＧＵＩ要素に関する追加情報を取得するステップと、識別すべきＧＵＩ要素についての取得した属性情報と一致する属性情報を含む情報項目及び識別すべきＧＵＩ要素に関する取得した追加情報と一致する追加情報を含む情報項目について、ＧＵＩ要素識別情報を検索するステップとを含む。
【００２０】
好ましくは、追加の情報が履歴イベント情報およびシステム状態情報の少なくとも一方を含む。
【００２１】
本発明の他の態様によれば、グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報を生成する装置は、ターゲットＧＵＩ要素を含むＧＵＩを表示する表示装置と、表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得する属性情報取得ユニットと、属性情報以外の、ターゲットＧＵＩ要素に関する追加の情報を取得する追加情報取得ユニットと、属性情報取得ユニットによって取得された属性情報と追加情報取得ユニットによって取得された追加情報を処理し、ターゲットＧＵＩ要素についての識別情報を生成する識別情報生成ユニットとを含む。
【００２２】
好ましくは、属性情報がＸＰａｔｈ情報を含み、属性情報取得ユニットが、ＧＵＩ内の全ての要素について、ＸＭＬフォーマットの情報を取得するＵＩ抽出ユニットと、ＵＩ抽出ユニットによって取得されたＸＭＬフォーマットの要素情報を分析し、ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得する属性情報生成ユニットを含む。
【００２３】
好ましくは、追加情報が、ターゲットＧＵＩ要素を出現させる履歴イベントに関する情報を含み、追加情報取得ユニットが、ターゲットＧＵＩ要素を出現させる履歴イベントを記録するイベント記録ユニットと、ターゲットＧＵＩがＧＵＩ上に出現するかどうかを判定し、判定結果をイベント記録ユニットに送信するターゲットＧＵＩ要素判定ユニットと、イベント記録ユニットによって記録されたターゲットＧＵＩ要素に対する履歴イベントに基づいて履歴イベントに関する情報を含む追加情報を生成する追加情報生成ユニットとを含む。
【００２４】
本発明の他の態様によれば、グラフィカルユーザインターフェース（ＧＵＩ）要素を識別する装置は、各ＧＵＩ要素についての属性情報と追加情報を含むＧＵＩ要素識別情報を格納する記憶手段と、識別すべきＧＵＩ要素を含むＧＵＩを表示する表示装置と、表示されたＧＵＩを分析し、識別すべきＧＵＩ要素についての属性情報を取得する属性情報取得ユニットと、属性情報以外の、識別すべきＧＵＩ要素に関する追加情報を取得する追加情報取得ユニットと、属性情報取得ユニットによって取得された属性情報と追加情報取得ユニットによって取得された追加情報に加えて、記憶手段に格納されたＧＵＩ要素識別情報に基づいて、識別すべきＧＵＩ要素を識別する識別ユニットとを含む。
【００２５】
本発明の他の態様によれば、グラフィカルユーザインターフェース（ＧＵＩ）要素識別システムは、本発明によるＧＵＩ要素識別情報を生成する装置と、本発明によるＧＵＩ要素識別装置とを備え、記憶手段が、ＧＵＩ要素識別情報を生成する装置によって生成されたＧＵＩ要素識別情報を格納する。
【００２６】
好ましくは、ＧＵＩ要素識別情報を生成する装置に含まれる属性情報取得ユニットと、ＧＵＩ要素識別装置に含まれる属性情報取得ユニットが、同一のユニットで構成され、ＧＵＩ要素識別情報を生成する装置に含まれる追加情報取得ユニットと、ＧＵＩ要素識別装置に含まれる追加情報取得ユニットが、同一のユニットで構成される。
【発明の効果】
【００２７】
本発明によれば、要素の識別に追加情報を導入することにより、あるケースにおいて、いくつかのＧＵＩ要素を属性情報に基づいて区別することができないという問題を解決することができ、これにより、ＧＵＩ要素の識別における正確さを著しく改善することが可能性となる。
【図面の簡単な説明】
【００２８】
本発明の上記および他の目的、特徴、並びに効果は、図面を参照して説明された下記の好適な実施例からさらに明らかになるであろう。
【図１】関連技術による典型的なローカルアプリケーションのＧＵＩを示す図である。
【図２】図１に示すＧＵＩ内におけるＧＵＩ要素のＵＩ情報を示す図である。
【図３】関連技術による他の典型的なローカルのアプリケーションにおけるＧＵＩの推移を示す図である。
【図４】本発明の実施の形態によるＧＵＩ要素識別情報を生成する方法を示す図である。
【図５】本発明の実施の形態による典型的なローカルアプリケーションにおけるＧＵＩの推移を示す図である。
【図６】本発明の実施の形態による典型的な識別情報の例を示す図である。
【図７】本発明の実施の形態によるＧＵＩ要素を識別する方法を示す図である。
【図８】本発明の実施の形態によるＧＵＩ要素識別情報を生成する装置の構成を示すブロック図である。
【図９】本発明の実施の形態による属性情報取得ユニットの構成を示すブロック図である。
【図１０】本発明の実施の形態による追加情報取得ユニットの構成を示すブロック図である。
【図１１】本発明の実施の形態によるＧＵＩ要素を識別する装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２９】
以下に、本発明の実施の形態について図面を参照して詳細に説明する。しかし、以下の説明は、あくまで例示であり、本発明を限定するものとして理解してはならない。さらに、以下の説明において、本発明の概念を不明瞭にしないように、周知の構成と技術に関する説明を省略している。
【００３０】
幾つかのＧＵＩ（グラフィカルユーザインターフェース：Graphical User Interface）フォームが例として図に示される。しかしながら、これらのＧＵＩは説明を意図して示されているだけであり、実際は、多種多様なフォームの様々なＧＵＩが存在することに留意すべきである。さらに、いくつかの方法ステップと処理モジュールが図面に示されている。しかしながら、これらの幾つかの方法ステップ／処理モジュールが、単一のステップ／モジュールとして結合される場合があり、あるいは、単一の方法ステップ／処理モジュールが幾つかのサブステップ／サブモジュールに分割される場合もある。これらの方法ステップ／処理モジュールが、ハードウェア、ソフトウェア、ファームウェアあるいはそれらの組み合わせにおいて実現されることを十分に理解すべきである。
【００３１】
本発明によれば、関連技術における属性情報を拡張した識別情報を、ＧＵＩ要素を識別するために用いる。この目的のために、本発明は、拡張識別情報を生成すること（すなわち、トレーニング段階）と、拡張識別情報に基づいてＧＵＩ要素を識別すること（すなわち、運用段階）の、２つの側面を含んでいる。以下、これらの２つの側面について、それぞれ図面を参照して説明する。
【００３２】
以下の説明において、「ＸＰａｔｈ情報」が「属性情報」の例として図示されていることに留意すべきである。しかしながら、「属性情報」は「ＸＰａｔｈ情報」に限定されず、ＸＭＬ以外の他の言語におけるＧＵＩ要素の記述を含んでもよい。例えば、C, Basic、Pythonのようなプログラミング言語、あるいは、Textのような簡易言語（non-programming language）等、どのような言語で記述される情報も属性情報として用いられる。
【００３３】
図４は、本発明の実施の形態によるＧＵＩ要素識別情報を生成する方法を示している。
図４に示すように、この方法はステップＳ４０１で開始する。続いて、ステップＳ４０２で、ＧＵＩが、ディスプレイ・モニタなどの表示装置によって表示される。このＧＵＩはターゲットＧＵＩ要素を含む。その後、ターゲットＧＵＩ要素について識別情報が生成される。
【００３４】
次に、ターゲットＧＵＩ要素の属性情報、例えば、ＸＰａｔｈ情報が、ステップＳ４０３において収集され、そして、属性情報以外の、目標ＧＵＩ要素に関する追加情報が、ステップＳ４０４において収集される。ここで、ステップＳ４０３とＳ４０４は、並列的にあるいはシーケンシャルに実行される。
次に、ステップＳ４０５において、ターゲットＧＵＩ要素について収集された属性情報と追加情報は、ターゲットＧＵＩ要素に対する拡張識別情報を生成するために処理される。ここで、例えば、属性情報と追加情報は、拡張識別情報を形成するために結合される。最後に、ステップＳ４０６においてこの方法が終了する。
【００３５】
以下、ステップＳ４０３とＳ４０４について、図５に示す具体例を参照して詳細に説明する。図５に示す具体例は、図３に示す具体例に対応する。
具体的には、ＧＵＩ要素５００１において、チェックボックス（ｃｈｅｃｋｂｏｘ）をチェックすることなく、「ＯＫ」キーがクリックされると、ＧＵＩ要素５００２（ターゲットＧＵＩ要素１）がポップアップされる。
一方、ＧＵＩ要素５００１中において、チェックボックス（ｃｈｅｃｋｂｏｘ）をチェックして「ＯＫい」キーがクリックされると、ＧＵＩ要素５００３（ターゲットＧＵＩ要素２）がポップアップされる。
図３の上記の説明を参照すると、これらの２つのＧＵＩ要素５００２と５００３は互いに同一ではない。
【００３６】
先行技術において、ＸＰａｔｈ情報などのＧＵＩ要素の属性情報を取得するための多くの方法が存在する。
例えば、ステップＳ４０３においては、ＧＵＩ（ターゲットＧＵＩ要素１または２を含む）に関するあらゆるＵＩ要素についての情報（ＸＭＬフォーマットで形成されている情報）を取得するようにしてもよい。
最終的に、図２に示すように、ＸＭＬフォーマットのＵＩ要素情報が形成される。
【００３７】
次に、取得したＸＭＬフォーマットのＵＩ要素情報が、ターゲットＧＵＩ要素のＸＰａｔｈ情報を取得するために分析される。
ここで、図３に関する説明で述べたように、ＧＵＩ要素５００２と５００３は、互いに同じＧＵＩ情報、すなわち、“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”
を有する。
【００３８】
本発明の特徴は、さらに、ステップＳ４０４でターゲットＧＵＩ要素に関する追加情報を取得することにある。
例えば、この「追加情報」は、ターゲットＧＵＩ要素の出現を引き起こした履歴イベントに関する情報（例えば、キーボードとマウスなどの入力装置によるユーザの操作イベント）、及び／又は、ターゲットＧＵＩ要素に関するシステム状態情報（例えば、占有するハードウェアリソース（すなわち、メモリ、ＣＰＵなど）、あるいは、ＧＵＩオブジェクトの数などのソフトウェアリソース等）、並びにその他の情報を含む。
以下の説明では、履歴イベント情報を例にあげて説明する。しかしながら、本発明の「追加情報」がそのような履歴イベント情報に限定されないことに留意すべきである。
【００３９】
ステップＳ４０４において、まず、履歴イベント情報を取得するために、ターゲットＧＵＩ要素の出現を引き起こした履歴イベントが記録される。
例えば、ターゲットＧＵＩ要素１（図５の５００２）の出現を引き起こすイベントは、ＧＵＩ要素５００１の「ＯＫ」キーをクリックし、かつ、チェックボックスをチェックしない（あるいは、チェックボックスを偶数回チェックする）ことである。
ターゲットＧＵＩ要素２（図５の５００３）の出現を引き起こすイベントは、ＧＵＩ要素５００１の「ＯＫ」キーのクリックし、かつ、チェックボックスをチェックする（あるいは、チェックボックスを奇数回クリックする）ことである。
【００４０】
ターゲットＧＵＩ要素の出現を引き起こす履歴イベントが記録された後、ターゲットＧＵＩ要素が出現する条件を取得するために、履歴イベントを分析する。
そのような分析は、トレーニング段階中、手作業によって、あるいは自動トレーニングプログラムによって遂行される。
ここで、説明の都合上、それぞれのＧＵＩ要素の出現条件を、論理式で以下のように記述する。
【００４１】
（ターゲットＧＵＩ要素１）
条件１（チェックボックスが全くクリックされないことを示す）：
("/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]
ButtonClick") == False
ＯＲ  条件２（チェックボックスが複数回クリックされることを表す）：
("/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]
ButtonClick") % 2 == 0
【００４２】
（ターゲットＧＵＩ要素２）
条件１（チェックボックスがクリックされることを表す）：
("/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]
ButtonClick") == True
ＡＮＤ  条件２（チェックボックスが奇数回クリックされることを表す）
("/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]
ButtonClick") % 2 == 1
【００４３】
上記の論理式があくまで説明の便宜上示されていることに留意すべきである。
実際の適用においては、ターゲットＧＵＩ要素の出現条件は、様々な方法（例えば、テーブル形式で）で記述することが可能である。
これらの出現条件は、ターゲットＧＵＩ要素の出現を引き起こす履歴イベント情報を表す。
【００４４】
上述のようにターゲットＧＵＩ要素の属性情報（ここで、ＸＰａｔｈ情報）と追加の情報が取得された後、それらの情報は、ターゲットＧＵＩ要素の識別情報を取得するために、ステップＳ４０５における処理（例えば、組合せ処理）が実行される。
例えば、図５に示す具体例において、ターゲットＧＵＩ要素１（５００２）とターゲットＧＵＩ要素２（５００３）の識別情報は、図６（ａ）と図６（ｂ）にそれぞれ示される。図６に示す識別情報はあくまで例であり、その他の様々な形式の識別情報が存在することに留意すべきである。
【００４５】
ＧＵＩ要素の拡張識別情報が上記のようなトレーニング段階中に取得された後、運用段階の間、ＧＵＩ要素は拡張識別情報で識別される。
【００４６】
図７は、本発明の実施の形態によるＧＵＩ要素識別情報に基づくＧＵＩ要素の識別方法を示す。
図７に示すように、この方法はステップＳ７０１で開始する。
まず、ステップＳ７０２において、ＧＵＩがディスプレイ・モニタなどのディスプレイ装置に表示される。このＧＵＩは識別すべきＧＵＩ要素を含む。
【００４７】
次に、ステップＳ７０３で、識別するＧＵＩにのＸＰａｔｈ情報などの属性情報を収集する。また、ステップＳ７０４で、識別すべきＧＵＩ要素について、属性情報以外の追加の情報を収集する。属性情報と追加の情報の収集については、トレーニング段階における情報の収集と類似している。したがって、その詳細な説明をここでは省略する。
【００４８】
識別するＧＵＩ要素の属性情報と追加の情報が取得された後、次に、ステップＳ７０５において、取得した属性情報と追加の情報と一致する項目が存在するかどうかを判定するために、トレーニング段階中に記録されたＧＵＩ要素識別情報を検索する。
一致する項目が存在すれば、ステップＳ７０６において、識別すべきＧＵＩ要素が、一致する項目に対応するＧＵＩ要素として識別される。
一致する項目が存在しなければ、ステップＳ７０７において、エラー処理（例えば、ユーザへの報告）が実行される。最後に、ステップＳ７０８においてこの方法が終了する。
【００４９】
以上の識別処理について、図３に示す具体例を参照して詳細に説明する。ここでは、さらに、ＸＰａｔｈ情報と履歴イベント情報が例として図示されている。しかしながら、本発明が、そのようなＸＰａｔｈ情報と履歴イベント情報に限定されないことに留意すべきである。
【００５０】
ローカルのアプリケーションによって現在表示されるＧＵＩにＧＵＩ要素３００１が存在する場合、チェックボックスをチェックすることなく「ＯＫ」キーが直接クリックされれば（図３の矢印１で示すように）、ＧＵＩ要素３００２がＧＵＩ上に出現する。ＧＵＩ要素３００２に対するＸＰａｔｈ情報は次のように取得される。
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”
【００５１】
同時に、ＧＵＩ要素３００２の出現を引き起こすイベントは次の通りである。
“/element[@text=‘Form1’]/children/element[@text=‘OK’]
ButtonClick” 
（「ＯＫ」キーがクリックされたことを表す）
【００５２】
上記で取得したＧＵＩ要素３００２についてのＸＰａｔｈ情報と履歴イベント情報が、トレーニング段階において取得した識別情報（図６（ａ）と（ｂ）に示す）と比較される。
ＧＵＩ要素３００２の出現を引き起こすイベントは「ＯＫ」キーがクリックされ、チェックボックスがクリックされないことであるので、すなわち
("/element[@text=‘Form1’]/children/element[@text=‘CheckBox’]
ButtonClick") == False
【００５３】
この結果、ＧＵＩ要素３００２が図６（ａ）に示すターゲットＧＵＩ要素１の識別情報と一致することが、上記比較から分かる。
これにより、ＧＵＩ要素３００２がターゲットＧＵＩ要素１であると識別される。
【００５４】
同様に、ローカルのアプリケーションによって現在表示されるＧＵＩ上にＧＵＩ要素３００１が存在する場合、チェックボックスが一度クリックされてチェックされ、その後、「ＯＫ」キーがクリックされと（図３の矢印３で示すように）、ＧＵＩ要素３００３がＧＵＩ上に出現する。
ＧＵＩ要素３００３に対するＸＰａｔｈ情報は次のように取得される。
“/element[@text=‘Form1’]/children/element[@text=‘Form2’]/children/element[@text=‘Return’]”
【００５５】
同時に、ＧＵＩ要素３００３の出現を引き起こすイベントは次のとおりである。
"/element[@text='Form1']/children/
element[@text='CheckBox'] ButtonClick"（チェックボックスがクリックされたことを表す）及び"/element[@text='Form1']/children/
element[@text='OK'] ButtonClick"（「ＯＫ」キーがクリックされたことを表す）
【００５６】
ＧＵＩ要素３００３に対する上記取得したＸＰａｔｈ情報と履歴イベント情報は、トレーニング段階中に取得した識別情報（図６（ａ）、（ｂ）に示す）と比較される。
ＧＵＩ要素３００３の出現を引き起こすイベントは、チェックボックスが一度クリックされるということであるので、すなわち、次の通りである。
("/element[@text='Form1']/children/
element[@text='CheckBox'] ButtonClick") == True,
及び
("/element[@text='Form1']/children/
element[@text='CheckBox'] ButtonClick") % 2 == 1
【００５７】
従って、ＧＵＩ要素３００３が図６（ｂ）に図示されるターゲットＧＵＩ要素２の識別情報と一致することを比較から知ることができる。これにより、ＧＵＩ要素３００３はターゲットＧＵＩ要素２であると識別される。
【００５８】
このようにして、関連技術では区別されないＧＵＩ要素３００２と３００３が、本発明の方法によって区別される。
【００５９】
本発明は、さらにＧＵＩ要素識別情報を生成するための装置を提供する。図８は、本発明の実施の形態によるＧＵＩ要素識別情報を生成する装置の概略図を示す。
図８に示すように、ＧＵＩ要素識別情報を生成する装置８００は、ターゲットＧＵＩ要素を含むＧＵＩを表示するよう構成された表示装置８０５を備える。下記において、識別情報はターゲットＧＵＩ要素について生成される。
装置８００は、さらに、表示されたＧＵＩを分析して、ターゲットＧＵＩ要素についてＸＰａｔｈ情報などの属性情報を取得するよう構成された属性情報取得ユニット８０１と、履歴イベント（例えば、キーボードやマウスなどの入力装置を通したユーザによる操作）および（または）システム状態等に基づいて、ターゲットＧＵＩ要素に関する追加情報を取得するよう構成された追加情報取得ユニット８０２と、属性情報取得ユニット８０１によって取得した属性情報と追加情報取得ユニット８０２によって取得した追加情報を処理し、ターゲットＧＵＩ要素についての識別情報を生成するよう構成された識別情報生成ユニット８０３とを備える。
【００６０】
装置８００は、さらに記憶装置８０４を備える。例えば、記憶装置８０４は、属性情報取得ユニット８０１によって取得した属性情報、追加情報取得ユニット８０２によって取得した追加情報、および（または）、識別情報生成ユニット８０３によって生成された識別情報等を格納するために用いられる。
記憶装置８０４は、識別情報を生成する装置８００の内部のストレージであってもよいし、あるいは外部ストレージやネットワークストレージであってもよい。記憶装置８０４は、単一のストレージを含んでもよいし、複数のストレージを含んでもよい。
【００６１】
図９は、本発明の実施の形態による属性情報取得ユニット８０１の概要を示すブロック図である。
図９に示すように、属性情報取得ユニット８０１は、表示されたＧＵＩから、ＸＭＬフォーマットで構成されるＵＩ要素情報を取得するように構成されたＵＩ抽出ユニット８０１１と、ＵＩ抽出ユニット８０１１によって取得されたＵＩ要素情報を分析して、ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得するように構成された属性情報生成ユニット８０１２とを備える。
【００６２】
図１０は、本発明の実施の形態による追加情報取得ユニット８０２の概要を示すブロック図である。
図１０に示すように、追加情報取得ユニット８０２は、ターゲットＧＵＩ要素の出現を引き起こす履歴イベント、あるいはターゲットＧＵＩ要素に関するシステム状態等（ここで、これらを「イベント」と総称する、ユーザはシステムにおいてどのような種類のイベントを記録するかを指定することができる、例えば、履歴イベントを記録するか、それともシステム状態を記録するかを指定することができる）を記録するよう構成されたイベント記録ユニット８０２１と、表示されたＧＵＩ上にターゲットＧＵＩが出現するかどうかを判定し、イベント記録ユニット８０２１に判定結果を送信するように構成されたターゲットＧＵＩ要素判定ユニット８０２２と、イベント記録ユニット８０２１によって記録されたターゲットＧＵＩ要素についてのイベントに基づいて追加情報を生成するよう構成された追加情報生成ユニット８０２３とを備える。
【００６３】
ここで、注意すべき点は、ターゲットＧＵＩ要素判定ユニット８０２２はターゲットＧＵＩ要素が出現するかどうかを判定するため必要であることである。
それは、識別情報が生成される時はまだトレーニング段階の状態であり、その場合、ターゲットＧＵＩ要素の出現をコンピューターに知れせる「人」（あるいは、自動トレーニング・プログラム）が存在していなければならないからである。
ＧＵＩ要素の識別情報がトレーニング段階中に取得された後は、ＧＵＩ要素は運用段階において自動的に識別される。
【００６４】
ここで、ターゲットＧＵＩ要素判定ユニット８０２２は、上記図示のように、判定結果をイベント記録ユニット８０２１に通知する。
なお、属性情報取得ユニット８０１がターゲットＧＵＩ要素についての属性情報を正確に取得できるように、ターゲットＧＵＩ要素判定ユニット８０２２が、その結果を属性情報取得ユニット８０１（例えば、属性情報生成ユニット８０１２）に通知することも可能である。
【００６５】
本発明は、さらに、ＧＵＩ要素を識別するための装置を提供する。図１１は、本発明の実施の形態によるＧＵＩ要素を識別するための装置を示す。
図１１に示すように、ＧＵＩ要素を識別するための装置１１００は、
ＧＵＩ要素識別情報（例えば、レーニング段階において取得したＧＵＩ要素識別情報）を格納するように構成された記憶手段１１０４と、識別すべきＧＵＩ要素を含むＧＵＩを表示するように構成された表示装置１１０５と、識別すべきＧＵＩ要素の属性情報を取得するように構成された属性情報取得ユニット１１０１と、識別すべきＧＵＩ要素に関する追加情報、例えば、履歴イベント（例えば、マウスやキーボードなどの入力装置によってユーザが打鍵しクリックする操作）やシステム状態などを取得するように構成された追加情報取得ユニット１１０２と、属性情報取得ユニット１１０１によって取得された属性情報及び追加情報取得ユニット１１０２によって取得された追加の情報と共に記憶手段１１０４に格納されたＧＵＩ要素識別情報に基づいて、識別すべきＧＵＩ要素を識別するよう構成された識別ユニット１１０３とを備えている。
【００６６】
ここで、ＧＵＩ要素識別情報は記憶手段１１０４に格納される。例えば、その情報は、図４に示す方法を実行することにより取得され、あるいは図８に示す識別情報を生成する装置８００によって生成される。
この記憶手段１１０４は、ＧＵＩ要素を識別する装置１１００内部の記憶手段であってもよいし、あるいは、ネットワークストレージ等のＧＵＩ要素を識別する装置１１００外部の記憶手段であってもよい。
【００６７】
さらに、ＧＵＩ要素を識別する装置１１００内に備えられる属性情報取得ユニット１１０１は、上述したＧＵＩ要素識別情報を生成する装置８００内に備えられる属性情報取得ユニット８０１と同じ構成を有している。
また、ＧＵＩ要素を識別する装置１１００内に備えられる追加情報取得ユニット１１０２は、ターゲットＧＵＩ要素判定ユニット８０２２を必要としないことを除き、上記したＧＵＩ要素識別情報を生成する装置８００内に備えられる追加情報取得ユニット８０２と類似する構成を有している。
【００６８】
本発明は、さらに、本発明によるＧＵＩ要素識別情報を生成する装置と、ＧＵＩ要素識別装置を含むＧＵＩ要素識別システムを提供する。
このシステムによって、ＧＵＩ要素識別情報の生成（トレーニング段階）とＧＵＩ要素の識別（動作する段階）が達成される。このシステムにおいて、ＧＵＩ要素識別情報を生成する装置とＧＵＩ要素識別装置は、互いに分離した装置（例えば、ネットワークによって接続された２つの独立した装置）でもよい。
あるいは、ＧＵＩ要素識別情報を生成する装置とＧＵＩ要素識別装置が、一体として構成されていてもよい。
特に、ＧＵＩ要素識別情報を生成する装置とＧＵＩ要素識別装置のそれぞれの属性情報取得ユニット（８０１、１１０１）と追加情報取得ユニット（８０２、１１０２）は、１つの同じユニットで構成してもよいし、あるいは分離したユニットとして形成してもよい。ＧＵＩ要素識別情報を生成する装置によって生成されたＧＵＩ要素識別情報は、ＧＵＩ要素識別装置の記憶手段に格納される。
【００６９】
以上、本発明についてその好適な実施例を参照して説明したが、当該技術に精通した当業者には、本発明の精神と範囲から逸脱することなく他の様々な修正、変更、追加を行うことが可能なことは明らかであろう。したがって、本発明の範囲は上記の具体的な実施例に限定されず、付記した請求項によってのみ限定される。
【００７０】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【００７１】
（付記１）
グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報を生成する方法であって、
ターゲットＧＵＩ要素を含むＧＵＩを表示するステップと、
表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得するステップと、
前記属性情報以外の、ターゲットＧＵＩ要素に関する追加の情報を取得するステップと、
前記属性情報と前記追加情報を処理し、ターゲットＧＵＩ要素についての識別情報を生成するステップと
を有することを特徴とする方法。
【００７２】
（付記２）
前記属性情報がＸＰａｔｈ情報を含み、
前記属性情報を取得するステップが、
ＧＵＩ内の全ての要素について、ＸＭＬフォーマットの情報を取得するステップと、
前記ＸＭＬフォーマットの要素情報を分析し、前記ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得するステップとを含むことを特徴とする付記１に記載の方法。
【００７３】
（付記３）
前記追加情報が、前記ターゲットＧＵＩ要素を出現させる履歴イベントに関する情報を含み、
前記追加情報を取得するステップが、
前記ターゲットＧＵＩ要素を出現させる履歴イベントを記録するステップと、
前記履歴イベントを分析し、前記ターゲットＧＵＩ要素についての履歴イベントに関する情報となる出現条件を取得するステップを含むことを特徴とする付記１に記載の方法。
【００７４】
（付記４）
前記追加情報がシステム状態情報を含むことを特徴とする付記１に記載の方法。
【００７５】
（付記５）
グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報に基づいて、識別すべきＧＵＩ要素を識別する方法であって、
前記ＧＵＩ要素識別情報が、各ＧＵＩ要素についての属性情報と追加情報を含み、
識別すべきＧＵＩ要素を含むＧＵＩを表示するステップと、
表示されたＧＵＩを分析し、識別すべきＧＵＩ要素についての属性情報を取得するステップと、
前記属性情報以外の、識別すべきＧＵＩ要素に関する追加情報を取得するステップと、
識別すべきＧＵＩ要素についての取得した属性情報と一致する属性情報を含む情報項目及び識別すべきＧＵＩ要素に関する取得した追加情報と一致する追加情報を含む情報項目について、前記ＧＵＩ要素識別情報を検索するステップと
を有することを特徴とする方法。
【００７６】
（付記６）
前記追加の情報が履歴イベント情報およびシステム状態情報の少なくとも一方を含むことを特徴とする付記５に記載の方法。
【００７７】
（付記７）
グラフィカルユーザインターフェース（ＧＵＩ）要素識別情報を生成する装置であって、
ターゲットＧＵＩ要素を含むＧＵＩを表示する表示装置と、
表示されたＧＵＩを分析し、ターゲットＧＵＩ要素についての属性情報を取得する属性情報取得ユニットと、
前記属性情報以外の、ターゲットＧＵＩ要素に関する追加の情報を取得する追加情報取得ユニットと、
前記属性情報取得ユニットによって取得された属性情報と追加情報取得ユニットによって取得された追加情報を処理し、前記ターゲットＧＵＩ要素についての識別情報を生成する識別情報生成ユニットと
を備えることを特徴とする装置。
【００７８】
（付記８）
前記属性情報がＸＰａｔｈ情報を含み、
前記属性情報取得ユニットが、
ＧＵＩ内の全ての要素について、ＸＭＬフォーマットの情報を取得するＵＩ抽出ユニットと、
ＵＩ抽出ユニットによって取得された前記ＸＭＬフォーマットの要素情報を分析し、前記ターゲットＧＵＩ要素についてのＸＰａｔｈ情報を取得する属性情報生成ユニットを含むことを特徴とする付記７に記載の装置。
【００７９】
（付記９）
前記追加情報が、前記ターゲットＧＵＩ要素を出現させる履歴イベントに関する情報を含み、
前記追加情報取得ユニットが、
前記ターゲットＧＵＩ要素を出現させる履歴イベントを記録するイベント記録ユニットと、
ターゲットＧＵＩがＧＵＩ上に出現するかどうかを判定し、判定結果を前記イベント記録ユニットに送信するターゲットＧＵＩ要素判定ユニットと、
前記イベント記録ユニットによって記録されたターゲットＧＵＩ要素に対する履歴イベントに基づいて履歴イベントに関する情報を含む追加情報を生成する追加情報生成ユニットとを含むことを特徴とする付記７に記載の装置。
【００８０】
（付記１０）
グラフィカルユーザインターフェース（ＧＵＩ）要素を識別する装置であって、
各ＧＵＩ要素についての属性情報と追加情報を含むＧＵＩ要素識別情報を格納する記憶手段と、
識別すべきＧＵＩ要素を含むＧＵＩを表示する表示装置と、
表示されたＧＵＩを分析し、識別すべきＧＵＩ要素についての属性情報を取得する属性情報取得ユニットと、
前記属性情報以外の、識別すべきＧＵＩ要素に関する追加情報を取得する追加情報取得ユニットと、
前記属性情報取得ユニットによって取得された属性情報と前記追加情報取得ユニットによって取得された追加情報に加えて、前記記憶手段に格納されたＧＵＩ要素識別情報に基づいて、識別すべきＧＵＩ要素を識別する識別ユニットと
を備えることを特徴とする装置。
【００８１】
（付記１１）
グラフィカルユーザインターフェース（ＧＵＩ）要素識別システムであって、
付記７のＧＵＩ要素識別情報を生成する装置と、付記１０のＧＵＩ要素識別装置とを備え、
前記記憶手段が、ＧＵＩ要素識別情報を生成する装置によって生成されたＧＵＩ要素識別情報を格納することを特徴とするシステム。
【００８２】
（付記１２）
前記ＧＵＩ要素識別情報を生成する装置に含まれる属性情報取得ユニットと、前記ＧＵＩ要素識別装置に含まれる属性情報取得ユニットが、同一のユニットで構成され、前記ＧＵＩ要素識別情報を生成する装置に含まれる追加情報取得ユニットと、前記ＧＵＩ要素識別装置に含まれる追加情報取得ユニットが、同一のユニットで構成されることを特徴とする付記１１に記載のシステム。
【符号の説明】
【００８３】
８０１：属性情報取得ユニット
８０２：追加情報取得ユニット
８０３：識別情報生成ユニット
８０５：ＧＵＩ
８０１１：ＵＩ抽出ユニット
８０１２：属性情報生成ユニット
８０２１：イベント記録ユニット
８０２２：ターゲットＧＵＩ要素判定ユニット
８０２３：追加情報生成ユニット
１１０１：属性情報取得ユニット
１１０２：追加情報取得ユニット
１１０３：識別ユニット
１１０５：ＧＵＩ
【図１】
2011210233.tif 000003
【図２】
2011210233.tif 000004
【図３】
2011210233.tif 000005
【図４】
2011210233.tif 000006
【図５】
2011210233.tif 000007
【図６】
2011210233.tif 000008
【図７】
2011210233.tif 000009
【図８】
2011210233.tif 000010
【図９】
2011210233.tif 000011
【図１０】
2011210233.tif 000012
【図１１】
2011210233.tif 000013
【外国語明細書】
2011210233000001.pdf