JP7439955B2 - 操作支援装置、操作支援方法および操作支援プログラム - Google Patents

操作支援装置、操作支援方法および操作支援プログラム Download PDF

Info

Publication number
JP7439955B2
JP7439955B2 JP2022563293A JP2022563293A JP7439955B2 JP 7439955 B2 JP7439955 B2 JP 7439955B2 JP 2022563293 A JP2022563293 A JP 2022563293A JP 2022563293 A JP2022563293 A JP 2022563293A JP 7439955 B2 JP7439955 B2 JP 7439955B2
Authority
JP
Japan
Prior art keywords
information
operation support
selector
search range
support device
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
JP2022563293A
Other languages
English (en)
Other versions
JPWO2022107228A1 (ja
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.)
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
Publication of JPWO2022107228A1 publication Critical patent/JPWO2022107228A1/ja
Application granted granted Critical
Publication of JP7439955B2 publication Critical patent/JP7439955B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、操作支援装置、操作支援方法および操作支援プログラムに関する。
従来、ウェブシステム等の業務システム一般において、対象アプリケーション自体は開発を行うことなく、入力チェック機能、入力自動化機能等を持つUI(User Interface)部品を追加することで、生産性向上を実現するUI拡張技術がある(例えば、特許文献1参照)。
このUI拡張技術で用いられている表示制御方式では、ユーザが指定した表示の基点となるUI要素(適宜、「基点UI」)が画面上に表示されている場合には、基点UIに紐付けられたUI部品(適宜、「拡張UI」)が表示される。
例えば、この表示制御方式では、表示画面のスクロールや画面のクリック等の処理により、動的に画面表示が変化した場合でも、指定した基点UIの表示有無に応じて拡張UIの表示を切り替える。
上記のような動的な画面UIの変化に対応するため、対象画面のUI要素のうち、基点UIになりうるUI要素を監視し、それをもとに表示、非表示を更新する。したがって、表示制御に際して、表示ルールに合致しうるUI要素を監視する必要がある。
ここで、表示ルールに関わる基点UIの設定については、以下の2通りの手法がある。第1に、タグ名、テキスト値等から基点UIを特定する「属性指定」であり、基点UIとなりうるUI要素を網羅的に監視することが可能となる。属性指定では、ユーザが意図しないUIも、監視対象とされてしまうことから処理負荷が増えてしまう可能性がある。
第2に、階層構造を表したセレクタにより基点UIを特定する「セレクタ指定」であり、基点としたいUIのみを監視対象とすることが可能である。セレクタ指定では、1つのセレクタで一意にUIを特定するため、監視対象のUI数分だけセレクタの設定が必要になる。
特開2018-005344号公報
しかしながら、従来の技術では、拡張UIの表示処理の負荷を軽減するため、容易に適切な基点UIのみを監視対象とすることができなかった。なぜならば、従来技術の表示ルールの設定では、1つの画面上で表示ルールに合致しうるUI要素があれば全て監視対象UIとするため、ユーザにより監視対象としたいUIの範囲を指定する等の、監視対象UIをフィルタリングする条件が別途必要となる。
一方、ウェブページのUI構成はDOM(Document Object Model)ツリーで管理し、扱うことが一般的であり、DOMツリーの情報と、実際に表示されるUIの見た目や配置は直感的に一致しない。そのため、従来手法では、スキルのないユーザが狙ったUI要素をDOMツリー上から選択することは難しく、監視対象UIのフィルタリングには、DOMツリーの情報が明らかで、かつユーザがDOMツリーを扱うためのスキルを有している必要があった。
上述した課題を解決し、目的を達成するために、本発明に係る操作支援装置は、ユーザの操作に基づいた指定範囲の情報を取得する取得部と、前記取得部により取得された前記指定範囲の情報から、前記指定範囲に含まれるUI要素の情報を抽出する抽出部と、前記抽出部により抽出された前記UI要素の情報に基づいて、前記指定範囲を含んだ探索範囲を表わすセレクタを生成する生成部と、前記生成部により生成された前記セレクタから、前記探索範囲を設定する設定部とを備えることを特徴とする。
また、本発明に係る操作支援方法は、操作支援装置によって実行される操作支援方法であって、ユーザの操作に基づいた指定範囲の情報を取得する取得工程と、前記取得部により取得された前記指定範囲の情報から、前記指定範囲に含まれるUI要素の情報を抽出する抽出工程と、前記抽出部により抽出された前記UI要素の情報に基づいて、前記指定範囲を含んだ探索範囲を表わすセレクタを生成する生成工程と、前記生成部により生成された前記セレクタから、前記探索範囲を設定する設定工程とを含むことを特徴とする。
また、本発明に係る操作支援プログラムは、ユーザの操作に基づいた指定範囲の情報を取得する取得ステップと、前記取得部により取得された前記指定範囲の情報から、前記指定範囲に含まれるUI要素の情報を抽出する抽出ステップと、前記抽出部により抽出された前記UI要素の情報に基づいて、前記指定範囲を含んだ探索範囲を表わすセレクタを生成する生成ステップと、前記生成部により生成された前記セレクタから、前記探索範囲を設定する設定ステップとをコンピュータに実行させることを特徴とする。
本発明は、拡張UIの表示処理の負荷を軽減するため、容易に適切な基点UIのみを監視対象とすることができる。
図1は、第1の実施形態に係る操作支援装置の構成例を示すブロック図である。 図2は、第1の実施形態に係る探索範囲セレクタ生成処理の流れの一例を示す図である。 図3は、第1の実施形態に係る各探索範囲セレクタ生成パターンの内容を示す図である。 図4は、第1の実施形態に係るグルーピング処理の流れの一例を示す図である。 図5は、第1の実施形態に係る探索範囲セレクタ生成処理およびグルーピング処理の流れの一例を示す図である。 図6は、第1の実施形態に係る探索範囲の設定の一例を示す図である。 図7は、第1の実施形態に係る探索範囲の設定の一例を示す図である。 図8は、第1の実施形態に係る操作支援処理の流れの一例を示すフローチャートである。 図9は、第1の実施形態に係るグルーピング処理の流れの一例を示すフローチャートである。 図10は、プログラムを実行するコンピュータを示す図である。
以下に、本発明に係る操作支援装置、操作支援方法および操作支援プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
〔第1の実施形態〕
以下に、本実施形態に係る操作支援装置の構成、探索範囲セレクタ生成処理、グルーピング処理、操作支援処理の具体例、操作支援処理の流れ、グルーピング処理の流れを順に説明し、最後に本実施形態の効果を説明する。
[操作支援装置の構成]
図1を用いて、本実施形態に係る操作支援装置10の構成を詳細に説明する。図1は、本実施形態に係る操作支援装置の構成例を示すブロック図である。操作支援装置10は、入力部11、出力部12、制御部13および記憶部14を有する。
入力部11は、当該操作支援装置10への各種情報の入力を司る。入力部11は、例えば、マウスやキーボード等であり、当該操作支援装置10への設定情報等の入力を受け付ける。また、出力部12は、当該操作支援装置10からの各種情報の出力を司る。出力部12は、例えば、ディスプレイ等であり、当該操作支援装置10に記録された設定情報等を出力する。
記憶部14は、制御部13が動作する際に参照する各種情報や、制御部13が動作した際に取得した各種情報を記憶する。記憶部14は、例えば、拡張機能設定情報記憶部141、探索範囲セレクタ記憶部142を有する。ここで、記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等である。なお、図1の例では、記憶部14は、操作支援装置10の内部に設置されているが、操作支援装置10の外部に設置されてもよいし、複数の記憶部として設置されていてもよい。
拡張機能設定情報記憶部141は、操作支援装置10が拡張UIの表示および表示更新を行うための情報を記憶する。拡張機能設定情報記憶部141は、例えば、拡張UIの表示条件、表示更新方式、画面キャプチャに関する情報等を記憶する。
探索範囲セレクタ記憶部142は、制御部13の生成部134により生成された探索範囲セレクタを記憶する。また、探索範囲セレクタ記憶部142は、制御部13の設定部135によりグループごとの論理和(適宜、「OR」)をとった探索範囲セレクタを記憶する。さらに、探索範囲セレクタ記憶部142は、制御部13の取得部131により取得した指定範囲の情報やグルーピング処理に関する情報、制御部13の抽出部132により抽出されたUI要素の情報等も記憶してもよい。
制御部13は、操作支援装置10全体の制御を司る。制御部13は、取得部131、抽出部132、グルーピング部133、生成部134および設定部135を有する。ここで、制御部13は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路である。
取得部131は、ユーザの操作に基づいた指定範囲の情報を取得する。ここで、ユーザの操作とは、ユーザが監視対象としたいUI要素を指定する操作である。例えば、ユーザは、画面キャプチャ上の表の値の一部を、マウスドラッグ操作で矩形領域の範囲指定をする。なお、ユーザの操作は、UI要素を指定する操作であれば特に限定されず、マウスクリック操作等のマウスを用いた操作の他、タッチパネル上でのタッチペン等による操作、音声認識技術や視線認識技術を用いた操作でもよい。
また、指定範囲の情報とは、ユーザの操作に基づき取得された対象範囲の位置に関する情報である。例えば、取得部131は、ユーザが画面キャプチャ上で範囲指定した矩形領域の位置やサイズの情報を取得し、矩形領域内の対象となる値を判定する。また、指定範囲の情報は、ユーザがマウスドラッグ操作等で取得したものに限られず、事前にユーザが指定したものであってもよいし、事前にユーザが設定した条件であってもよい。
抽出部132は、取得部131により取得された指定範囲の情報から、指定範囲に含まれるUI要素の情報を抽出する。例えば、抽出部132は、UI要素の情報として、UI要素の階層情報を抽出する。ここで、UI要素の情報とは、UI部品やUIの動作に関わる情報、タグ名やテキスト値を含む属性値、UI要素ごとの階層情報等であるが、特に限定されず、事前にユーザが設定した条件等であってもよい。また、階層情報とは、DOMツリー構造や階層セレクタ等のUI要素の階層構造を特定するものであるが、特に限定されない。また、階層セレクタは、UI要素のもつタグ名等の属性値と親要素からみて何番目の子要素かという子番号等の情報の組で表される。
グルーピング部133は、抽出部132により抽出されたUI要素の情報に基づいて、UI要素をグループ分けする。例えば、グルーピング部133は、UI要素のDOMツリー上の深さ、属性値、およびユーザの設定した条件の少なくとも1つに基づいてグループ分けする。ここで、DOMツリー上の深さとは、例えば、当該UI要素のルートノードからの階層数であるが、特に限定されない。また、属性値とは、「TBODY」「TR」「TD」等のタグ名等であるが、特に限定されない。さらに、ユーザの設定した条件とは、例えば、監視対象の手本となるUI要素、DOMツリー構造を指定する情報であるが、特に限定されない。グルーピング処理の詳細な説明については後述する。
生成部134は、抽出部132により抽出されたUI要素の情報に基づいて、指定範囲を含んだ探索範囲を表わすセレクタを生成する。例えば、生成部134は、抽出部132により抽出されたUI要素の階層情報に基づいて、探索範囲を表わすセレクタを生成する。また、生成部134は、抽出部132により抽出されたUI要素の階層情報に共通項が含まれる場合、共通項を含んだUI要素群の探索範囲を表わすセレクタを生成する。また、生成部134は、グルーピング部133によりグループ分けされたUI要素群ごとに探索範囲を表わすセレクタを生成する。さらに、生成部134は、生成した探索範囲を表わすセレクタを、探索範囲セレクタ記憶部142に格納する。
設定部135は、生成部134により生成された探索範囲を表わすセレクタから、探索範囲を設定する。また、設定部135は、探索範囲セレクタ記憶部142から探索範囲を表わすセレクタを取得する。また、設定部135は、グループ分けされたUI要素群ごとに生成された探索範囲を表わすセレクタのORをとったものから、探索範囲を設定する。さらに、設定部135は、生成部134により生成された探索範囲を表わすセレクタに基づいて、探索範囲に含まれるUI要素に対応する拡張UIの表示を、所定の方式で制御する。例えば、設定部135は、特定の探索範囲に含まれるUI要素に対応する拡張UIを非表示の設定にすることができる。
一方、設定部135は、グループ分けされたUI要素群ごとに生成された探索範囲を表わすセレクタのORをとったものを探索範囲セレクタとして、探索範囲セレクタ記憶部142に格納する。
[探索範囲セレクタ生成処理]
図2および図3を用いて、本実施形態に係る探索範囲セレクタ生成処理を詳細に説明する。図2は、第1の実施形態に係る探索範囲セレクタ生成処理の流れの一例を示す図である。また、図3は、第1の実施形態に係る各探索範囲セレクタ生成パターンの内容を示す図である。
第1に、図2を用いて、本実施形態に係る探索範囲セレクタ生成処理の概要を説明する。まず、ユーザは、編集エディタ等の実際の画面をもとにマウスドラッグ等の操作により、探索範囲としたい領域を指定する(図2の(1)参照)。図2では、矩形で囲まれた範囲を指定範囲としているが、何らかの手段で閉域が作成できればよく、円形、楕円形、フリーハンドで描画した図形等で囲まれた範囲でもよい。
次に、操作支援装置10は、矩形領域内に全体が収まるUI要素を監視対象のUIとして自動でリスト化する(図2の(2)参照)。このとき、操作支援装置10は、矩形領域内に一部分が含まれるUI要素を監視対象のUIとしてリスト化することもできる。そして、操作支援装置10は、指定範囲に含まれるUI要素の階層情報等をもとに、セレクタ表記を曖昧な指定に変換し、探索範囲セレクタを生成する(図2の(3)参照)。
第2に、図3を用いて、探索範囲セレクタ生成パターンを説明する。なお、図3において本実施形態に係る探索範囲セレクタ生成パターンは、パターン1~パターン5であるが、特に限定されない。
パターン1では、階層が一致しているが、子要素が異なるセレクタ群から、子要素全体を探索範囲とするセレクタを生成する。例えば、「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > bbb > ccc > ddd:nth-child(2)」の2つのセレクタは、「:nth-child(1)」「:nth-child(2)」の子要素が異なっており、それ以外は共通している。ここで、子要素の差異点を「:childen」に変換し、「aaa > bbb > ccc > ddd:childen」というセレクタを生成することにより、上記の子要素全体を探索範囲とすることができる。
パターン2では、階層が部分一致し、かつ出現順も一致するセレクタ群から、要素全体を探索範囲とするセレクタを生成する。例えば、「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > bbb > ccc > eee:nth-child(1)」の2つのセレクタは、「ddd」「eee」の要素が異なっており、それ以外は共通している。ここで、要素の差異点を「*」に変換し、「aaa > bbb > ccc > *:nth-child(1)」というセレクタを生成することにより、上記の要素全体を探索範囲とすることができる。なお、パターン2は、表の値を探索範囲とする処理に際して、利用することが考えられる。
パターン3では、階層が部分一致しているが、子要素が異なるセレクタ群から、要素全体および子要素全体を探索範囲とするセレクタを生成する。例えば、「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > bbb > ccc > eee:nth-child(2)」の2つのセレクタは、「ddd:nth-child(1)」「eee:nth-child(2)」が異なっており、それ以外は共通している。ここで、要素の差異点を「*」に変換し、かつ子要素の差異点を「:childen」に変換し、「aaa > bbb > ccc > *:childen」というセレクタを生成することにより、上記の要素全体および子要素全体を探索範囲とすることができる。
パターン4では、階層が部分一致し、かつ出現順も一致するセレクタ群から、要素全体を探索範囲とするセレクタを生成する。例えば、「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > bbb > fff > ggg:nth-child(1)」の2つのセレクタは、「ccc > ddd」「fff > ggg」が異なっており、それ以外は共通している。ここで、要素の差異点を「*」に変換し、「aaa > bbb > * > *:nth-child(1)」というセレクタを生成することにより、上記の要素全体を探索範囲とすることができる。なお、パターン4は、複雑な表の値を探索範囲とする処理に際して、利用することが考えられる。
パターン5では、DOMツリー上のルートノードだけが一致するセレクタ群から、要素全体および子要素全体を探索範囲とするセレクタを生成する。例えば、「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > xxx > yyy > zzz:nth-child(3)」の2つのセレクタは、「aaa」以外は全て異なっている。ここで、要素の差異点を「*」に変換し、かつ子要素の差異点を「:childen」に変換し、「aaa > * > * > *:childen」というセレクタを生成することにより、上記の要素全体および子要素全体を探索範囲とすることができる。なお、パターン5のように、ある階層以降全てが曖昧な指定になる場合、「aaa:childen」のようなセレクタを生成してもよい。
[グルーピング処理]
図4を用いて、本実施形態に係るグルーピング処理を詳細に説明する。図4は、第1の実施形態に係るグルーピング処理の流れの一例を示す図である。まず、ユーザは、編集エディタ等の実際の画面をもとにマウスドラッグ等の操作により、探索範囲としたい領域を指定する(図4の(1)参照)。
次に、操作支援装置10は、グループ分けをする必要がない場合は、グルーピング処理を行わず、探索範囲セレクタ生成処理を行う(図4の(2)参照)。例えば、階層セレクタ群が「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > bbb > ccc > ddd:nth-child(2)」の2つのセレクタであった場合(図3のパターン1参照)、階層が一致しているのでグループ分けの必要がないため、操作支援装置10は、グルーピング処理を行わず、「aaa > bbb > ccc > ddd:childen」という探索範囲セレクタを生成する。
また、操作支援装置10は、グループ分けをしない設定がされている場合は、グルーピング処理を行わず、探索範囲セレクタ生成処理を行う(図4の(2)参照)。例えば、階層セレクタ群が「aaa > bbb > ccc > ddd:nth-child(1)」「aaa > xxx > yyy > zzz:nth-child(3)」の2つのセレクタであった場合(図3のパターン5参照)、ルートノード以外が全て異なっているので、グルーピング処理を行わないときは、操作支援装置10は、「aaa > * > * > *:childen」または「aaa:childen」という探索範囲セレクタを生成する。このとき、操作支援装置10は、ユーザの選択した範囲のUI要素を全て包含するセレクタを生成する。
一方、操作支援装置10は、グループ分けが可能であり、グループ分けを行う設定がされている場合は、グルーピング処理を行った上で、探索範囲セレクタ生成処理を行う(図4の(3)参照)。このとき、操作支援装置10は、UI要素のDOMツリー上の深さ、属性値、ユーザの設定した条件等により、グループ分けを行う。
例えば、操作支援装置10は、ユーザが選択した範囲のUI要素のDOMツリー上での深さが異なる場合、その深さごとにグループ分けを行う。図4では、ユーザの選択した範囲のUI要素またはUI要素群のルートノードからの深さ(階層数)が異なるものが3つ存在する。したがって、操作支援装置10は、ルートノードからの深さが1のUI要素を「グループ1」、深さが2のUI要素を「グループ2」、深さが3のUI要素群を「グループ3」としてグループ分けを行い、そのグループごとに探索範囲セレクタを生成する。
上述したグルーピング処理は、セレクタを生成する前の段階でグループ分けした後、それぞれのセレクタの比較を行うことで、階層セレクタの共通項が失われることを防ぐことを目的とした処理である。つまり、ユーザが監視対象のUI要素を指定したとき、ユーザは意識していないが、DOMツリー上では抽出されたUIが点在する可能性がある。このとき、グルーピング処理を行わないと、全てのUI要素を包含する探索範囲セレクタが生成されやすくなり、フィルタリングの効果が薄くなる。
ここで、グルーピング処理を行うことで、適切なグループごとに探索範囲セレクタを生成することができ、フィルタリングの精度を上げることができる。また、ユーザが設定した条件として、ユーザが監視対象としたいUIの見本の情報(深さ、属性値、見本となるUIの階層セレクタ等)を設定しておくことで、さらにフィルタリングの精度を上げることができる。
[操作支援処理の具体例]
図5~図7を用いて、本実施形態に係る操作支援処理の具体例を説明する。図5は、第1の実施形態に係る探索範囲セレクタ生成処理およびグルーピング処理の流れの一例を示す図である。図6および図7は、第1の実施形態に係る探索範囲の設定の一例を示す図である。
(具体例1)
第1に、図5を用いて、本実施形態に係る探索範囲セレクタ生成処理およびグルーピング処理の流れの一例を説明する。まず、操作支援装置10は、ユーザが選択した範囲に含まれるUI要素の階層セレクタを抽出する(図5の(1)参照)。次に、操作支援装置10は、DOMツリーのルートノードの深さからグループ分けを行う(図5の(2)参照)。図5では、操作支援装置10は、最下層のノードの深さの違いから、グループ1とグループ2にグループ分けすることができる。このとき、操作支援装置10は、属性値やユーザが設定した条件に基づいて、グループ分けしてもよい。
続いて、操作支援装置10は、各グループでセレクタを比較し、セレクタが一致しない階層があれば同一グループの全UI要素が含まれるように変換し、セレクタを生成する(図5の(3)参照)。図5では、グループ1には1セレクタしか含まれないため、以降の変換処理は行わない。一方、グループ2には複数のセレクタが含まれるので、変換処理を行う。具体的には、操作支援装置10は、グループ2に含まれる各セレクタの「TR:nth-child(1)」「TR:nth-child(2)」「TR:nth-child(3)」…「TR:nth-child(9)」の異なる子番号を全て包含するために、子要素全体を表わす「TR:children」に変換し、セレクタを生成する。
最後に、操作支援装置10は、全グループで比較処理が完了したら、各グループで生成したセレクタのORをとったものを監視対象UIの探索範囲セレクタとする(図5の(4)参照)。
(具体例2)
第2に、図6を用いて、本実施形態に係る探索範囲の設定の一例として、動的に追加されるUIの探索範囲について説明する。本実施形態に係る探索範囲セレクタ生成処理では、階層セレクタの共通しない箇所は、全UI要素が含まれるよう変換されるため、探索範囲を設定した当初で出現していないUIについても対応可能である。
具体的には、図6において、ユーザが当初指定した範囲は、「経由1」「経由2」のみである。しかし、ユーザがボタンを押すと動的にUIが追加されていく設定である場合(図6の(1)参照)、UI追加後の「経由3」についてもユーザが指定した範囲と同じUI構成であれば、同様に探索範囲として含まれる(図6の(2)参照)。
(具体例3)
第3に、図7を用いて、本実施形態に係る探索範囲の設定の一例として、同じUIの構成が画面内に複数存在するときの探索範囲について説明する。例えば、同一ページ内に複数の表がある画面であって、それぞれの表内のデータは異なるが、一部共通的なステータス、エラーコード等のデータがあり、それを監視対象の範囲にしたい場合についても対応可能である。
具体的には、図7において、ユーザが当初指定した範囲は、「データ1」「データ2」の表の一部分の範囲である(図7の(1)参照)。しかし、「データ3」についても、ユーザが指定した範囲と同じUI構成であれば、ユーザが直接指定しなくても、生成された探索範囲セレクタでは共通項以外は全UIを含む指定に変換されているので、同様に探索範囲として含まれる(図7の(2)参照)。
[操作支援処理の流れ]
図8を用いて、本実施形態に係る操作支援処理の流れを詳細に説明する。図8は、第1の実施形態に係る操作支援処理の流れの一例を示すフローチャートである。まず、操作支援装置10は、ユーザの操作に基づいて監視対象とする領域を指定する(ステップS101)。このとき、ユーザは、記憶部14に記憶されている拡張機能設定情報から読込まれる対象画面のキャプチャをもとに、監視対象とする領域を指定する。
次に、操作支援装置10は、ユーザによって指定された領域内に全体が収まるUI要素を全て抽出し、リスト化する(ステップS102)。また、抽出したUI要素の中で、親子関係のあるものはDOMツリーを再構成する(ステップS103)。そして、抽出した各UI要素もしくは再構成したDOMツリーの末端(子)のUI要素に対し、階層セレクタを生成する(ステップS104)。なお、ステップS102~S104の処理の順序は一例であり、操作支援装置10は、異なる順序で処理を行うこともできる。また、操作支援装置10は、ステップS102~S104の一部の処理を省略することもできる。
続いて、操作支援装置10は、DOMツリーにおけるルートノードからの深さ、UI要素のもつ属性値、事前にユーザが設定した条件のいずれか、もしくは全てに従い、抽出したUI要素をグループ分けする(ステップS105)。このとき、操作支援装置10は、ステップS103で再構成したDOMツリーの末端(子)のUI要素をグループ分けしてもよい。なお、操作支援装置10は、ステップS105の処理を省略することもできる。
そして、操作支援装置10は、同一グループの各UI要素に対応する階層セレクタを比較する(ステップS106)。このとき、同一階層にある階層セレクタの情報が全て一致する場合(ステップS107肯定)、操作支援装置10は、一致した情報を当該階層における探索範囲セレクタの情報として採用する(ステップS108)。
一方、操作支援装置10は、同一階層にある階層セレクタの情報が一致しない場合(ステップS107否定)、セレクタの変換を行う。まず、操作支援装置10は、UI要素のもつ属性値を比較し、同一階層におけるUI要素のもつ属性値が一致しない場合(ステップS113否定)、当該階層における探索範囲セレクタの情報として、特定のUI要素を指定しない表現である「*」等を採用する(ステップS114)。操作支援装置10は、同一階層におけるUI要素のもつ属性値が一致する場合(ステップS113肯定)、ステップS114の処理を省略する。
さらに、操作支援装置10は、同一階層におけるUI要素の子要素を比較し、親要素からみた子番号が一致しない場合(ステップS115否定)、当該階層における探索範囲セレクタ情報として、親要素からみた子番号を指定しない表現である「:children」等を採用する(ステップS116)。操作支援装置10は、同一階層における親要素からみた子番号が一致する場合(ステップS115肯定)、ステップS116の処理を省略する。
その後、操作支援装置10は、同一グループにおける全ての階層に対して比較を行った場合(ステップS109肯定)、階層ごとに採用した探索範囲セレクタの情報を結合し、当該グループにおける探索範囲セレクタを生成する(ステップS110)。一方、操作支援装置10は、同一グループにおける階層に対して比較を行っていないものがある場合(ステップS109否定)、ステップS107の処理に戻る。
最後に、操作支援装置10は、全てのグループに対し監視対象UIの探索範囲セレクタを生成した場合(ステップS111肯定)、グループごとに生成された探索範囲セレクタ全てのORをとったものを探索範囲として設定し(ステップS112)、処理が終了する。一方、操作支援装置10は、監視対象UIの探索範囲セレクタを生成していないグループがある場合(ステップS111否定)、ステップS106の処理に戻る。なお、操作支援装置10は、生成した探索範囲セレクタの情報をもとに、拡張UIを表示するか否かの判定を行う等の表示制御を行ってもよい。また、操作支援装置10は、生成した探索範囲セレクタの情報をもとに、拡張UIの表示方式や更新方式を変更する等の表示制御を行ってもよい。
[グルーピング処理の流れ]
図9を用いて、本実施形態に係るグルーピング処理の流れを詳細に説明する。図9は、第1の実施形態に係るグルーピング処理の流れの一例を示すフローチャートである。まず、操作支援装置10は、ユーザの領域指定をもとに抽出したUI要素(図8のステップS102参照)と、再構成したDOMツリーの末端のUI要素(図8のステップS103参照)をさらに抽出する(ステップS201)。
次に、操作支援装置10は、各UI要素に対し、DOMツリー上のルートノードからの深さの情報をラベリングする(ステップS202)。続いて、操作支援装置10は、当該UI要素が事前にユーザが指定した条件に当てはまる場合(ステップS203肯定)、事前にユーザが指定した条件に当てはまったという情報をラベリングする(ステップS204)。一方、操作支援装置10は、当該UI要素が事前にユーザが指定した条件に当てはまらない場合(ステップS203否定)、ステップS204の処理を省略する。
最後に、操作支援装置10は、ラベリングされた情報とUI要素の属性値が全て一致するUI要素を同一のグループとみなし、グループ分けを行い(ステップS205)、処理が終了する。
[第1の実施形態の効果]
第1に、上述した本実施形態に係る操作支援処理では、ユーザの操作に基づいた指定範囲の情報を取得し、取得した指定範囲の情報から、指定範囲に含まれるUI要素の情報を抽出し、抽出したUI要素の情報に基づいて、指定範囲を含んだ探索範囲を表わすセレクタを生成し、生成した探索範囲を表わすセレクタから、探索範囲を設定する。このため、拡張UIの表示処理の負荷を軽減するため、容易に適切な基点UIのみを監視対象とすることができる。
第2に、上述した本実施形態に係る操作支援処理では、UI要素の情報として、UI要素の階層情報を抽出し、抽出したUI要素の階層情報に基づいて、探索範囲を表わすセレクタを生成する。このため、拡張UIの表示処理の負荷を軽減するため、容易に適切な基点UIのみを、効果的に監視対象とすることができる。
第3に、上述した本実施形態に係る操作支援処理では、抽出したUI要素の階層情報に共通項が含まれる場合、共通項を含んだUI要素群の探索範囲を表わすセレクタを生成する。このため、拡張UIの表示処理の負荷を軽減するため、容易に適切な基点UIのみを、効率的に監視対象とすることができる。
第4に、上述した本実施形態に係る操作支援処理では、抽出したUI要素の情報に基づいて、UI要素をグループ分けし、グループ分けしたUI要素群ごとに探索範囲を表わすセレクタを生成する。このため、拡張UIの表示処理の負荷を軽減するため、階層情報が複雑であっても、容易に適切な基点UIのみを監視対象とすることができる。
第5に、上述した本実施形態に係る操作支援処理では、UI要素のDOMツリー上の深さ、属性値、およびユーザの設定した条件の少なくとも1つに基づいてグループ分けする。このため、拡張UIの表示処理の負荷を軽減するため、階層情報が複雑であっても、容易に適切な基点UIのみを、効果的に監視対象とすることができる。
第6に、上述した本実施形態に係る操作支援処理では、生成した探索範囲を表わすセレクタに基づいて、探索範囲に含まれるUI要素に対応する拡張UIの表示を、所定の方式で制御する。このため、このため、拡張UIの表示処理の負荷をさらに軽減するため、より容易に適切な基点UIのみを監視対象とすることができる。
〔システム構成等〕
上記実施形態に係る図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
〔プログラム〕
また、上記実施形態において説明した操作支援装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
図10は、プログラムを実行するコンピュータを示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図10に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1100に接続される。例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えば、マウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1130に接続される。
ここで、図10に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えば、ハードディスクドライブ1090に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えば、メモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、請求の範囲に記載された発明とその均等の範囲に含まれるものである。
10 操作支援装置
11 入力部
12 出力部
13 制御部
131 取得部
132 抽出部
133 グルーピング部
134 生成部
135 設定部
14 記憶部
141 拡張機能設定情報記憶部
142 探索範囲セレクタ記憶部

