JP2014160402A - ユーザインタフェース制御方法、その装置およびプログラム - Google Patents

ユーザインタフェース制御方法、その装置およびプログラム Download PDF

Info

Publication number
JP2014160402A
JP2014160402A JP2013031217A JP2013031217A JP2014160402A JP 2014160402 A JP2014160402 A JP 2014160402A JP 2013031217 A JP2013031217 A JP 2013031217A JP 2013031217 A JP2013031217 A JP 2013031217A JP 2014160402 A JP2014160402 A JP 2014160402A
Authority
JP
Japan
Prior art keywords
control
array
information
input
erroneous
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
JP2013031217A
Other languages
English (en)
Other versions
JP5907534B2 (ja
Inventor
Hideki Koya
英毅 小矢
Hajime Nakajima
中島  一
Takeshi Masuda
健 増田
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 JP2013031217A priority Critical patent/JP5907534B2/ja
Publication of JP2014160402A publication Critical patent/JP2014160402A/ja
Application granted granted Critical
Publication of JP5907534B2 publication Critical patent/JP5907534B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】画面遷移による動的なUIの変化によりUIの特定を誤ることによる誤制御を防止可能としたUI制御を実現すること。
【解決手段】UI情報取得部11によりUI制御プログラムから制御対象ソフトウェアのUIの情報を取得し、UI予測ロジック12により特徴量ベクタ算出部15およびUI予測部16を用いて操作対象のUIを予測し、誤制御判定部13により予測結果の一意性または操作対象のUIを特定した特定結果との比較に基づいて誤制御の発生を判定し、誤制御が発生したと判定した場合はUI制御プログラムによるUI制御を停止し、誤制御は発生していないと判定した場合は制御対象ソフトウェアの操作対象のUIに対してUI制御プログラムに記載された操作を実行させる。
【選択図】図11

Description

本発明は、ユーザインタフェースをソフトウェア(エージェント)により制御する技術に関する。
ソフトウェアを制御するためのインタフェースは数多く存在するが、ほとんどのソフトウェアが具備しているインタフェースとして、人による操作を想定したユーザインタフェース(UI)がある。このUIを、人ではなく他のソフトウェア(エージェント)が制御することで、UIを具備するソフトウェアを人を介さずに操作し、当該ソフトウェアに対する作業を自動化する応用が近年開発されている。
UIを制御するためには「操作対象のUIを特定」し、そのUIに対して「データを渡す(テキストボックスへの値の代入やコンボボックスの要素選択など)」または「データを参照する(UIに表示された情報を読み取る)」または「機能を実行する(ボタンを押す、スクロールするなど)」を実行し、それらに伴い次の画面へとUIが遷移するという処理の繰り返しが必要である。しかし、UIの制御においてUIの特定を誤り、誤制御が発生する場合がある。誤制御が発生すると、ソフトウェアに対して誤った操作が行われ、データベースの汚れや重大なシステムトラブルに繋がる可能性がある。
[従来技術]
従来技術として、UIを制御するためのツール、プラットフォームが提案されている。これらUIを制御するツールでは、UIへの制御内容(UIの特定、UIへのデータ渡し/データ参照/機能実行)をシナリオやスクリプトといった独自の制御プログラムで記述し、当該制御プログラムに沿って対象のUIを操作する機能を有する。ここでは、従来技術とそれらの問題点を説明する。
非特許文献1に記載の技術では、制御プログラムの作成が不慣れな人にも可読性が高い、図1に示すような「シナリオ」という形式でUIの制御プログラムを記述している。シナリオでは、当該シナリオを構成する各ブロックに操作対象のUIを指定する情報と、UIの制御内容とが記述されている。また、シナリオでは、図2に示すようにUIを指定する情報として「Instance(UIの生成番号)」、「Text(UIが有するテキスト情報)」、「Position(UIが配置された座標)」が使用できる。それぞれの情報を用いてUIの指定を行った場合に、どのようなUIが対象として特定されるかを表したのが図3、図4、図5である。
1.Instance“3”を用いてUIを指定した場合、図3に示すように現在の画面において生成された順番が“3”のUIが操作対象として特定される。
2.Text“実行”を用いてUIを指定した場合、図4に示すように現在の画面において“実行”のテキスト情報を有するUIが操作対象として特定される。
3.Position“(80,100)”を用いてUIを指定した場合、図5に示すように現在の画面において座標“(80,100)”の直下に存在するUIが操作対象として特定される。
非特許文献1の技術の問題は、UIの制御時に制御プログラムにおいて想定していなかった画面遷移が発生し、UIの状態が図6に示すような「状態1」から「状態2」へ変化した場合にUIの特定を間違え、誤制御が発生する点である。図7、図8、図9は制御時に決定される変数(コンボボックスの選択項目)によってUIが変化した場合を示したものである。
図7の場合、Instance“3”でUIを指定しているが、UIの生成順番が変化したことにより間違ったUIが特定され、誤制御が発生する。図8の場合、Text“実行”でUIを指定しているが、同じ内容のTextを有するUIが追加されたことにより間違ったUIが特定され、誤制御が発生する。図9の場合、Position“(80,100)”でUIを指定しているが、UIの座標が変化したことにより間違ったUIが特定され(またはUIを特定できず)、誤制御が発生する。
非特許文献2に記載の技術では、スクリプトによってUIの制御プログラムを記述する。非特許文献2において、操作対象のUIを指定し制御するスクリプトの関数として、CLKITEM、CHKBTN、GETITEMが存在するが、それらは非特許文献1で用いたテキスト情報と、「左上から各々のUIを数えた場合の番号」とによってUIを指定する。非特許文献2の技術の問題は、非特許文献1と同様に、UIの制御時にUIの状態が変化した場合、UIの特定を間違えて誤制御が発生する点である。
即ち、テキスト情報で指定する場合は、非特許文献1におけるテキスト情報を用いた場合(図8)と同様に間違ったUIが特定され、誤制御が発生する。また、「左上から各々のUIを数えた場合の番号」によってUIを指定する場合は、非特許文献1におけるInstanceを用いた場合(図7)と同様に間違ったUIが特定され、誤制御が発生する。
UIの状態変化によりUIの特定が失敗する根本的な原因は、永続的にUIを特定できる識別子が存在しないことである。図10に示すように、ソフトウェアに存在する各種のUIは様々な情報101を有しており、その中には「その瞬間」においてUIを一意に特定できる識別子102が存在する。しかし、識別子102は、次にソフトウェアが起動したタイミングでは値が変わっており、制御プログラムで対象を指定する情報として用いることができない「一時的な識別子(tID)」である。なお、図10において、103は木構造で表現されるUIの構造情報である。
非特許文献1や非特許文献2に記載のUI制御ツールは、永続的にUIを特定できる識別子が存在しないために、InstanceやTextなどのUIの情報を用いて特定を試みているが、図7、8、9に挙げたように、制御時に決定される変数(制御時にテキストボックスに代入される文字列、ドロップボックスの選択項目、チェックボックスのON/OFFの状態など)によってUIの状態が変化する場合にはUIの特定に失敗し、誤制御が発生してしまう。
制御プログラム作成時にUIの状態の変化を想定することで、ある程度誤制御の発生を回避することは可能であるが、制御時に決定される変数の取り得る値を全て把握し、それら全ての値に応じて画面遷移がどのように発生するかを制御プログラム作成時に想定するのは困難であり、誤制御が絶対に発生しない制御プログラムを作成することは事実上不可能である。そして誤制御が発生すると、データベースの汚れやシステムトラブル等の重大な悪影響を及ぼしてしまう。
そこで本発明では、画面遷移による動的なUIの変化により発生する誤制御を防止可能なUI制御を実現するという課題を解決する。
本発明では、画面遷移による動的なUIの変化によりUIの特定を誤ることによる誤制御を防止可能としたUI制御を実現するという課題を解決するために、以下の特徴を有する。
本発明の第一の発明として、
制御対象ソフトウェアのユーザインタフェースを制御することで当該制御対象ソフトウェアに対する作業を自動化するUI制御プログラムにおける誤制御を防止するためのユーザインタフェース制御方法であって、
UI制御プログラムを入力として、UI情報取得部により、制御対象ソフトウェアのUIの情報の配列を取得する第1のステップと、
前記UIの情報の配列を入力として、UI予測ロジックにより、操作対象のUIを予測し、操作対象としての適合度が高い順に整列されたUIの一時的な識別子の配列およびその適合度の配列を出力する第2のステップと、
前記UIの一時的な識別子の配列およびその適合度の配列と、誤制御判定方式および当該誤制御判定方式に応じたパラメータとを入力として、誤制御判定部により、誤制御の発生を判定し、その判定結果および特定したUIの一時的な識別子を出力する第3のステップと、
誤制御が発生したと判定された場合はUI制御を停止し、誤制御が発生していないと判定された場合は前記特定した一時的な識別子のUIに対してUI自動操作部によりUI制御プログラムに記載された操作を実行する第4のステップと、を具備する
ことを特徴とする。
本発明の第二の発明として、
前記第1のステップの前に実行すべきステップとして、
表示装置上に2つのソフトウェアの画面を左右に並べて表示させ、各画面のUIの中から同じ意味を有するUIを入力装置を介して指定させるステップと、
前記指定された左右のUIの情報から特徴量ベクタを算出するステップと、
特徴量ベクタを入力として、特徴量ベクタに対する適合度を出力するUI予測部を機械学習法により学習させるステップとを含む
ことを特徴とする。
本発明の第三の発明として、
前記第1のステップにあっては、
UIの一時的な識別子および取得するUIの情報の種類を入力として、UIの位置、大きさ、種類名等のUIの情報と、木構造で表現されるUIの構造情報との中から任意の組み合わせでUIの情報の配列を取得する
ことを特徴とする。
本発明の第四の発明として
前記第2のステップは、
表示装置に表示された制御対象ソフトウェアに存在する全てのUIの情報を、UI情報取得部によりテーブル形式で取得するステップと、
各々のUIに対応する一時的な識別子の配列を取得するステップと、
テーブル形式で取得した全UIの情報から取り出した一つのUIの情報の配列と、入力されたUIの情報の配列とを入力として、特徴量ベクタ算出部により、特徴量ベクタを取得するステップと、
特徴量ベクタをテーブル形式で取得した全UIに対して取得して特徴量ベクタの配列を作成するステップと、
特徴量ベクタの配列と、一時的な識別子の配列を入力として、UI予測部により降順に整列された適合度の配列と、同様に整列された一時的な識別子の配列を取得するステップとを含む
ことを特徴とする。
本発明の第五の発明として
前記テーブル形式で取得した全UIの情報から取り出した一つのUIの情報の配列と、入力されたUIの情報の配列とを入力として、特徴量ベクタ算出部により、特徴量ベクタを取得するステップにあっては、
UIの情報の種類毎に定義する2入力1出力の特徴量算出関数を、入力された2つの配列の各要素に適用し各々の特徴量を求め、特徴量ベクタを算出する
ことを特徴とする。
本発明の第六の発明として
前記特徴量ベクタの配列と、一時的な識別子の配列を入力として、UI予測部により降順に整列された適合度の配列と、同様に整列された一時的な識別子の配列を取得するステップは、
特徴量ベクタの配列から、特徴量ベクタを一つずつ取り出し、UI予測部に入力して適合度を取得して適合度の配列に格納するステップと、
適合度の配列を降順に整列し、同じ順番で入力された一時的な識別子の配列を整列するステップとを含む
ことを特徴とする。
本発明の第七の発明として、
前記第3のステップは、
誤制御判定方式が“突合”のとき、UI制御プログラム記載のUIの情報を入力として、任意のUI特定ロジックによる特定結果とUI予測ロジックの出力との突合により誤制御の発生を判定するステップと、
誤制御判定方式が“一意性”のとき、UI予測ロジックの結果の一意性から誤制御の発生を判定するステップと、
それら判定方式の組み合わせにより誤制御の発生を判定するステップとを含む
ことを特徴とする。
本発明の第八の発明として、
制御対象ソフトウェアのユーザインタフェースを制御することで当該制御対象ソフトウェアに対する作業を自動化するUI制御プログラムにおける誤制御を防止するためのユーザインタフェース制御装置であって、
UI制御プログラムを入力として、制御対象ソフトウェアのUIの情報の配列を取得するUI情報取得部と、
2つのUIの情報の配列を入力として特徴量ベクタを算出する特徴量ベクタ算出部、並びに特徴量ベクタを入力として適合度を算出するUI予測部を具備し、前記UIの情報の配列を入力として操作対象のUIを予測し、操作対象としての適合度が高い順に整列されたUIの一時的な識別子の配列およびその適合度の配列を出力するUI予測ロジックと、
前記UIの一時的な識別子の配列およびその適合度の配列と、誤制御判定方式および当該誤制御判定方式に応じたパラメータとを入力として誤制御の発生を判定し、その判定結果および特定したUIの一時的な識別子を出力する誤制御判定部と、
誤制御が発生したと判定された場合はUI制御を停止し、誤制御が発生していないと判定された場合は前記特定した一時的な識別子のUIに対してUI制御プログラムに記載された操作を実行するUI制御部とを備えた
ことを特徴とする。
本発明の第九の発明として
誤制御判定方式が“突合”のとき、UI制御プログラム記載のUIの情報を入力として、任意のUI特定ロジックによる特定結果とUI予測ロジックの出力との突合により誤制御の発生を判定し、誤制御判定方式が“一意性”のとき、UI予測ロジックの結果の一意性から誤制御の発生を判定し、それら判定方式の組み合わせにより誤制御の発生を判定する誤制御判定部を備えた
ことを特徴とする。
本発明の第十の発明として、
前記に加え、
表示装置上に2つのソフトウェアの画面を左右に並べて表示させ、各画面のUIの中から同じ意味を有するUIを入力装置を介して指定させ、前記指定された左右のUIの情報から特徴量ベクタを算出し、特徴量ベクタを入力として、特徴量ベクタに対する適合度を出力するUI予測部を機械学習法により学習させるUI予測部の作成部を備えた
ことを特徴とする。
本発明の第十一の発明として、
コンピュータを、第八乃至第十の発明のいずれかに記載のユーザインタフェース制御装置の各部として機能させるためのプログラムを提案する。
本発明により、UIをソフトウェア(エージェント)から制御するときに、画面遷移によってUIの状態が変化する場合においても、誤制御の発生を防止してUI制御をすることが可能になる。
従来のシナリオ形式のUI制御プログラムの一例を示す説明図 シナリオを構成するブロック中のUIを指定する情報の一例を示す説明図 UIを指定する情報によるUI特定の一例を示す説明図 UIを指定する情報によるUI特定の他の例を示す説明図 UIを指定する情報によるUI特定の更に他の例を示す説明図 想定外の画面遷移に伴うUIの状態変化の一例を示す説明図 UIの状態変化に伴うUIの特定誤りの一例を示す説明図 UIの状態変化に伴うUIの特定誤りの他の例を示す説明図 UIの状態変化に伴うUIの特定誤りの更に他の例を示す説明図 UIが有する情報の概要を示す説明図 本発明のユーザインタフェース制御方法を実施する装置の実施の形態の一例を示す構成図 UI情報取得部で取得するUIの情報の形式を示す説明図 本発明におけるUI制御プログラムの構成を示す説明図 UI制御プログラム中の制御ブロックが保持する情報の詳細を示す説明図 UI制御部の動作フローチャート UI予測ロジックの動作フローチャート 特徴量ベクタ算出部の動作フローチャート UI予想部の動作フローチャート 誤制御判定部の動作フローチャート UI予測部の作成部の動作フローチャート 実施例1におけるUI制御プログラムの構成を示す説明図 実施例1におけるUIの状態変化の一例を示す説明図 実施例1における具体的な処理およびその際のUI制御プログラムの説明図 実施例1における具体的な処理およびその際の情報テーブルの説明図 実施例1における具体的な処理およびその際のUI制御プログラムの説明図 実施例1における具体的な処理およびその際のUI制御プログラムの説明図 実施例1における具体的な処理およびその際のUI制御プログラムの説明図 実施例1における具体的な処理およびその際の情報テーブルの説明図 実施例1における具体的な処理およびその際のUI制御プログラムの説明図 実施例1における具体的な処理およびその際のUI制御プログラムの説明図 誤制御の判定にUI特定ロジックを用いない場合の図25と同様の図 誤制御の判定にUI特定ロジックを用いない場合の図29と同様の図 実施例1におけるUI予測部作成時の表示画面を示す説明図 実施例1におけるUI予測部作成時の表示画面を示す説明図 実施例1におけるUI予測部作成時の処理の具体例を示す説明図 実施例1におけるUI予測部作成時の表示画面を示す説明図 実施例1におけるUI予測部作成時の表示画面を示す説明図
図11は本発明のユーザインタフェース制御方法を実施する装置の実施の形態の一例、ここでは周知のコンピュータ上に実現した例を示すもので、図中、1は入力装置、2は記憶装置、3は表示装置、4はコンピュータである。
入力装置1はマウスやキーボードを指し、後述する誤制御判定部における誤制御判定方式および当該誤制御判定方式に応じたパラメータや、UI予測部の作成部における正しいUIの組み合わせの教示を入力するために用いる。
記憶装置2はメモリの主記憶装置やHDDなどの補助記憶装置を指し、UI制御プログラムや後述するUI情報取得部が取得したUIの情報を格納する。
表示装置3は液晶ディスプレイ、CRT等を指し、後述するUI予測部の作成における教示用のソフトウェア画面や誤制御発生時におけるアラートを表示する。
コンピュータ4は、各装置1〜3を制御するとともに、UI制御部5およびUI予測部の作成部6を構成する。
UI制御部5は、UI情報取得部11、UI予測ロジック12、誤制御判定部13およびUI自動操作部14を含んで構成され、図13に示す任意の形式的UI制御プログラムS1を実行できる。形式的UI制御プログラムS1は、制御時に値が決定する変数列と、制御ブロックbS1[i](1<i<N=ブロック数)とで構成され、制御ブロックbS1[i]はUIの情報の配列LS1,biと、UIに対する制御内容AS1,biとによって構成される(図14)。UI制御部5の具体的な動作については、各構成要素について述べた後に記述する。
UI情報取得部11は、UI制御プログラムを入力として、制御対象ソフトウェアのUIの情報を取得し、記憶装置2に記憶するが、この際、2つの形式においてUIの情報を取得できる。ここで、図10に示したUIの情報101およびUIの構造情報103の両方をあわせて「UIの情報」と定義する。
図12に示すように、取得形式1においては、UIの一時的な識別子tIDを入力1、取得するUIの情報の種類を入力2として、入力1の識別子tIDのUIが保持している入力2で指定された種類のUIの情報の配列として取得することができる。また、取得形式2においては、ソフトウェア(ウィンドウ)の識別子(ウィンドウタイトル名、PIDなど)を入力1、取得するUIの情報の種類を入力2として、表示装置3に表示されている入力1で指定されたソフトウェアに存在する全てのUIに対して、入力2で指定された種類のUIの情報を取得し、UI情報のテーブルとして取得できる。
UI予測ロジック12は、UIの情報の配列から操作対象のUIを予測する際に利用され、特徴量ベクタ算出部15およびUI予測部16を含んで構成される。
具体的にはUIの情報の配列LS1,biを入力として、図16の手続きを実行する。即ち、表示装置3に現在表示されている制御対象ソフトウェアから、UI情報取得部11によって形式2のUIの情報テーブルを取得し、Tとする。このとき、UIの情報T[j](1≦j≦N=ソフトウェア中のUI数)の情報を、保持していたUIの一時的な識別子tID[j]を要素に有する配列tID(要素数N)とし(図16のC1)、特徴量ベクタ算出部15により入力L1=LS1,bi、L2=T[j]として図17の手続きを実行し、特徴量ベクタFを得る。
具体的な図17の手続きは、UIの情報の配列L1,L2の入力に対し、特徴量ベクタF=[ value1=f1(L1[1],L2[1]),value2=f2(L1[2],L2[2]),…valueN=fN(L1[N],L2[N])]を算出する(図17のC1)。このとき、各valueは実数値であり、f1〜fNは各UIの情報の種類(図10の情報101のNumberやTextなど)に応じた特徴量算出関数であり、2つの情報を受け取って実数値を返す任意の関数である(例えば、Positionの場合はユーグリッド距離関数など)。次のステップにおいて、特徴量ベクタFを出力する(図17のC2)。これを全てのjに対して実行し、特徴量ベクタの配列FA(要素数N)とする(図16のC2)。
次に、学習済みのUI予測部16により、FAとtIDを入力として図18の手続きを実行し、降順に整列された適合度の配列VS1,Ri(要素数N)と、対応する一時的なUIの識別子の配列tIDS1,Riを得て出力する(tIDS1,Ri[j]の適合度=VS1,Ri[j],1≦j≦N)(図16のC3、C4)。
具体的な図18の手続きは、i=1および適合度の配列VS1,Ri(要素数N)を用意し(図18のC1)、i≦Nかを判定し(図18のC2)、YesであればUI予測部16にFA[i]を入力し、適合度vを得て、V[i]=vとし(図18のC3)、i=i+1(図18のC4)として図18のC2のステップに戻る。i≦Nの判定でNoとなったら、VS1,Riを降順に整列し、同じ順番でtIDも整列してtIDS1,Riとして出力する(図18のC5、C6)。
誤制御判定部13は、UI特定ロジック(既存)17を具備し、tIDS1,Ri,VS1,Riおよび誤制御判定方式Mとそのパラメータの配列Pを入力として図19の手続きを実行し、出力として誤制御判定結果Eと、特定されたUIの一時的な識別子tIDを得る。M=“突合”のとき、パラメータ配列としてP=[LS1,bi]が入力され、UI特定ロジック17によりP[1]を入力としてUIを特定し、特定されたUIの一時的な識別子tIDS1,biとする(図19のC2)。
次に、tIDS1,biとtIDS1,Ri[1]を比較し(図19のC3)、同じであればE=0、tID=tIDS1,Ri[1]とし(図19のC4)、異なればE=1、tID=−1とし、出力する(図19のC5、C6)。M=“一意性のとき”のとき、パラメータ配列としてP=[P0(1≦P0≦N)、P1(実数値)]が入力され、VS1,Ri[1]−VS1,Ri[P[1]]>P[2]を判定し(図19のC7)、YesであればE=0、tID=tIDS1,Ri[1]とし(図19のC4)、NoであればE=1、tID=−1とし、出力する(図19のC5、C6)。
UI自動操作部14は、一時的なUIの識別子tIDと制御内容AS1,biを入力として、表示装置3に表示されているUIの中からtIDを現在保持しているUIに対しAS1,biの内容を自動操作することができる。
UI制御部5の具体的な動作は、これまで説明した構成要素のUI情報取得部11、予測ロジック12、誤制御判定部13、UI自動操作部14を用いて、図15を実行する。
即ち、制御ブロックのカウンタi=1とし(図15のC1)、iが制御ブロックの数N以下であるかを判定し(図15のC2)、Noであれば終了し、YesであればS1の制御ブロックbS1[i]からUIの情報の配列LS1,biを取り出し(図15のC3)、UI予測ロジック12により、LS1,biを入力として図16の手続きを実行してUIを予測し、出力tIDS1,Ri,VS1,Riを得る(図15のC4)。
次に誤制御判定部13により、tIDS1,Ri,VS1,Riおよび誤制御判定方式Mとパラメータの配列Pを入力として図19の手続きを実行し、出力として誤制御判定結果Eと、特定されたUIの一時的な識別子tIDを得て(図15のC5)、E=1であるかを判定し(図15のC6)、YesであればUI制御を停止し(図15のC7)、終了する。Noであれば、S1の制御ブロックbS1[i]からUIに対する制御内容AS1,biを取り出し、UI自動操作部14によってtIDのUIに対してAS1,biの内容を実行し(図15のC8)、i=i+1を実行(図15のC9)して図15のC2のステップに戻る。
UI予測部の作成部6は、UIの情報から特定すべき対象のUIがどれであるかを予測するUI予測部16を作成する際に利用され、具体的には図20の手続きが実行される。
即ち、人による教示(学習)が必要な回数行われたかを判定し(図20のC1)、Yesの場合は終了し、Noの場合は、入力装置1より表示装置3に表示されたソフトウェアの中から、Query(左画面)とAnswer(右画面)用にそれぞれソフトウェアを選択し、表示装置3に左右に並べてUIを表示し(図20のC2)、左画面と右画面のUIにおいてユーザが同じものと判断するUIを入力装置1によって選択(クリック)して教示し、このときの左画面の選択UIの一時的な識別子tIDL、右画面の選択UIの一時的な識別子tIDRとし(図20のC3)、UI情報取得部11により、tIDLとtIDRを入力として、それぞれ形式1のUIの情報の配列LLとLRを得て(図20のC4)、特徴量ベクタ算出部15により入力L1=LL、L2=LRとして図17の手続きを実行して特徴量ベクタFとし(図20のC5)、特徴量ベクタを入力として適合度を出力するUI予測部16に対し、(入力,教示)=(F,True)の組み合わせを任意の機械学習法によって学習し、Fのときに高い適合度が得られるようにUI予測部16を更新し(図20のC6)、C1のステップに戻る。
図21に示す2つの制御ブロック(bS2[1],bS2[2])から構成される形式的制御プログラムS2により、図22に示す制御対象ソフトウェアに対してUI制御を行う例について説明する。図22の制御対象ソフトウェアは、コンボボックスの値が“グループ6”のときにUIの状態が図22(a)から図22(b)に変化することにより、従来のUI制御ツールによってS2が実行された場合、図7、8、9に示したように誤ったUIが特定され、誤制御が発生する。
本発明を適用することにより、上記誤制御の発生を検知し、防止することができる。
まず、図20の手続きに従って予めUI予測部16の作成を行う。入力装置1により、表示装置3に表示されたソフトウェアの中から、図33に示すようにQuery(左画面)とAnswer(右画面)用にそれぞれソフトウェアを選択し、表示装置3に左右並べてUIを表示する(図20のC2)。このときUI予測部作成に用いるソフトウェアはS2の制御対象ソフトウェア(図22のソフトウェア)である必要はなく、どのようなソフトウェアでも良い。
次に、図34に示すように左画面と右画面のUIにおいてユーザが同じものと判断するUIを入力装置1によって選択(クリック)して教示し、このときの左画面の選択UIの一時的な識別子tIDL、右画面の選択UIの一時的な識別子tIDRとする(図20のC3)。
次に、図35に示すようにUI情報取得部11により、tIDLとtIDRを入力として、それぞれ形式1のUIの情報の配列LLとLRを得て(図20のC4)、特徴量ベクタ算出部15により、入力L1=LL、L2=LRとして図17の手続きを実行し、特徴量ベクタFを得て(図20のC5)、(入力,教示)=(F,True)の組み合わせを任意の機械学習法によって学習し、Fのときに高い適合度が得られるようにUI予測部16を更新する(図20のC6)。
このような操作を必要な回数、様々なソフトウェアやUI(図36)、正常系/異常系(図37)に対して行うことで予測精度が向上する。
次に作成されたUI予測部16を用いて、UI制御部5が実行される。
最初に図15の手続きにシナリオS2が入力され、ブロック数N=2となり、i=1が代入される。次に、S2のbS2[1]よりLS2,b1=[ Instance=1,Text=“グループ1”,Position=(30,30),Type=“ComboBox”,Size=(150,20)]を取り出す。次に、LS2,b1を入力として図16のステップに移る(ここまで図23)。
次に、UI情報取得部11によって上記のUIの情報テーブルTを取得し、対応する一時的な識別子の配列tIDを得る。次に、図17の手続きにより、特徴量ベクタFA[1]=[1,1,0,1,1.0],FA[2]=[0,0,50,1,1.5],FA[3]=[0,0,86,0,2.1]を要素に有する特徴量ベクタの配列FAを得る(実施例において、図17のf1,f2,f4は2つの入力が同じならば1、異なれば0を返す関数。f3はユークリッド距離、f4は面積比)。
次に、図18の手続きにより、特徴量ベクタの配列FA(要素数3)とtID(要素数3)を入力し、それぞれの適合度の降順にされた配列VS2,R1および、対応するUIの一時的な識別子の配列tIDS2,R1としてVS2,R1=[1.0,0.4,0.3],tIDS2,R1=[ID_1,ID_2,ID_3]を得て出力する(ここまで図24)。
次に、誤制御判定方式M=“突合”の場合、図15(C5)により、Mおよびパラメータの配列P=[LS2,b1]、tIDS2,R1,VS2,R1を入力として、図19の手続きに移る。ここで、M=“突合”なので図19(C2)のステップに移り、UI特定ロジック(実施例においてはInstanceの一致による特定ロジック)により、P[1]=LS2,b1=[ Instance=1,Text=“グループ1”,Position=(30,30),Type=“ComboBox”,Size=(150,20)]を入力としてUIを特定すると、tIDS1,b1=ID_1となる。次に、tIDS1,b1(=ID_1)とtIDS2,R1[1](=ID_1)を比較すると、ともにID_1で同じなので図19(C4)のステップに移る。E=0,tID=ID_1となり、図19(C6)のステップよりEとtIDを出力する(ここまで図25)。
次に、E=0なので誤制御は発生していないと判定され、bS1[i]から制御内容AS2,b1を取り出してUI自動操作部14によって実行し、tID=ID_1のUIに対して変数1(=グループ6)の値を設定し、i=i+1=2として図15(C2)のステップに移る(ここまで図26)。
次に、i(=2)≦N(=2)なので制御ブロック2に移り、bS2[2]よりLS2,b2=[ Instance=3,Text=“実行”,Position=(80,100),Type=“Button”,Size=(70,20)]を取り出す。次に、LS2,b2を入力として図16のステップに移る(ここまで図27)。
次に、UI情報取得部11によって上記のUIの情報テーブルを取得し、Tおよび一時的な識別子の配列tIDを得て、図17の手続きにより、特徴量特徴量ベクタFA[1]=[0,0,86,0,0.47],FA[2]=[0,1,40,1,1.0],FA[3]=[1,0,22,0,0.7],FA[4]=[0,1,20,1,1.0]を要素に有する特徴量ベクタの配列FAを得る(実施例において、図17のf1,f2,f4は2つの入力が同じならば1、異なれば0を返す関数。f3はユークリッド距離、f4は面積比)。次に、図18の手続きにより、特徴量ベクタFA(要素数4)とtID(要素数4)を入力し、それぞれの適合度の降順にされた配列VS2,R2および対応するUIの一時的な識別子の配列tIDS2,R2としてVS2,R2=[0.8,0.6,0.4,0.3],tIDS2,R2=[ID_4,ID_2,ID_3,ID_1]を得て出力する(ここまで図28)。
次に、誤制御判定方式M=“突合”の場合、図15(C5)により、Mおよびパラメータの配列P=[LS2,b2]、tIDS2,R2,VS2,R2を入力として、図19の手続きに移る。M=“突合”なので図19(C2)のステップに移り、UI特定ロジック(実施例においてはInstanceの一致による特定ロジック)により、P[0]=LS2,b2=[ Instance=3,Text=“実行”,Position=(80,100),Type=“Button”,Size=(70,20)]を入力としてUIを特定すると、tIDS1,b2=ID_3となる。tIDS1,b2とtIDS2,R2[1]を比較すると値が異なるため、E=1、tID=−1を出力する(ここまで図29)。
E=1となり誤制御が検知されたためAS2,b2は実行されず、UI制御を停止する。これにより、bS2[2]は実行されずに、従来技術では実行されていた誤制御の実行を防止できる(ここまで図30)。
なお、誤制御判定方式M=“一意性”のとき、図25に示した処理が図31に置き換わり、図29に示した処理が図32に置き換わる。
なお、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、図11の構成図に示された機能を実現するプログラムあるいは図15〜図20のフローチャートに示された手順を備えるプログラムをインストールすることによっても実現可能である。
1:入力装置、2:記憶装置、3:表示装置、4:コンピュータ、5:UI制御部、6:UI予測部の作成部、11:UI情報取得部、12:UI予測ロジック、13:誤制御判定部、14:UI自動操作部、15:特徴量ベクタ算出部、16:UI予測部、17:UI特定ロジック。
横瀬、田中、豊田、堀田、井上、杉本、「端末操作自動化ソフトUMSの概要と適用事例」、信学技法、信学技報、vol.111、no.488、ICM2011-73、2012年3月、pp.149-154 "Windows自動化ソフト UWSC"、[online]、umiumi、[平成25年2月5日検索]、インターネット<URL:http://www.uwsc.info/>

Claims (11)

  1. 制御対象ソフトウェアのユーザインタフェースを制御することで当該制御対象ソフトウェアに対する作業を自動化するUI制御プログラムにおける誤制御を防止するためのユーザインタフェース制御方法であって、
    UI制御プログラムを入力として、UI情報取得部により、制御対象ソフトウェアのUIの情報の配列を取得する第1のステップと、
    前記UIの情報の配列を入力として、UI予測ロジックにより、操作対象のUIを予測し、操作対象としての適合度が高い順に整列されたUIの一時的な識別子の配列およびその適合度の配列を出力する第2のステップと、
    前記UIの一時的な識別子の配列およびその適合度の配列と、誤制御判定方式および当該誤制御判定方式に応じたパラメータとを入力として、誤制御判定部により、誤制御の発生を判定し、その判定結果および特定したUIの一時的な識別子を出力する第3のステップと、
    誤制御が発生したと判定された場合はUI制御を停止し、誤制御が発生していないと判定された場合は前記特定した一時的な識別子のUIに対してUI自動操作部によりUI制御プログラムに記載された操作を実行する第4のステップと、を具備する
    ことを特徴とするユーザインタフェース制御方法。
  2. 前記第1のステップの前に実行すべきステップとして、
    表示装置上に2つのソフトウェアの画面を左右に並べて表示させ、各画面のUIの中から同じ意味を有するUIを入力装置を介して指定させるステップと、
    前記指定された左右のUIの情報から特徴量ベクタを算出するステップと、
    特徴量ベクタを入力として、特徴量ベクタに対する適合度を出力するUI予測部を機械学習法により学習させるステップとを含む
    ことを特徴とする請求項1に記載のユーザインタフェース制御方法。
  3. 前記第1のステップにあっては、
    UIの一時的な識別子および取得するUIの情報の種類を入力として、UIの位置、大きさ、種類名等のUIの情報と、木構造で表現されるUIの構造情報との中から任意の組み合わせでUIの情報の配列を取得する
    ことを特徴とする請求項1に記載のユーザインタフェース制御方法。
  4. 前記第2のステップは、
    表示装置に表示された制御対象ソフトウェアに存在する全てのUIの情報を、UI情報取得部によりテーブル形式で取得するステップと、
    各々のUIに対応する一時的な識別子の配列を取得するステップと、
    テーブル形式で取得した全UIの情報から取り出した一つのUIの情報の配列と、入力されたUIの情報の配列とを入力として、特徴量ベクタ算出部により、特徴量ベクタを取得するステップと、
    特徴量ベクタをテーブル形式で取得した全UIに対して取得して特徴量ベクタの配列を作成するステップと、
    特徴量ベクタの配列と、一時的な識別子の配列を入力として、UI予測部により降順に整列された適合度の配列と、同様に整列された一時的な識別子の配列を取得するステップとを含む
    ことを特徴とする請求項1に記載のユーザインタフェース制御方法。
  5. 前記テーブル形式で取得した全UIの情報から取り出した一つのUIの情報の配列と、入力されたUIの情報の配列とを入力として、特徴量ベクタ算出部により、特徴量ベクタを取得するステップにあっては、
    UIの情報の種類毎に定義する2入力1出力の特徴量算出関数を、入力された2つの配列の各要素に適用し各々の特徴量を求め、特徴量ベクタを算出する
    ことを特徴とする請求項4に記載のユーザインタフェース制御方法。
  6. 前記特徴量ベクタの配列と、一時的な識別子の配列を入力として、UI予測部により降順に整列された適合度の配列と、同様に整列された一時的な識別子の配列を取得するステップは、
    特徴量ベクタの配列から、特徴量ベクタを一つずつ取り出し、UI予測部に入力して適合度を取得して適合度の配列に格納するステップと、
    適合度の配列を降順に整列し、同じ順番で入力された一時的な識別子の配列を整列するステップとを含む
    ことを特徴とする請求項4に記載のユーザインタフェース制御方法。
  7. 前記第3のステップは、
    誤制御判定方式が“突合”のとき、UI制御プログラム記載のUIの情報を入力として、任意のUI特定ロジックによる特定結果とUI予測ロジックの出力との突合により誤制御の発生を判定するステップと、
    誤制御判定方式が“一意性”のとき、UI予測ロジックの結果の一意性から誤制御の発生を判定するステップと、
    それら判定方式の組み合わせにより誤制御の発生を判定するステップとを含む
    ことを特徴とする請求項1に記載のユーザインタフェース制御方法。
  8. 制御対象ソフトウェアのユーザインタフェースを制御することで当該制御対象ソフトウェアに対する作業を自動化するUI制御プログラムにおける誤制御を防止するためのユーザインタフェース制御装置であって、
    UI制御プログラムを入力として、制御対象ソフトウェアのUIの情報の配列を取得するUI情報取得部と、
    2つのUIの情報の配列を入力として特徴量ベクタを算出する特徴量ベクタ算出部、並びに特徴量ベクタを入力として適合度を算出するUI予測部を具備し、前記UIの情報の配列を入力として操作対象のUIを予測し、操作対象としての適合度が高い順に整列されたUIの一時的な識別子の配列およびその適合度の配列を出力するUI予測ロジックと、
    前記UIの一時的な識別子の配列およびその適合度の配列と、誤制御判定方式および当該誤制御判定方式に応じたパラメータとを入力として誤制御の発生を判定し、その判定結果および特定したUIの一時的な識別子を出力する誤制御判定部と、
    誤制御が発生したと判定された場合はUI制御を停止し、誤制御が発生していないと判定された場合は前記特定した一時的な識別子のUIに対してUI制御プログラムに記載された操作を実行するUI制御部とを備えた
    ことを特徴とするユーザインタフェース制御装置。
  9. 誤制御判定方式が“突合”のとき、UI制御プログラム記載のUIの情報を入力として、任意のUI特定ロジックによる特定結果とUI予測ロジックの出力との突合により誤制御の発生を判定し、誤制御判定方式が“一意性”のとき、UI予測ロジックの結果の一意性から誤制御の発生を判定し、それら判定方式の組み合わせにより誤制御の発生を判定する誤制御判定部を備えた
    ことを特徴とする請求項8に記載のユーザインタフェース制御装置。
  10. 前記に加え、
    表示装置上に2つのソフトウェアの画面を左右に並べて表示させ、各画面のUIの中から同じ意味を有するUIを入力装置を介して指定させ、前記指定された左右のUIの情報から特徴量ベクタを算出し、特徴量ベクタを入力として、特徴量ベクタに対する適合度を出力するUI予測部を機械学習法により学習させるUI予測部の作成部を備えた
    ことを特徴とする請求項8に記載のユーザインタフェース制御装置。
  11. コンピュータを、請求項8乃至10のいずれかに記載のユーザインタフェース制御装置の各部として機能させるためのプログラム。
JP2013031217A 2013-02-20 2013-02-20 ユーザインタフェース制御方法、その装置およびプログラム Active JP5907534B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013031217A JP5907534B2 (ja) 2013-02-20 2013-02-20 ユーザインタフェース制御方法、その装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013031217A JP5907534B2 (ja) 2013-02-20 2013-02-20 ユーザインタフェース制御方法、その装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2014160402A true JP2014160402A (ja) 2014-09-04
JP5907534B2 JP5907534B2 (ja) 2016-04-26

Family

ID=51612044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013031217A Active JP5907534B2 (ja) 2013-02-20 2013-02-20 ユーザインタフェース制御方法、その装置およびプログラム

Country Status (1)

Country Link
JP (1) JP5907534B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021141399A1 (en) * 2020-01-10 2021-07-15 Samsung Electronics Co., Ltd. Method and electronic device for accelerating asset execution

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022565A (ja) * 1999-07-08 2001-01-26 Nec Corp Gui設計支援方法及びその装置並びにgui設計支援プログラムを記録した機械読み取り可能な記録媒体、gui評価方法及びその装置並びにgui評価プログラムを記録した機械読み取り可能な記録媒体
JP2010231594A (ja) * 2009-03-27 2010-10-14 Fujitsu Ltd 試験プログラム及び試験装置
JP2012014496A (ja) * 2010-07-01 2012-01-19 Nec Corp Gui解析装置、方法、及び、プログラム
JP2012064129A (ja) * 2010-09-17 2012-03-29 Hitachi Ltd 複数アプリケーションのgui統合方法
WO2012176365A1 (ja) * 2011-06-20 2012-12-27 パナソニック株式会社 Guiプログラム作成支援装置、guiプログラム作成支援方法、プログラム、及び集積回路
JP2013033377A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 自動操作部品の特定方法およびその装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022565A (ja) * 1999-07-08 2001-01-26 Nec Corp Gui設計支援方法及びその装置並びにgui設計支援プログラムを記録した機械読み取り可能な記録媒体、gui評価方法及びその装置並びにgui評価プログラムを記録した機械読み取り可能な記録媒体
JP2010231594A (ja) * 2009-03-27 2010-10-14 Fujitsu Ltd 試験プログラム及び試験装置
JP2012014496A (ja) * 2010-07-01 2012-01-19 Nec Corp Gui解析装置、方法、及び、プログラム
JP2012064129A (ja) * 2010-09-17 2012-03-29 Hitachi Ltd 複数アプリケーションのgui統合方法
WO2012176365A1 (ja) * 2011-06-20 2012-12-27 パナソニック株式会社 Guiプログラム作成支援装置、guiプログラム作成支援方法、プログラム、及び集積回路
JP2013033377A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 自動操作部品の特定方法およびその装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021141399A1 (en) * 2020-01-10 2021-07-15 Samsung Electronics Co., Ltd. Method and electronic device for accelerating asset execution

Also Published As

Publication number Publication date
JP5907534B2 (ja) 2016-04-26

Similar Documents

Publication Publication Date Title
US11504852B2 (en) System and method for detecting and fixing robotic process automation failures
US10275265B1 (en) Graphical user interface for editing components in graphical user interfaces for industrial control systems
KR101791623B1 (ko) 트랜잭션 트레이스 그래프와 논리적 서브시스템들의 맵 사이의 관계들을 시각화하는 방법
EP3093108A2 (en) Information processing method and information processing apparatus
CN104123219A (zh) 测试软件的方法和设备
CN106021102B (zh) 自动化测试文件的生成方法及装置
US7159209B1 (en) Inter-application validation tool for use in enterprise architecture modeling
US11714394B2 (en) Bulk commissioning of field devices within a process plant
EP1624352B1 (en) Manual restart learning process and manual restart process for an automated system
US20130262934A1 (en) Method and apparatus for automatically generating a test script for a graphical user interface
CN104281119B (zh) 支持分布式控制系统中的技术任务的方法和系统
CN110050237A (zh) 数据收集装置、数据收集方法及程序
CN104657274B (zh) 软件界面测试方法及装置
US10901875B2 (en) Evaluating and presenting software testing project status indicators
CN102222043A (zh) 一种测试方法和测试装置
EP2891976A1 (en) Software workstation and method for employing appended metadata in industrial automation software
CN105431790A (zh) 编程装置
EP3841443A1 (en) Information providing method and system
EP1376144A2 (en) Test data analysis system
KR20140147227A (ko) 스크립트 유지보수 기능을 갖는 gui 소프트웨어 테스트 자동화 시스템 및 방법
JP6452882B1 (ja) ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム
JP5907534B2 (ja) ユーザインタフェース制御方法、その装置およびプログラム
US20190138921A1 (en) Interactive guidance system for selecting thermodynamics methods in process simulations
US11698851B2 (en) Recommending programmatic descriptions for test objects
Schilberg et al. Virtual Production-The connection of the modules through the Virtual Production Intelligence

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160316

R150 Certificate of patent or registration of utility model

Ref document number: 5907534

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150