JP5663630B2 - コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム - Google Patents

コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム Download PDF

Info

Publication number
JP5663630B2
JP5663630B2 JP2013131952A JP2013131952A JP5663630B2 JP 5663630 B2 JP5663630 B2 JP 5663630B2 JP 2013131952 A JP2013131952 A JP 2013131952A JP 2013131952 A JP2013131952 A JP 2013131952A JP 5663630 B2 JP5663630 B2 JP 5663630B2
Authority
JP
Japan
Prior art keywords
automatic operation
automation
procedure
disturbance
information
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
JP2013131952A
Other languages
English (en)
Other versions
JP2015007825A (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
Priority to JP2013131952A priority Critical patent/JP5663630B2/ja
Publication of JP2015007825A publication Critical patent/JP2015007825A/ja
Application granted granted Critical
Publication of JP5663630B2 publication Critical patent/JP5663630B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、コンピュータを自動で操作する自動操作装置、自動操作方法、及び自動操作プログラムに関する。
自動化したい操作手順(自動化手順)に従って、マウス・キーボード操作を再現したり、GUI部品(テキストボックス、ボタン)に働きかけたりすることにより、コンピュータ上の作業を自動化する自動化ソフトが知られている(例えば、非特許文献1を参照。)。このような自動化ソフトは、自動操作中にユーザ操作等の外乱が無いことを前提としており、自動操作中に外乱が起こると誤操作が発生する可能性があった。
このため、外乱に対する対処としては、自動操作中に操作をしないようにユーザに意識させるなどの運用対処が行われていた。または、自動化ソフトにユーザの操作を無効化する機能を設けて外乱が発生しないようにしていた。
RocketMouse Pro製品ホームページ(http://mojosoft.biz/products/rocketmousepro/)
自動化ソフトによる操作の自動化中にユーザ操作あるいは他の要因の操作が入ると、当該操作が外乱となり、自動操作が失敗する可能性がある。例えば、GUI画面に対して自動化ソフトが指定された手順(自動化手順)通りにボタンをクリックしている最中に、ユーザがマウスを動かしてしまうと、予期しない操作が引き起こされ、正しく作業を完了できない可能性がある。自動化手順を外乱の影響まで考慮して作成すれば、対応することも可能であるが、自動化手順が非常に複雑になるため、外乱の影響まで考慮して自動化手順を作成することは通常行われない。
従来、自動操作の失敗という問題に対して、ユーザに予期しない操作が発生しないように意識させる運用対処が行われていたが、下記の課題があった。
(a)運用が徹底されていないユーザが間違ってマウスやキーボードを触ってしまった場合などは誤操作を防止できない。
(b)自動化を開始するにはまず自動化ソフト自体を操作する必要があるが、自動化開始後にマウスやキーボードから手を放す際に誤って操作をしてしまうことがある。
上記の対策として、ソフトウェア的にユーザ操作を禁止する方法もあったが、下記の課題があった。
(A)操作が全て無効化されるため、ユーザが操作を行っても安全な状況(待ち状態の時など)においても操作ができなくなる。
(B)自動化を中断したい場合などには、自動化中に自動化ソフトを操作する必要があるが、停止を指示する操作も行えない。ほとんどの自動化ソフトでは、停止用のショートカットキーが用意されているが(ショートカットキーの操作は特別に無効化しない)、このショートカットキーを忘れてしまった場合は停止できなくなる。
そこで、本発明は、上記課題を解決するために、コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化手順の複雑化を回避できるコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムを提供することを目的とする。
上記目的を達成するために、本発明に係るコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムは、端末内で行われる各種操作を検出し、自動化手順と比較を行って外乱を検出し対処することで、操作自動化とユーザ操作の共存を実現する。
具体的には、本発明に係るコンピュータの自動操作装置は、
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作部と、
前記自動化対象が操作されたことを検出して操作発生情報を生成する操作検出部と、
前記自動操作部からの前記自動操作情報と前記操作検出部からの前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに前記自動操作部に外乱発生の制御情報を通知する外乱検出部と、
を備える。
また、本発明に係る自動操作方法は、コンピュータで、
所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作手順と、
前記自動化対象が操作されたことを検出して操作発生情報を生成する操作検出手順と、
前記自動操作手順で生成した前記自動操作情報と前記操作検出手順で生成した前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに外乱発生の制御情報を発生する外乱検出手順と、
を行う。
自動化手順に基づく自動操作情報と実際のコンピュータ操作を記録した操作発生情報とを比較し、操作発生情報に存在する不一致部分を外乱と判断し、外乱発生を検出することとした。本発明は外乱発生を検知できるため、自動操作の一時停止等を行うことで、操作自動化とユーザ操作の共存を実現できる。
従って、本発明は、コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化手順の複雑化を回避できるコンピュータの自動操作装置及び自動操作方法を提供することができる。
本発明に係るコンピュータの自動操作装置の前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を所定時間停止し、前記所定時間に再度前記制御情報が未通知であれば前記自動化対象の操作を再開することを特徴とする。
また、本発明に係る自動操作方法は、前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を所定時間停止し、前記所定時間に前記外乱検出手順で再度前記制御情報が未発生であれば前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする。
所定時間後に自動操作の停止を解除し、再開することができる。
本発明に係るコンピュータの自動操作装置の前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開することを特徴とする。
また、本発明に係る自動操作方法は、前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする。
ユーザが判断して自動操作の停止を解除し、再開することができる。
本発明に係る自動操作方法を実現するためにコンピュータに自動操作プログラムを実行させ、CPUやメモリを自動操作部、操作検出部、及び外乱検出部として動作させることができる。
本発明は、コンピュータの自動操作中であることを意識することなくユーザがコンピュータを操作することができ、且つ自動化手順の複雑化を回避できるコンピュータの自動操作装置、自動操作方法、及び自動操作プログラムを提供することができる。
本発明に係るコンピュータの自動操作装置を説明する図である。 本発明に係るコンピュータの自動操作装置が備える外乱検出部を説明する図である。 本発明に係る自動操作方法の外乱検出手順を説明する図である。
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
(実施形態1)
本実施形態の自動操作装置は、図1のように自動操作部、操作検出部、及び外乱検出部からなる。自動操作装置は、自動化ソフト(自動化プログラム)をコンピュータで実行することで、コンピュータのCPUやメモリ等のリソースを利用して実現できる。自動操作装置は、自動化手順の記録・編集・実行等を実現するため、実際には他にも様々な機能から構成されるが、図1には本発明に関係する3機能のみ図示した。
本実施形態の自動操作装置は、
所定の自動化手順に従い自動化対象50の操作を再現するとともに、前記自動化手順で自動化対象50を操作したことについての自動操作情報L1を生成する自動操作部10と、
自動化対象50が操作されたことを検出して操作発生情報L2を生成する操作検出部20と、
自動操作部10からの自動操作情報L1と操作検出部20からの操作発生情報L2とを比較し、操作発生情報L2のうち自動操作情報L1と不一致である操作を外乱として検出し、前記外乱を検出したときに自動操作部10に外乱発生の制御情報L3を通知する外乱検出部30と、
を備える。
「自動操作部10」は、自動化手順に従って操作を再現する機能である。自動化手順にしたがって自動化対象50であるオペレーティングシステム(OS)や操作対象アプリケーションに働きかけを行い、必要な操作を再現する機能である。具体的には、カーソール位置の変更やマウスクリックを発生させるOS機能を呼び出したり、対象アプリケーションへメッセージを送信したりする。
「操作検出部20」は、コンピュータ端末上で発生する各種操作を検出する機能である。操作検出部20は、自動化対象50からの操作情報L0を検出する。操作検出部20で検出する操作は、ユーザによるものか自動化ソフト自身が発生させた操作かは問わない。操作検出部20は、コンピュータ端末のOS、GUIライブラリ、GUIミドルウェア等に働きかけて(例えば、フック機能を利用して)操作情報L0を収集する。
「外乱検出部30」は、自動操作部10から受け取った自動操作情報L1と、操作検出部20から受け取った操作発生情報L2を基に、外乱(自動化ソフト以外による操作)の発生を検出する。外乱が検出された場合は、その情報を制御情報L3として自動操作部10に通知する。
外乱検出部30の内部構成を図2に示す。自動操作部10から通知された自動操作情報L1は自動操作情報キュー31に蓄積される。外乱検出部30は図3の判定ロジック32に従って外乱の検出を行い、自動操作部10に外乱の情報(制御情報L3)を通知する。
判定ロジック32は、まず、操作発生情報L2が入力されるまで待機している(ステップS01)。判定ロジック32は、操作発生情報L2が入力された時点で自動操作情報キュー31の先頭の自動操作情報L1を取得する(ステップS02)。そして、判定ロジック32は、操作発生情報L2と自動操作情報キューの先頭の自動操作情報L1とを比較する(ステップS03)。ここで、自動操作情報L1と操作発生情報L2とが一致すれば、判定ロジック32は「外乱無し」と判断し、自動操作情報キュー31の先頭の自動操作情報L1を削除する(ステップS04)。一方、自動操作情報L1と操作発生情報L2とが不一致であれば、判定ロジック32は「外乱発生」と判断し、外乱が検出されたことを自動操作部10に通知する(ステップS05)。具体的には、判定ロジック32は自動操作部10に一定時間待機するように制御情報L3を出力する(ステップS06)。判定ロジック32は制御情報L3を出力した後、自動操作情報キュー31のすべての自動操作情報L1を削除し(ステップS07)、ステップS01に戻る。
自動操作ソフトがこのようなロジックを採用することで、
所定の自動化手順に従い自動化対象50の操作を再現するとともに、前記自動化手順で自動化対象50を操作したことについての自動操作情報L1を生成する自動操作手順と、
自動化対象50が操作されたことを検出して操作発生情報L2を生成する操作検出手順と、
前記自動操作手順で生成した自動操作情報L1と前記操作検出手順で生成した操作発生情報L2とを比較し、操作発生情報L2のうち自動操作情報L1と不一致である操作を外乱として検出し、外乱を検出したときに外乱発生の制御情報L3を発生する外乱検出手順と、
を行う自動操作方法を実行できる。
なお、図3は自動操作部10が行った自動操作情報L1が、操作検出部20により1対1かつ同順で検出される最も単純な場合の例である。コンピュータ端末の環境(OS、GUIライブラリ、GUIミドルウェア等の構成)によっては、自動操作部10が行った自動操作が1対1で検出されなかったり、順不同で検出されたりすることがある。そのような場合は、各環境に合わせて手順をカスタマイズする必要がある。
自動操作部10は、外乱検出部30から外乱の制御情報L3を通知された場合は、例えば次のような対処動作を行う。
自動操作部10は、外乱検出部30から制御情報L3を通知されたときに、自動化対象50の操作を所定時間停止し、所定時間に再度制御情報L3が未通知であれば自動化対象50の操作を再開する。すなわち、外乱が発生すると、自動操作を一旦停止し、一定時間の間に外乱が検出されなければ自動操作を再開する。
自動操作部10は、外乱検出部30から制御情報L3を通知されたときに、自動化対象50の操作を停止し、ユーザからの指示を待って自動化対象50の操作を再開する。すなわち、外乱が発生すると、操作を停止し、ポップアップダイアログ等でユーザに異常がないか確認を促す。ユーザから再開の指示があると、自動操作を再開する。また、自動操作の開始や再開直後にはユーザによる意図しない操作が生じやすい(マウスから手を放す時など)ため、開始/再開後に一定時間の外乱検出猶予時間を設けたり、開始/再開の指示があってから実際に開始/再開するまで一定時間待機してもよい。
上記の動作を行うことで、ユーザの操作中には自動化ソフトは自動操作を一時的に停止するため、ユーザは安全に操作を行うことができる。ユーザが操作を終えると、一定時間後又はユーザ指示により自動操作が再開される。
前述の動作により、ユーザは自動操作と競合せずに安全に操作を行うことができる。なお、ユーザが操作を開始した瞬間については、非常に小さな確率であるが、操作の停止が間に合わず競合が発生する可能性がある。この場合でも、前述の対処動作を行えば、自動操作が再開するまでに十分な余裕を設けられるため、誤操作が生じていないことを確認してから自動操作を再開させることができる。
さらに、外乱検出部30では、より高度な対応を行うことも可能である。自動操作情報L1と操作発生情報L2から、外乱だけでなく、自動操作が正しく行われたかどうかも判定可能である。外乱検出部30は、外乱の情報だけでなく、外乱によって自動操作が成功したか失敗したかも判定して自動操作部10に通知することで、自動操作が失敗した場合はその趣旨をユーザに通知することが可能となり、より安全に操作を再開させることができる。
[付記]
以下は、本発明の自動操作装置及び自動操作方法を説明したものである。
本発明は、コンピュータ端末上での操作自動化時に、ユーザの操作が介入することで誤った操作が発生してしまうことを防止する機能を持つ。当該機能は、自動化ソフトが、端末上で発生する操作を監視し、自身が発生させた操作との比較することで、外乱(自身が発生させた操作以外の操作)を検出する。そして、外乱発生時は自動操作を一時的に停止するなどの対処動作により、外乱による自動操作の失敗を防止する。
(発明によって生じる効果)
本発明により、自動化ソフトの自動操作中に、(意図の有る無しに関わらず)何らかの操作が行われた場合、その操作(外乱)を検出することができる。外乱を検出することにより、操作を一時的に止めるなどの対処が可能となり、操作の競合による誤操作の発生を防止することができる。この効果により、例えばマウスから手を放す際などに意図せず誤ってマウスを動かしてしまっても誤操作が発生しない。さらに、自動操作中に、ユーザが自動化対象に介入したり、自動化ソフトに自動操作の終了・一時停止を指示したり、あるいは自動操作とは無関係にメールをチェックしたりするなどのことも、自動操作を止めずに安全に行えるようになる。
10:自動操作部
20:操作検出部
30:外乱検出部
31:自動操作情報キュー
32:判定ロジック
40:自動化ソフト
50:自動化対象

Claims (7)

  1. 所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作部と、
    前記自動化手順による前記自動化対象操作を含むコンピュータ端末上で発生する操作を検出して操作発生情報を生成する操作検出部と、
    前記自動操作部からの前記自動操作情報と前記操作検出部からの前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに前記自動操作部に外乱発生の制御情報を通知する外乱検出部と、
    を備えるコンピュータの自動操作装置。
  2. 前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を所定時間停止し、前記所定時間に再度前記制御情報が未通知であれば前記自動化対象の操作を再開することを特徴とする請求項1に記載のコンピュータ自動操作装置。
  3. 前記自動操作部は、前記外乱検出部から前記制御情報を通知されたときに、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開することを特徴とする請求項1に記載のコンピュータ自動操作装置。
  4. コンピュータで、
    所定の自動化手順に従い自動化対象の操作を再現するとともに、前記自動化手順で前記自動化対象を操作したことについての自動操作情報を生成する自動操作手順と、
    前記自動化手順による前記自動化対象操作を含む前記コンピュータで発生する操作を検出して操作発生情報を生成する操作検出手順と、
    前記自動操作手順で生成した前記自動操作情報と前記操作検出手順で生成した前記操作発生情報とを比較し、前記操作発生情報のうち前記自動操作情報と不一致である操作を外乱として検出し、前記外乱を検出したときに外乱発生の制御情報を発生する外乱検出手順と、
    を行う自動操作方法。

  5. 前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を所定時間停止し、前記所定時間に前記外乱検出手順で再度前記制御情報が未発生であれば前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする請求項4に記載の自動操作方法。
  6. 前記外乱検出手順で発生した前記制御情報を受け、前記自動化対象の操作を停止し、ユーザからの指示を待って前記自動化対象の操作を再開する自動操作再開手順を行うことを特徴とする請求項4に記載の自動操作方法。
  7. 請求項4から6のいずれかに記載の自動操作方法をコンピュータに実現させる自動操作プログラム。
JP2013131952A 2013-06-24 2013-06-24 コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム Active JP5663630B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013131952A JP5663630B2 (ja) 2013-06-24 2013-06-24 コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013131952A JP5663630B2 (ja) 2013-06-24 2013-06-24 コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム

Publications (2)

Publication Number Publication Date
JP2015007825A JP2015007825A (ja) 2015-01-15
JP5663630B2 true JP5663630B2 (ja) 2015-02-04

Family

ID=52338080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013131952A Active JP5663630B2 (ja) 2013-06-24 2013-06-24 コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム

Country Status (1)

Country Link
JP (1) JP5663630B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6495845B2 (ja) * 2016-03-03 2019-04-03 日本電信電話株式会社 アプリケーション操作制御方法、および、アプリケーション操作制御装置
JP7306022B2 (ja) * 2019-03-29 2023-07-11 日本電気株式会社 データ記録装置、データ記録方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619030U (ja) * 1992-08-13 1994-03-11 日新電機株式会社 マウス
JPH10301654A (ja) * 1997-04-23 1998-11-13 Sharp Corp 操作自動化装置
JPH11296286A (ja) * 1998-04-03 1999-10-29 Iisutec:Kk パソコン操作再現装置
JP2000029861A (ja) * 1998-07-15 2000-01-28 Nippon Telegr & Teleph Corp <Ntt> 遠隔協調研修方法及び遠隔協調研修装置及びその遠隔協調研修方法を記録した記録媒体
JP2000187556A (ja) * 1998-12-23 2000-07-04 Eastech On Line:Kk マウス操作再現システム
JP4513795B2 (ja) * 2006-10-05 2010-07-28 Sky株式会社 ユーザ操作支援システム及び支援方法、並びにユーザ操作支援プログラム
JP2008262589A (ja) * 2008-06-20 2008-10-30 Fujitsu Ltd 定型操作自動処理プログラム,定型操作自動処理方法及び定型操作自動処理装置

Also Published As

Publication number Publication date
JP2015007825A (ja) 2015-01-15

Similar Documents

Publication Publication Date Title
KR102003663B1 (ko) 디버그 예외 생성 제어
KR102194055B1 (ko) 안드로이드 기반의 팝업 프롬프트 방법 및 디바이스
WO2017092326A1 (zh) 对触摸屏上的虚拟按键的控制方法、装置以及移动终端
US10521329B2 (en) Debugging system
US9864645B2 (en) Exception wrapping system
KR20200139706A (ko) 트랜잭션에서의 예외처리
JP5212357B2 (ja) マルチcpu異常検出復旧システム、方法及びプログラム
JP5663630B2 (ja) コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム
TWI748934B (zh) 資料處理設備中的系統錯誤處置
CN105868094A (zh) 一种用于mips架构cpu的热补丁的方法和设备
US7822492B2 (en) Methods and systems for operating an automated system using a process definition model
US20140115317A1 (en) Electronic device and method for switching work mode of the electronic device
JP2009146047A (ja) 情報処理装置及びログ監視プログラム
JP2008204013A (ja) スレッド動作異常検知方法、マルチスレッドシステム
EP3070610B1 (en) Information processing device, control method thereof, and recording medium
KR102325291B1 (ko) 테스크 추적을 하기 위한 방법, 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
JP5997005B2 (ja) 情報処理装置、プロセスの正常終了判定方法およびプログラム
CN112000584B (zh) 基于ide调试框架的用于cpu程序的调试方法及调试系统
JP2009064233A (ja) デバッグ装置、デバッグ方法、及びデバッグプログラム
JP2009110357A (ja) 電気機器、障害防止方法及び障害防止プログラム
JP4387863B2 (ja) 擾乱発生検出プログラムおよび擾乱発生検出方法
CN117742687A (zh) 系统定制方法、定制化系统及计算机可读取存储介质
JP5367556B2 (ja) デバッグ支援方法
JP6302775B2 (ja) 制御装置及びその制御方法
JP5290064B2 (ja) ソフトウェア切り替え装置及びソフトウェア切り替え方法並びにそのプログラム

Legal Events

Date Code Title Description
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: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141208

R150 Certificate of patent or registration of utility model

Ref document number: 5663630

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150