Claims (8)

  1. ユーザの操作に基づいた指定範囲の情報を取得する取得部と、
    前記取得部により取得された前記指定範囲の情報から、前記指定範囲に含まれるUI(User Interface)要素の情報を抽出する抽出部と、
    前記抽出部により抽出された前記UI要素の情報に基づいて、前記指定範囲を含んだ探索範囲を表わすセレクタを生成する生成部と、
    前記生成部により生成された前記セレクタから、前記探索範囲を設定する設定部と
    を備えることを特徴とする操作支援装置。
  2. 前記抽出部は、前記UI要素の情報として、前記UI要素の階層情報を抽出し、
    前記生成部は、前記階層情報に基づいて、前記セレクタを生成することを特徴とする請求項1に記載の操作支援装置。
  3. 前記生成部は、前記階層情報に共通項が含まれる場合、該共通項を含んだUI要素群の探索範囲を表わすセレクタを生成することを特徴とする請求項2に記載の操作支援装置。
  4. 前記抽出部により抽出された前記UI要素の情報に基づいて、前記UI要素をグループ分けするグルーピング部をさらに備え、
    前記生成部は、前記グルーピング部によりグループ分けされたUI要素群ごとに前記セレクタを生成することを特徴とする請求項1から3のいずれか1項に記載の操作支援装置。
  5. 前記グルーピング部は、前記UI要素のDOM(Document Object Model)ツリー上の深さ、属性値、およびユーザの設定した条件の少なくとも1つに基づいてグループ分けすることを特徴とする請求項4に記載の操作支援装置。
  6. 前記設定部は、前記生成部により生成された前記セレクタに基づいて、前記探索範囲に含まれるUI要素に対応する拡張UIの表示を、所定の方式で制御することを特徴とする請求項1から5のいずれか1項に記載の操作支援装置。
  7. 操作支援装置によって実行される操作支援方法であって、
    ユーザの操作に基づいた指定範囲の情報を取得する取得工程と、
    前記取得工程により取得された前記指定範囲の情報から、前記指定範囲に含まれるUI要素の情報を抽出する抽出工程と、
    前記抽出工程により抽出された前記UI要素の情報に基づいて、前記指定範囲を含んだ探索範囲を表わすセレクタを生成する生成工程と、
    前記生成工程により生成された前記セレクタから、前記探索範囲を設定する設定工程と
    を含むことを特徴とする操作支援方法。
  8. ユーザの操作に基づいた指定範囲の情報を取得する取得ステップと、
    前記取得ステップにより取得された前記指定範囲の情報から、前記指定範囲に含まれるUI要素の情報を抽出する抽出ステップと、
    前記抽出ステップにより抽出された前記UI要素の情報に基づいて、前記指定範囲を含んだ探索範囲を表わすセレクタを生成する生成ステップと、
    前記生成ステップにより生成された前記セレクタから、前記探索範囲を設定する設定ステップと
    をコンピュータに実行させることを特徴とする操作支援プログラム。
JP2022563293A 2020-11-17 2020-11-17 操作支援装置、操作支援方法および操作支援プログラム Active JP7439955B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/042875 WO2022107228A1 (ja) 2020-11-17 2020-11-17 操作支援装置、操作支援方法および操作支援プログラム

Publications (2)

Publication Number Publication Date
JPWO2022107228A1 JPWO2022107228A1 (ja) 2022-05-27
JP7439955B2 true JP7439955B2 (ja) 2024-02-28

Family

ID=81708533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022563293A Active JP7439955B2 (ja) 2020-11-17 2020-11-17 操作支援装置、操作支援方法および操作支援プログラム

Country Status (3)

Country Link
US (1) US20230418451A1 (ja)
JP (1) JP7439955B2 (ja)
WO (1) WO2022107228A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184100A1 (en) 2007-01-30 2008-07-31 Oracle International Corp Browser extension for web form fill

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223135B2 (en) * 2016-12-30 2019-03-05 Dropbox, Inc. User interface extender
JP6817253B2 (ja) * 2018-06-29 2021-01-20 日本電信電話株式会社 表示制御装置、表示制御方法、および表示制御プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184100A1 (en) 2007-01-30 2008-07-31 Oracle International Corp Browser extension for web form fill

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小矢 英毅 ほか,ユーザインターフェース拡張のエンドユーザによる設定方法の提案と評価,電子情報通信学会技術研究報告 Vol.119 No.52 ,日本,一般社団法人電子情報通信学会,2019年05月16日,pp. 59-64

Also Published As

Publication number Publication date
JPWO2022107228A1 (ja) 2022-05-27
WO2022107228A1 (ja) 2022-05-27
US20230418451A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
US11418409B2 (en) System-on-chip (SoC) assembly, configurable IP generation and IP integration utilizing distributed computer systems
US9972105B2 (en) Visualization of data clusters
US10318661B2 (en) Managing custom REVIT inheritance-based assembly families for manufacturing
US7814427B2 (en) Object model tree diagram
US8234610B2 (en) Design rule management method, design rule management program, rule management apparatus, and rule verification apparatus
CN111666526A (zh) 页面生成方法、装置、设备及存储介质
JP2006164258A (ja) 特定のプラットフォームによって使用するためのグラフィカル・ユーザ・インターフェース(gui)モデルを生成するための方法、システム、およびプログラム
JP2006501567A (ja) ユーザインタフェース要素をアプリケーションおよびユーザに知らせるためのシステムおよび方法
CN104679519A (zh) 图形用户界面软件功能获取方法及装置
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
WO2016065960A1 (en) Graphically building abstract syntax trees
CN113535165A (zh) 界面生成方法、装置、电子设备及计算机可读存储介质
KR20150092880A (ko) 그래픽 사용자 인터페이스 개발의 가변 설정 기반 후설계 방법 및 장치
CN116627418B (zh) 一种基于递归算法的多级表单界面可视化生成方法及装置
JP2019040287A (ja) データ分析処理支援装置、及びデータ分析処理支援方法
US9495336B2 (en) Method and apparatus for comparing process designs
JP7439955B2 (ja) 操作支援装置、操作支援方法および操作支援プログラム
US9501598B1 (en) System and method for assertion publication and re-use
JP6948492B2 (ja) 情報管理装置並びにファイル管理方法
KR20010106186A (ko) 인라인 트리 필터링을 갖는 그래픽 유저 인터페이스를구비하는 방법, 컴퓨터 시스템 및 컴퓨터 프로그램 제품
KR101107582B1 (ko) 웹기반의 온톨로지 편집 운영 시스템
US20210389933A1 (en) Creating an app method and system
US11061664B2 (en) Code management system and code management method
Li et al. Research on a pattern-based user interface development method
US20240111922A1 (en) System and method for managing simulation artifacts

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240129

R150 Certificate of patent or registration of utility model

Ref document number: 7439955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150