以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
[操作システムの全体構成]
まず、本発明の一実施形態に係る操作システム1の構成の一例について、図1を参照しながら説明する。操作システム1は、制御装置10、プロセス実行装置20及び生成装置30を有する。制御装置10、プロセス実行装置20及び生成装置30は、インターネット等のネットワーク40により接続されている。
ユーザは、制御装置10に直接、画面生成のための情報を入力してプロジェクト管理画面の生成を指示してもよい。ユーザは、制御装置10と通信可能なスマートフォン等の機器を使用して、画面生成のための情報を送信してプロジェクト管理画面の生成を指示してもよい。
制御装置10は、画面生成のための情報(入力情報)をプロセス実行装置20に送信し、ユーザの指示に応じた所定の処理を実行させるように指示する。本実施形態では、入力情報は、プロジェクト管理に関する情報であるが、これに限らない。
なお、制御装置10は、どのような電子機器であってもよく、一例としては、サーバ、パーソナルコンピュータ、スマートフォン、PDA(Personal Digital Assistants)、携帯電話が挙げられる。制御装置10は、HMD(Head Mount Display)、FMD(Face Mount Display)等のウェアラブル機器であってもよい。
プロセス実行装置20は、オートメーションツールのソフトウェアを使用して生成装置30を操作し、生成装置30に、制御装置10から受け付けた入力情報に応じたプロジェクト管理画面を生成させる。生成された画面は、Webブラウザを使用して制御装置10のディスプレイに表示される。これにより、ユーザはプロジェクトの進捗状況を把握することができる。
制御装置10は、Webブラウザを使ってユーザが指示する特定のイベントを検出すると、プロジェクト管理画面を生成するプロセスの生成指示を出力し、プロセス実行装置20に送信する。
プロセス実行装置20は、制御装置10からプロセスの生成指示を受け付けると、プロジェクト管理画面を生成する生成装置30を操作する第1及び第2のプロセスを生成し、所定のタイミングに各プロセスを実行する。本実施形態では、第1のプロセスを実行するソフトウェアの機能を、第1のプロセス実行部21の機能ブロックで示し、第2のプロセスを実行するソフトウェアの機能を、第2のプロセス実行部22の機能ブロックで示す。
プロセス実行装置20が、オートメーションツールを使用して生成装置30にインストールされたWebアプリケーションを動作させると、入力情報に応じたプロジェクト管理画面が生成される。
本実施形態では、第1のプロセス実行部21の操作により入力情報に応じたプロジェクト管理画面を生成する機能を、第1の生成部31の機能ブロックで示す。また、第2のプロセス実行部22の操作により入力情報に応じたプロジェクト管理画面を生成する機能を、第2の生成部32の機能ブロックで示す。
プロセス実行装置20は、制御装置10からプロジェクト管理画面を生成するための情報を受け付ける度に、受け付けた情報を生成装置30に送信し、ユーザの要求するプロジェクト管理画面を生成装置30に生成させる。
プロセス実行装置20と生成装置30との通信は、プロセス実行装置20が生成装置30に送信する質問に対して、生成装置30がプロセス実行装置20に回答する一方向通信である。
プロセス実行装置20及び生成装置30は、例えば、Webサーバにより実現可能である。本実施形態では、プロセス実行装置20及び生成装置30は別々のWebサーバにより実現される。しかし、これに限らず、プロセス実行装置20及び生成装置30は同一のWebサーバにより実現されてもよい。なお、生成装置30には、プロジェクト管理画面を生成するため生成情報DB33が記憶される。ただし、生成情報DB33は、必ずしも生成装置30の内部に記憶されている必要はなく、ネットワーク40を介してクラウド上の記憶装置に記憶されてもよい。
[制御装置の機能構成]
次に、本実施形態に係る制御装置10の機能構成の一例について説明する。本実施形態に係る制御装置10は、検出部11、記憶部12、受付部13、制御部14、出力部15、表示部16、送信部17及び受信部18を有する。
検出部11は、Webブラウザを使ってユーザが指示する特定のイベントを検出する。記憶部12は、画面操作情報DB121、質問テーブル122及び制御プログラム123を記憶する。画面操作情報DB121は、プロジェクト管理画面を生成するための操作情報を記憶する。図2に一実施形態に係る画面操作情報DBの一例を示す。本実施形態に係る画面操作情報DBには、質問回数を示すIDと、質問に対してユーザが入力した情報(ユーザ入力情報)と、ユーザ入力情報に対して生成された画面のWebページタイトル情報とが記憶される。
質問テーブル122は、制御装置10から生成装置30に問い合わせする質問の内容が記憶されたテーブルである。図3に、質問テーブル122の一例を示す。質問テーブル122は、XML(Extensible Markup Language)形式のファイルであってもよい。
受付部13は、プロジェクト管理画面を生成するための入力情報を受け付ける。送信部17は、受付部13がプロジェクト管理画面を生成するための入力情報を受け付けるたびに、受け付けた入力情報を、プロセス実行装置20に送信する。
具体的には、送信部17は、受け付けた入力情報を第1のプロセス実行部21に送信する。また、送信部17は、受け付けた入力情報の受け付けよりもN(N≧1)番前に受け付け、かつ、第1のプロセス実行部21に送信した他の情報を、第2のプロセス実行部22に送信する。制御部14は、制御装置10の全体を制御する。
第1のプロセス実行部21は、第1の生成部31と通信し、質疑応答を行うことで、受け付けた情報に応じて生成装置30にチケットを発行させることにより、チケットを自動生成できる。生成されたチケットが表示されたプロジェクト管理画面は、Webブラウザを使用して表示部16に表示される。このように、生成装置30が提供するプロジェクト管理ツールのアプリケーションは、仕事をチケットという小さな粒度に分割して、そのチケットの進捗状態を随時更新することでプロジェクトの進捗を管理する。
第2のプロセス実行部22は、第2の生成部32と通信し、質疑応答を行うことで、受け付けた情報のうち、第1のプロセス実行部21に送信した他の情報に応じて生成装置30にチケットを発行させることにより、チケットを自動生成できる。第1のプロセス実行部21が実行する処理により生成した画面の表示部16への表示に応じて、特定のイベントが検出されると、第2のプロセス実行部22が実行する処理により生成した画面の表示部16への表示指示が出力され、該画面がWebブラウザを使用して表示部16に表示される。上記の特定のイベント(第2のイベント)の一例としては、ユーザが画面のエラーを認識したときに行う(前画面への)「戻りボタン」の押下、及び自動で画面のエラーを検出したことが挙げられる。
なお、生成装置30が実行するアプリケーションは、プロジェクト管理ツールのアプリケーションに限らず、例えば、交通渋滞管理ツールやその他のソフトウェアで構成されるいずれのアプリケーションであってもよい。
また、第1のプロセス実行部21及び第2のプロセス実行部22は、生成装置30を操作してプロジェクト管理画面を生成させる処理を実行することに限らず、自らがプロジェクト管理画面を生成する処理やその他の処理の処理を実行するソフトウェアであってもよい。この場合、第1のプロセス実行部21及び第2のプロセス実行部22がプロジェクト管理ツール等の所定のツールのアプリケーションを実行するため、生成装置30は不要になる。ただし、生成装置30で複数のチケットを作る際には、関係者情報や注意書き情報など、同じ情報を何度も入力することになるので、本実施形態にて説明するように、画面入力を自動化できるプロセス実行装置20を使って入力作業を効率化することが好ましい。
受信部18は、問い合わせに対する回答等の所定の情報を受信する。出力部15は、検出部11が特定のイベントを検出すると、第1のプロセス及び第2のプロセスの生成指示を出力する。第1のプロセス及び第2のプロセスの生成指示は、プロセス実行装置20に送信され。これにより、第1のプロセス実行部21及び第2のプロセス実行部22が生成される。
生成したプロジェクト管理画面の情報は、生成情報DB33に記憶される。生成情報DB33の一例を図4に示す。生成情報DB33には、タスクボード番号、Webページタイトル情報、ストーリー番号、チケット及びステータスが記憶されている。
図5は、生成されたプロジェクト管理画面の一例である。ユーザは、Webブラウザを使用して図5及び図6に一例を示すプロジェクト管理画面を見ることができ、これにより、プロジェクト毎の進捗管理を把握することができる。図5に示すように、画面の上部左側のURL表示200の末尾の文字列「217」が、生成情報DB33のタスクボード番号に記憶される。また、画面の上部中央に表示されたページタイトル201の「Aツール作成」が、生成情報DB33のWebページタイトル情報に記憶される。Webページタイトル情報は、画面の識別情報の一例である。
画面上のタスクボード161には、チケット162〜167と呼ばれるタスクの一覧がスケジュールと共に表示される。これにより、ユーザは、プロジェクト全体を俯瞰で確認でき、また進捗状態を把握できる。チケット162〜167は、タスクを作るストーリー及びストーリー内で定義される各処理を示す。図5の例では、チケット162は、ストーリー「特許」に関するタスクを示し、「特許」プロジェクト内のチケット163〜166は処理済であり、チケット167は拒否されていることを示す。
[制御装置のハードウェア構成]
次に、本実施形態に係る制御装置10のハードウェア構成について、図7を参照して説明する。本実施形態に係る制御装置10は、入力装置101、出力装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
入力装置101は、キーボードやマウスなどを含み、制御装置10に各操作信号を入力するために用いられる。出力装置102は、LCD(Liquid crystal Display)モニタ等のディスプレイ、プリンタ、CRT(Cathode Ray Tube)などを含み、各種の処理結果を出力する。通信I/F107は、制御装置10をネットワークに接続するインターフェースである。これにより、制御装置10は、通信I/F107を介して、プロセス実行装置20及びその他の機器とデータ通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、制御装置10の全体を制御する基本ソフトウェア及びアプリケーションのソフトウェアがある。例えば、HDD108には、各種のデータベースやプログラム等が格納されてもよい。
外部I/F103は、外部装置とのインターフェースである。外部装置には、記録媒体103aなどがある。これにより、制御装置10は、外部I/F103を介して記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)等がある。
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ROM105には、制御プログラム123、基本プログラム及びデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリである。CPU106は、HDD108やROM105などの記憶装置から、プログラムやデータをRAM104上に読み出し、処理を実行することで、制御装置10全体の制御や搭載機能を実現する演算装置である。
かかる構成により、本実施形態に係る制御装置10では、検出部11、制御部14、出力部15の各機能は、例えば、RAM104、ROM105、HDD108等に記憶されたプログラムが、CPU106に実行させる処理により実現可能である。
また、記憶部12の機能は、例えば、RAM104、ROM105、HDD108又はネットワーク40を介して制御装置10に接続されるクラウド上のサーバ等により実行可能である。
また、受付部13の機能は、例えば入力装置101により実現可能である。表示部16の機能は、例えば出力装置102により実現可能である。送信部17及び受信部18の機能は、例えば通信I/F107により実現可能である。
[記録モードにおける制御処理]
次に、本実施形態に操作システム1において実行される記録モードにおける制御処理の一例について図8を参照して説明する。図8は、一実施形態に係る記録モードにおける制御処理の一例を示したフローチャートである。
なお、以下では、第1のプロセス実行部21及び第2のプロセス実行部22を総称してプロセス実行部ともいう。プロセス実行部が実行する処理は、第1のプロセス実行部21又は第2のプロセス実行部22により行われる。
また、第1の生成部31及び第2の生成部32を総称して生成部ともいう。生成部が実行する処理は、第1の生成部31又は第2の生成部32により行われる。
本処理が開始されると、ユーザは制御装置10を起動する(ステップS1)。次に、制御部14は、モードの選択画面を表示部16に表示し、ユーザにモードの選択を促す(ステップS2)。ユーザが、「記録モード」を選択すると、検出部11は、記録モードを検出する。
「記録モード」が検出されると、出力部15は、ソフトウェアに関する第1のプロセス及び第2のプロセスの生成指示を出力する。これに従い、送信部17は、プロセス実行装置20を起動し(ステップS3)、第1のプロセス及び第2のプロセスの生成を指示する。これに応じて、プロセス実行装置20は、ソフトウェアに関する第1のプロセス及び第2のプロセスを生成する。プロセス実行部は、生成部を操作して、プロジェクト管理ツールが提供するスケジュール作成ページを開く(ステップS4)。
次に、プロセス実行部は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS5)。受付部13が問い合わせを受け付けると、送信部17は、どのタスクボードにタスクを作るかをユーザに問い合わせる(ステップS6)。ユーザが「1234」を入力すると、送信部17は、プロセス実行部にユーザの入力情報「1234」を送信し、これに応じて、プロセス実行部は、生成部にタスクボード番号「1234」を送信する(ステップS7)。生成部は、タスクボード番号「1234」のタスクボードに対応する画面を生成し、画面遷移を行う。
次に、送信部17は、生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS8)。生成部が、「スケジュール作成」を返信すると、出力部15は、画面操作情報DB121のIDの項目に、1回目の質問を示す「1」を記憶し、Webページタイトル情報の項目に「スケジュール作成」を対応付けて記憶する(ステップS9)。
図9は、一実施形態に係る記録モードにおける画面操作情報DBの一例を示す。図9(a)には、質問回数が0回目のときの画面操作情報DB121のデータ0が示されている。質問回数が0回目のときの画面操作情報DB121には、何もデータが記憶されていない状態である。
ステップS9が実行されると、画面操作情報DB121には、図9(b)のデータ1に示すように、質問回数が1回目であることを表すIDの「1」と、Webページタイトル情報の「スケジュール作成」とが対応付けて保存される。
図8に戻り、プロセス実行部は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS10)。受付部13が問い合わせを受け付けると、送信部17は、タスクを作るストーリー番号をユーザに問い合わせる(ステップS11)。ユーザが「111」を入力すると、送信部17は、プロセス実行部にストーリー番号「111」を送信し、プロセス実行部は、ストーリー番号「111」を生成部に送信する(ステップS12)。生成部は、ストーリー番号「111」のチケットを作成する画面を生成する。
次に、送信部17は、生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS13)。生成部が、「Aツール開発」を制御装置10に返信すると、出力部15は、画面操作情報DB121のIDの項目に「2」を記憶し、画面遷移後のWebページタイトル情報の項目に「Aツール開発」を対応付けて記憶する(ステップS14)。これにより、画面操作情報DB121には、図9(c)のデータ2に示すように、IDの「2」とWebページタイトル情報の「Aツール開発」とが対応付けて保存される。
図8に戻り、プロセス実行部は、チケットの種類を制御装置10に問い合わせる(ステップS15)。問い合わせを受け付けると、送信部17は、チケットの種類をユーザに問い合わせる(ステップS16)。ユーザが「テスト項目作成」を入力すると、送信部17は、プロセス実行部に「テスト項目作成」を送信し、プロセス実行部は、チケットの種類の「テスト項目作成」を生成部に送信する(ステップS17)。生成部は、「テスト項目作成」のチケットを作成し、テスト項目作成のチケットが表示されている画面を生成する。
次に、送信部17は、生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS18)。生成部が、「Aツール開発」を制御装置10に返信すると、出力部15は、画面操作情報DB121のIDの項目に「3」を記憶し、Webページタイトル情報の項目に「Aツール開発」を対応付けて記憶する(ステップS19)。これにより、画面操作情報DB121には、図9(d)のデータ3に示すように、IDの「3」とWebページタイトル情報の「Aツール開発」とが対応付けて保存される。
以上に説明したように、本実施形態に係る記録モードにおける制御処理によれば、生成部にて画面の生成が行われる度に、図9のデータ1〜3に一例を示す画面操作情報が画面操作情報DB121に蓄積されていく。
[従来の監視モードにおける制御処理]
次に、従来の監視モードにおける制御処理の一例について図10及び図11を参照して説明した後、本実施形態に係る監視モードにおける制御処理の一例について図12〜図15を参照して説明する。図10及び図11は、従来の監視モードにおける制御処理の一例を示したフローチャートである。
従来の監視モードでは、図10に示す処理が開始されると、ユーザは制御装置10を起動する(ステップS20)。次に、制御部14は、モード選択画面を表示部16に表示し、ユーザにモードを選択させる(ステップS21)。ユーザが、「監視モード」を選択すると、検出部11は、監視モードを検出する。「監視モード」の検出は、第1のイベントの検出の一例である。
「監視モード」が検出されると、送信部17は、プロセス実行装置20を起動し(ステップS22)、プロセスの生成を指示する。これに応じて、プロセス実行装置20のプロセス実行部は、生成装置30の生成部を操作して、プロジェクト管理ツールのログインページを開き(ステップS23)、ログインする。
ログイン後、プロセス実行部は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS24)。問い合わせを受け付けると、送信部17は、どのタスクボードにタスクを作るかをユーザに問い合わせる(ステップS25)。ユーザが「1234」を入力すると、送信部17は、プロセス実行部にユーザの入力情報「1234」を送信する。これに応じて、プロセス実行部は、生成部にタスクボード番号「1234」を送信する(ステップS26)。生成部は、タスクボード番号「1234」のタスクボードに対応する画面を生成する。
次に、送信部17は、生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS27)。生成部が、「スケジュール作成」を返信すると、制御部14は、生成部から返信されたWebページタイトルと、画面操作情報DB121に記憶されている1回目の質問に対応するWebページタイトルとを比較する(ステップS28)。比較の結果、1回目の質問に対応するWebページタイトルと、受信したWebページタイトルとが一致している場合、出力部15は、プロセス実行部の質問に対応するユーザの入力情報「1234」を画面操作情報DB121に保存する(ステップS29)。比較の結果、画面操作情報DB121に記憶されている該当質問回数に対応するWebページタイトルと、受信したWebページタイトルとが一致していない場合、復元モードを実行する。
この時点では、図15(e)のデータ4に示すように、画面操作情報DB121に記憶されているID(質問回数)が「1」、つまり、1回目の質問に対応するWebページタイトル「スケジュール作成」と、受信したWebページタイトルとは一致している。よって、図15(f)のデータ5に示すように、出力部15は、画面操作情報DB121の1回目の質問に対応するユーザ入力情報の項目に、ユーザによって入力されたタスクボード番号「1234」を保存する。
図10に戻り、プロセス実行部は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS30)。問い合わせを受け付けると、送信部17は、タスクを作るストーリー番号をユーザに問い合わせる(ステップS31)。ユーザが誤って、ユーザが生成情報DB33に存在しないストーリー番号「1111」を入力すると、送信部17は、プロセス実行部にストーリー番号「1111」を送信する。プロセス実行部は、存在しないストーリー番号「1111」を生成部に送信する(ステップS32)。生成部は、存在しないストーリー番号「1111」のチケットを作成することができないため、画面は生成できずに画面遷移は行われない。
次に、送信部17は、生成部が生成した画面への遷移後のWebページタイトルを問い合わせる(ステップS33)。これに応じて、生成部は、画面生成にエラーが生じ、正しい画面遷移がされなかったことを示す「404 error」を制御装置10に返信する。制御部14は、受信したWebページタイトルと、画面操作情報DB121に記憶されている2回目の質問に対応するWebページタイトルとを比較する(ステップS34)。比較の結果、画面操作情報DB121に記憶されている該当質問回数に対応するWebページタイトルと、受信したWebページタイトルとが一致していない場合、復元モードを実行する。この時点では、図15(f)に示すように、画面操作情報DB121に記憶されている2回目の質問に対応するAツール開発と、受信したWebページタイトル「404 error」とは一致していない。
よって、制御部14は、Webページタイトルが異なるため、送信部17は、正しい画面遷移ではないと判断し、プロセス実行部の停止を指示する(ステップS35)。また、送信部17は、生成装置30にWebブラウザを閉じるように指示する(ステップS36)。なお、制御装置10による正しい画面遷移が行われなかったとの上記判定に応じて行われた、プロセス実行部の停止を指示は、第2のイベントの検出の一例である。
第2のイベントが検出されると、復元モードの処理が実行される。復元モードの処理では、送信部17は、プロセス実行装置20を再起動させ(ステップS37)、プロセス実行装置20のプロセス実行部は、生成装置30の生成部を操作して、ログインページを開き(ステップS38)、ログインする。
ログイン後、プロセス実行部は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS39)。問い合わせを受け付けると、送信部17は、画面操作情報DB121に保存されているユーザ入力情報から、問い合わせに対するユーザ入力情報を1つずつプロセス実行装置20に送信する。
ここでは、1回目の質問であるため、IDの項目が「1」に対応付けて記憶された「1234」が選択され、送信部17は、ユーザ入力情報「1234」をプロセス実行部に送信する。プロセス実行部は、ユーザ入力情報「1234」を生成部に送信する(ステップS40)。画面操作情報DB121に保存されているユーザ入力情報を、質問の順に送信し、問い合わせに対する最後のユーザ入力情報を送信した後に監視モードに戻る。図15(f)のデータ5の場合、ユーザ入力情報「1234」が最後のユーザ入力情報である。
次に、図10の制御処理に続く図11では、プロセス実行部は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS41)。問い合わせを受け付けると、送信部17は、タスクを作るストーリー番号をユーザに問い合わせる(ステップS42)。ここで、図10のステップS37の再起動後、ストーリー番号「111」を正しく入力すると、送信部17は、プロセス実行部にストーリー番号「111」を送信する。プロセス実行部は、ストーリー番号「111」を生成部に送信する(ステップS43)。生成部は、ストーリー番号「111」のチケットを作成し、作成されたチケットを表示する画面を生成し、生成した画面への遷移が行われる。
次に、送信部17は、画面遷移後のWebページタイトルを問い合わせる(ステップS44)。生成部が、「Aツール開発」を返信すると、制御部14は、受信した画面情報のWebページタイトル「Aツール開発」と、画面操作情報DB121に記憶されている2回目の質問に対応するWebページタイトルとを比較する(ステップS45)。
この時点では、図15(f)示すように、画面操作情報DB121に記憶されている2回目の質問に対応する「Aツール開発」と、受信したWebページタイトルとは一致している。よって、図15(g)に示すように、出力部15は、画面操作情報DB121のユーザ入力情報の項目に、ユーザによって入力されたストーリー番号「111」を保存する(ステップS46)。
図11に戻り、プロセス実行部は、チケットの種類を制御装置10に問い合わせる(ステップS47)。問い合わせを受け付けると、送信部17は、チケットの種類をユーザに問い合わせる(ステップS48)。ユーザが「テスト項目作成」を入力すると、送信部17は、プロセス実行部にチケットの種類「テスト項目作成」を送信し、プロセス実行部は、チケットの種類「テスト項目作成」を生成部に送信する(ステップS49)。生成部は、「テスト項目作成」のチケットを作成し、テスト項目作成のチケットを表示する画面を生成する。
次に、送信部17は、生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS50)。生成部が、「Aツール開発」を制御装置10に返信すると、制御部14は、受信した画面情報のWebページタイトル「Aツール開発」と、画面操作情報DB121に記憶されている2回目の質問に対応するWebページタイトルとを比較する(ステップS51)。
画面操作情報DB121に記憶されている2回目の質問に対応するAツール開発と、受信したWebページタイトルとが一致している場合、出力部15は、対応するユーザ入力情報の項目に、Webページタイトル「テスト項目作成」を保存する(ステップS52)。
以上のように、従来の監視モード及び復元モードでは、以下の動作(1)〜(5)が行われる。
(1)プロセス実行装置20の質問を制御装置10からユーザへ問い合わせる。
(2)ユーザの回答を受け付けた制御装置10からプロセス実行装置20へ回答を送信する。
(3)プロセス実行装置20から生成装置30へ回答を送信する。
(4)回答の内容に応じて生成装置30が生成した画面情報(ここではWebページタイトル)を生成装置30から制御装置10に送信する。
(5)画面情報と画面操作情報DB121に記憶されたWebページタイトル情報とが一致する場合、ユーザ入力情報を蓄積する。
(6)誤った入力情報により画面が生成できない場合には、復元モードに移行し、プロセス実行装置20を再起動する。そして、画面操作情報DB121に記憶されたユーザ入力情報の初めから一つずつ再実行し、エラーが生じる直前の処理まで再実行してから監視モードに遷移する。
以上によれば、従来の監視モードの制御処理では、誤った入力情報が入力された場合、入力画面を現在の画面から前の画面に戻す機能を有しないため、制御装置は、入力画面を前の画面に戻して正しい情報を入力することができず、生成装置30が生成した画面との間の画面の不整合を整合させることができない。このため、ユーザは、プロセス実行装置20を再起動し、処理を初めからやり直す必要がある。
また、生成装置30は、上記のように送信された入力情報の誤りを認識できる場合だけでなく、入力情報の誤りを認識できないときがある。このとき、生成装置30は、誤った入力情報に応じてユーザが要求しない画面が生成される。
例えば、ユーザは224番のタスクボードにチケットを作りたい場合に、「217」と入力した場合、生成装置30は、入力されたタスクボード番号のストーリーが生成情報DB33に存在しないときには、正しい画面遷移をしなかったと判断できる。これにより、ユーザの入力ミスを自動検出できる。
一方、入力されたタスクボード番号のストーリーが生成情報DB33に存在する場合、画面遷移としては正しいので、生成装置30は、ユーザが入力ミスしていることを検出できない。つまり、ユーザが誤って「217」と打ち込んだとしても、生成装置30は、217番のタスクボードにチケットを作成することを要求していると判断し、217のタスクボードの画面を生成し、画面遷移を行うことになる。
生成された画面を見たユーザが、この時点で自分の意図しないタスクボードが表示されているために、ユーザが自分の打ち間違いに気付いても、従来の技術で実現した操作システムでは、既に画面を遷移させているので、入力ミスする前の状態に戻すことはできない。
図5に誤った入力を行った場合の画面の一例を示し、図6に正しい入力を行った場合の画面の一例を示す。図5では、画面の上部左側のURL表示200の末尾の文字列が「217」であり、図6では「224」である。画面タイトルは同じであり、いずれのURLも存在するため、操作システム1が自動的に入力ミスを検出することはできない。しかし、画面に表示されるチケットの内容は明らかに異なるため、画面遷移後に、ユーザは自分の開きたかった画面の想定と違うことから、自分が入力ミスしたことに、すぐに気づくことができる。しかし、従来の技術では、既に画面を遷移させているので、入力ミスをする前の状態を再現するには、プロセス実行装置20を再起動して最初からやり直すことになるため、煩雑である。
そこで、以下に説明する本実施形態に係る監視モードにおける制御処理では、プロセス実行部と生成部の連携システムを二重化し、時間差で質疑応答を入力することで、ユーザが入力を間違った場合にすぐ気が付いて画面の状態を正しく修正することが可能となる。これにより、受け付けた特定の操作イベントに応じた画面遷移が行われない事態の発生を抑制することができる。
図12は、一実施形態に係る監視モードにおける制御の一例を示すフローチャートである。図13は、一実施形態に係る監視モードにおける制御処理(続き)の一例を示すフローチャートである。図14は、一実施形態に係る監視モードにおける制御処理(続き)の一例を示すフローチャートである。図15は、一実施形態に係る監視モードにおける画面操作情報DB121の一例を示す。
図12において本処理が開始されると、ユーザは制御装置10を起動する(ステップS70)。次に、制御部14は、ユーザにモードを選択させる(ステップS71)。ユーザが、「監視モード」を選択すると、検出部11は、「監視モード」を検出する。「監視モード」の検出は、第1のイベントの検出の一例である。第1のイベントの検出に対応して、出力部15は、第1のプロセス及び第2のプロセスの生成指示を出力し、送信部17は、プロセス実行装置20(第1のプロセス実行部21及び第2のプロセス実行部22)を起動する(ステップS72)。
第1のプロセス実行部21は、生成装置30の第1の生成部31を操作してログインページを開き(ステップS73)、ログインする。第2のプロセス実行部22は、生成装置30の第2の生成部32を操作してログインページを開き(ステップS75)、ログインする。
ログイン後、第1のプロセス実行部21は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS76)。また、第2のプロセス実行部22は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS77)。
受付部13が問い合わせを受け付けると、送信部17は、どのタスクボードにタスクを作るかをユーザに問い合わせる(ステップS78)。ユーザが「1234」を入力すると、送信部17は、第1のプロセス実行部21にユーザの入力情報「1234」を送信し、これに応じて、第1のプロセス実行部21は、第1の生成部31にタスクボード番号「1234」を送信する(ステップS79)。第1の生成部31は、タスクボード番号「1234」のタスクボードに対応する画面を生成する。
次に、制御部14は、画面操作情報DB121に記憶されている情報を確認する。例えば、図15(e)のデータ4では、ユーザ入力情報は一つも保存されていない。よって、この時点では、制御部14は、画面操作情報DB121に保存されている、返答されたユーザ入力情報数は「0」であると確認する(ステップS80)。この場合、ユーザ入力情報は一つも保存されていないため、第2のプロセス実行部22は実行しない。
次に、送信部17は、第1の生成部31が生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS81)。第1の生成部31が、「スケジュール作成」を返信すると、制御部14は、第1の生成部31から受信したWebページタイトル「スケジュール作成」と、画面操作情報DB121に記憶されている対応するWebページタイトルとを比較する(ステップS82)。比較の結果、画面操作情報DB121に記憶されている1回目の質問に対応するWebページタイトルと、受信したWebページタイトルとが一致している場合、出力部15は、ユーザの入力情報「1234」を画面操作情報DB121に保存する(ステップS83)。図15(f)のデータ5では、受信したWebページタイトル「スケジュール作成」と一致するため、監視モードでの1回目の質問に対するユーザの入力情報「1234」が保存される。
図12に戻り、第1のプロセス実行部21は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS84)。問い合わせを受け付けると、送信部17は、タスクを作るストーリー番号をユーザに問い合わせる(ステップS85)。ユーザがストーリー番号「111」を入力すると、送信部17は、第1のプロセス実行部21にストーリー番号「111」を送信する。第1のプロセス実行部21は、ストーリー番号「111」を第1の生成部31に送信する(ステップS86)。
次に、制御部14は、画面操作情報DB121に記憶されている情報を確認する。例えば、図15(f)のデータ5では、ユーザ入力情報が一つ保存されている。よって、この時点では、制御部14は、画面操作情報DB121に保存されている、返答されたユーザ入力情報数は「1」であると確認する(ステップS87)。この場合、ユーザ入力情報が一つ保存されているため、送信部17は、第2のプロセス実行部22にユーザ入力情報「1234」を送信し、第2のプロセス実行部22は、第2の生成部32にタスクボード番号「1234」を送信する(ステップS88)。このようにして、第2の生成部32は、第1の生成部31への質問に対して質問1回分を遅らせた状態としておく。
上記では、この時点でメインで動作している第1のプロセス実行部21に対してバックグラウンド(サブ)で動作している第2のプロセス実行部22には、ユーザが入力した入力情報を直接送るのではなく、生成情報DB33に保存されているユーザ入力情報を送信することで実現する。
次に、送信部17は、第1の生成部31が生成した画面に遷移した後のWebページタイトルを問い合わせる(ステップS89)。第1の生成部31が、「Aツール開発」を制御装置10に返信すると、制御部14は、受信した画面情報のWebページタイトル「Aツール開発」と、画面操作情報DB121に記憶されている2回目の質問に対応するWebページタイトルとを比較する(ステップS90)。この時点では、図15(f)のデータ5に示すように、画面操作情報DB121に記憶されている2回目の質問に対応するAツール開発と、受信したWebページタイトル「Aツール開発」とは一致している。
よって、図15(g)に示すように、出力部15は、画面操作情報DB121の2回目の質問に対応するユーザ入力情報の項目に、ストーリー番号「111」を保存する(ステップS91)。
次に、第1のプロセス実行部21は、チケットの種類を制御装置10に問い合わせる(ステップS92)。このとき、第2のプロセス実行部22は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS93)。
問い合わせを受け付けると、送信部17は、チケットの種類をユーザに問い合わせる(ステップS94)。ユーザが「テスト項目作成」を入力しようとして誤って、「テッスト項目作成」と入力したとする。このとき、送信部17は、第1のプロセス実行部21にチケットの種類「テッスト項目作成」を送信し、第1のプロセス実行部21は、チケットの種類「テッスト項目作成」を第1の生成部31に送信する(ステップS95)。
次に、制御部14は、画面操作情報DB121に記憶されている情報を確認する。例えば、図15(g)のデータ6では、ユーザ入力情報が二つ保存されている。よって、この時点では、制御部14は、画面操作情報DB121に保存されている、返答されたユーザ入力情報数は「2」であると確認する(ステップS96)。この場合、ユーザ入力情報が二つ保存されているため、送信部17は、第2のプロセス実行部22に2回目の質問に対応するユーザの入力情報「111」を送信し、第2のプロセス実行部22は、第2の生成部32にストーリー番号「111」を送信する(ステップS97)。これにより、第2の生成部32は、第1の生成部31への質問に対して質問1回分を遅らせた状態としておく。
一方、送信部17が、第1の生成部31が生成した画面に遷移した後のWebページタイトルを問い合わせると(ステップS98)、第1の生成部31は、画面生成にエラーが生じ、正しい画面遷移が行われなかったことを示す「404 error」を返信する。
ここで、制御部14は、受信した画面情報のWebページタイトル「404 error」と、画面操作情報DB121に記憶されている、プロセス実行部の質問回数に対応するWebページタイトルとを比較する(ステップS99)。制御部14は、比較の結果、画面操作情報DB121に記憶されている3回目の質問に対応するWebページタイトル「Aツール開発」と、受信したWebページタイトル「404 error」とが一致していないと判定し、正しい画面遷移ではないと判断する。
この場合、制御部14は、メインのプロセスを第1のプロセス実行部21が実行する第1のプロセスから、第2のプロセス実行部22が実行する第2のプロセスに変更する(ステップS100)。次に、制御部14は、図12の制御処理に続く図13にて、第1のプロセス実行部21の停止を指示する(ステップS101)。また、送信部17は、第1の生成部31にWebブラウザを閉じるように指示する(ステップS102)。なお、生成装置30によるWebページタイトルが異なるとの判定は、第2のイベントの検出の一例である。
第2のイベントが検出されると、復元モードの処理が実行される。復元モードの処理では、送信部17は、第1のプロセス実行部21を再起動させ(ステップS103)、第1のプロセス実行部21は、第1の生成部31を操作して、ログインページを開き(ステップS104)、ログインする。
ログイン後、第1のプロセス実行部21は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS105)。問い合わせを受け付けると、送信部17は、画面操作情報DB121に保存されているユーザ入力情報から、問い合わせに対するユーザ入力情報を1つずつプロセス実行装置20に送信する。
これに対して、送信部17は、図15(g)の1回目の質問に対応するユーザ入力情報「1234」を、第1のプロセス実行部21に送信する。第1のプロセス実行部21は、ユーザ入力情報「1234」を第1の生成部31に送信する(ステップS106)。
次に、第1のプロセス実行部21は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS107)。これに対して、送信部17は、図15(g)の2回目の質問に対応するユーザ入力情報「111」を、第1のプロセス実行部21に送信する。第1のプロセス実行部21は、ユーザ入力情報「111」を第1の生成部31に送信する(ステップS108)。このようにして、新たにサブで動作する第1のプロセス実行部21に、画面操作情報DB121に保存されているユーザ入力情報から、問い合わせに対する最後のユーザ入力情報を送信した状態にする。このようにして、新たにサブで動作することになった第1のプロセス実行部21は、再起動して、新たにメインになった第2のプロセス実行部22よりも一つ前の質問の時点まで、自動的に処理を進めておく。なお、サブ側の第1のプロセス実行部21は、メイン側の第2のプロセス実行部22よりも一つ前(直前)の質問の時点まで、自動的に処理を進めることに限らず、第2のプロセス実行部22よりもN(N≧1)個前の質問の時点まで、自動的に処理を進めてもよい。例えば、本実施形態では、2つのプロセスを生成してメインのプロセスとサブのプロセスとして動作させる。しかし、これに限らず、3つのプロセスを生成して1つのメインのプロセスと2つのサブのプロセスとして動作させてもよい。この場合、メインのプロセスを2つのサブの一方のプロセスと変更してもよい。このとき、2つのサブの他方のプロセスについては、変更後のメインのプロセスよりも一つ前の質問の時点まで自動的に処理を進め、メインからサブに変更になったプロセスについては、変更後のメインのプロセスよりも二つ前の質問の時点まで自動的に処理を進めてもよい。
次に、第1のプロセス実行部21は、チケットの種類を制御装置10に問い合わせる(ステップS109)。同様に、第2のプロセス実行部22は、チケットの種類を制御装置10に問い合わせる(ステップS110)。また、画面操作情報DB121に保存されているユーザ入力情報から、問い合わせに対する最後のユーザ入力情報を送信する際、画面操作情報DB121に保存されている質問された順に一つずつユーザ入力情報を送信してもよいし、画面操作情報DB121に保存されているユーザ入力情報を束にして送信してもよい。
問い合わせを受け付けると、送信部17は、チケットの種類をユーザに問い合わせる(ステップS111)。ユーザが「テスト項目作成」を入力しようとして誤って、「テスト実施」と入力すると、送信部17は、新たにメインとなった第2のプロセス実行部22にチケットの種類「テスト実施」を送信する。第2のプロセス実行部22は、チケットの種類「テスト実施」を第2の生成部32に送信する(ステップS112)。ここで、「テスト実施」は、生成情報DB33に記憶され、想定され得る入力であるため、第2の生成部32はエラーと判定せず、「テスト実施」のチケットを作成し、作成した「テスト実施」のチケットが表示される画面を生成する。
次に、制御部14は、画面操作情報DB121に記憶されている3回目の質問のユーザ入力情報を確認する(ステップS113)。例えば、図15(g)のデータ6では、3回目の質問に対するユーザ入力情報は保存されていないため、第1のプロセス実行部21は実行しない。
次に、送信部17は、画面遷移後のWebページタイトルを問い合わせる(ステップS114)。生成部が、「Aツール開発」を返信すると、制御部14は、生成部から受信した画面情報のWebページタイトル「Aツール開発」と、画面操作情報DB121に記憶されている、プロセス実行部の質問回数に対応するWebページタイトルとを比較する(ステップS115)。
この時点では、図15(h)のデータ7に示すように、画面操作情報DB121に記憶されている2回目の質問に対応するAツール開発と、受信したWebページタイトルとは一致している。よって、図15(i)のデータ8に示すように、出力部15は、3回目の質問に対するユーザ入力情報の項目に、ユーザによって入力されたチケットの種類「テスト実施」を保存する(ステップS116)。
次に、第2のプロセス実行部22は、テストの際に使うテスト項目書名はどこに保存されているかを問い合わせる(ステップS117)。受付部13は、問い合わせを受け付け、テストの際に使うテスト項目書名はどこに保存されているかを、ユーザに問い合わせる(ステップS118)。
ユーザは、この時点でチケットの種類が「テスト実施」の生成画面を見て、自分の要求するプロジェクト管理画面が表示されていないと判断し、自分の入力間違いに気づく。この場合、ユーザは制御装置10等に配置された「戻るボタン」を押すと、一つ前の画面に戻る指示が制御装置10に送信される(ステップS119)。なお、ユーザによる「戻るボタン」の押下は、第2のイベントの検出の一例である。第2のイベントが検出されると、復元モードの処理が実行される。
第2のイベントが検出されると、出力部15は、画面操作情報DB121に記憶されている最新のユーザ入力情報を削除する(ステップS120)。これにより、図15(j)のデータ9に示すように、3回目の質問に対するユーザ入力情報の項目に保存されていた「テスト実施」が削除される。
この場合、制御部14は、メインのプロセスを第2のプロセス実行部22が実行する第2のプロセスから、第1のプロセス実行部21が実行する第1のプロセスに変更する(ステップS121)。次に、制御部14は、第2のプロセス実行部22の停止を指示する(ステップS122)。
また、送信部17は、第2の生成部32にWebブラウザを閉じるように指示する(ステップS123)。送信部17は、第2のプロセス実行部22を再起動させる(ステップS124)。送信部17は、第2の生成部32を操作して、チケット作成ページを開く(ステップS125)。
次に、第2のプロセス実行部22は、どのタスクボードにタスクを作るかを制御装置10に問い合わせる(ステップS126)。問い合わせを受け付けると、送信部17は、画面操作情報DB121に保存されている1回目の質問に対応するユーザ入力情報「1234」を第2のプロセス実行部22に送信する。第2のプロセス実行部22は、タスクボードの番号「1234」を第2の生成部32に送信する(ステップS127)。
次に、第2のプロセス実行部22は、タスクを作るストーリー番号を制御装置10に問い合わせる(ステップS128)。問い合わせを受け付けると、送信部17は、画面操作情報DB121に保存されている2回目の質問に対応するユーザ入力情報「111」を第2のプロセス実行部22に送信する。第2のプロセス実行部22は、ストーリー番号「111」を第2の生成部32に送信する(ステップS129)。
このようにして、新たにバックグラウンド(サブ)で動作することになった第2のプロセス実行部22は、再起動して、新たにメインになった第1のプロセス実行部21よりも一つ前の質問の時点まで、自動的に処理を進めておく。
次に、第2のプロセス実行部22は、チケットの種類を制御装置10に問い合わせる(ステップS130)。問い合わせを受け付けると、送信部17は、チケットの種類をユーザに問い合わせる(ステップS131)。ユーザが「テスト項目作成」を入力すると、送信部17は、第1のプロセス実行部21にチケットの種類「テスト項目作成」を送信し、第1のプロセス実行部21は、チケットの種類「テスト項目作成」を第1の生成部31に送信する(ステップS132)。第1の生成部31は、「テスト項目作成」のチケットを作成し、テスト項目作成のチケットが表示されている画面を生成する。
次に、制御部14は、画面操作情報DB121に記憶されている3回目の質問のユーザ入力情報を確認する(ステップS132)。例えば、図15(j)のデータ9では、3回目の質問に対するユーザ入力情報は保存されていないため、第2のプロセス実行部22は実行しない。
次に、送信部17は、画面遷移後のWebページタイトルを問い合わせる(ステップS133)。第2のプロセス実行部22が、Aツール開発を返信すると、制御部14は、受信した画面情報のWebページタイトル「Aツール開発」と、画面操作情報DB121に記憶されている、3回目の質問に対応するWebページタイトルとを比較する(ステップS134)。
この時点では、図15(j)のデータ9に示すように、画面操作情報DB121に記憶されている3回目の質問に対応するAツール開発と、受信したWebページタイトルとは一致している。よって、図15(k)のデータ10に示すように、出力部15は、3回目の質問に対するユーザ入力情報の項目に、ユーザによって入力されたチケットの種類「テスト項目作成」を保存する(ステップS135)。
以上によれば、本実施形態に係る監視モードにおける制御処理では、ユーザが誤った入力を行った場合に、生成装置30がその入力の誤りを判定できる場合、第1のプロセス実行部21及び第2のプロセス実行部22のメインとサブの関係が切り替えられる。これにより、ユーザは、メインで動作する第1のプロセス実行部21及び第2のプロセス実行部22の一方の画面にて操作を継続することが可能になる。第1のプロセス実行部21及び第2のプロセス実行部22のいずれか一方にメインの動作が切り替えられる度に、第1のプロセス実行部21及び第2のプロセス実行部22の他方は再起動して、メインのプロセス実行部より一つ前の質問の時点まで、自動的に処理を進めておく。
また、ユーザが自分で1つ前の質問に誤った内容を入力してしまったと気づいた際に操作システム1の「戻るボタン」をクリックすることによっても、第1のプロセス実行部21及び第2のプロセス実行部22のメインとサブの関係が切り替えられる。これにより、第1のプロセス実行部21及び第2のプロセス実行部22のメインで動作する一方の画面で操作を継続し、他方は再起動して、メインのプロセス実行部より一つ前の質問の時点まで、自動的に処理を進めておく。これにより、従来技術では、再起動してから誤った入力情報を再入力することが可能な環境が整うまでに時間を要したが、サブのプロセス実行部をメインのプロセス実行部より一つ前の質問の時点まで自動的に処理を進めておくことで、その待ち時間が無くなるという効果がある。これにより、受け付けた特定操作に応じた画面遷移が行われない事態の発生を抑制することができる。
例えば「チケットを作るストーリー番号は何ですか」というプロセス実行装置20からの質問に対して123番のストーリーにチケットを作るケースにおいて、ユーザが誤って123と打ち込んだ場合について具体的に説明する。この場合、生成装置30の画面は122番のストーリーの画面に遷移するのでユーザは自分のミスに気付く。その時点で操作システムの「戻るボタン」を押せば、誤った入力を行う前の状態に戻すことができる。
以上、操作システム、制御プログラム、制御方法及び制御装置を上記実施形態により説明したが、本発明に係る制御プログラム、制御方法及び制御装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
例えば、上記実施形態に係る操作システムの構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば、制御装置10、プロセス実行装置20及び生成装置30がネットワーク40を介して互いに接続されているシステム形態は、本実施形態に係る操作システムの一態様であり、これに限定されない。
例えば、本発明に係る操作システムは、制御装置10及びプロセス実行装置20がネットワーク40を介して互いに接続されているシステム形態であってもよい。この場合、プロセス実行装置20は、他のアプリケーションを操作することなく、所定の第1のプロセス及び第2のプロセスを第1及び第2のプロセス実行部においてそれぞれ実行してもよい。この場合、第1のプロセスの実行結果を表示部16に表示しておき、第2のイベントが検出されたときに、第2のプロセスに切り替え、第2のプロセスの実行結果を表示部16に表示してもよい。
以上の説明に関し、更に以下の項を開示する。
(付記1)
第1のイベントを検出すると、ソフトウェアに関する第1のプロセス及び第2のプロセスの生成指示を出力し、
いずれかの情報を受け付けるたびに、受け付けた前記いずれかの情報を、出力した前記生成指示に応じて生成された前記第1のプロセスに送信するとともに、受け付けた前記いずれかの情報の受け付けよりもN(N≧1)番前に受け付け、かつ、前記第1のプロセスに送信した他の情報を、出力した前記生成指示に応じて生成された前記第2のプロセスに送信する処理を実行し、
前記第1のプロセスに送信した前記いずれかの情報に応じた処理を前記第1のプロセスが実行することにより生成した画面の表示部への表示に応じて、第2のイベントを検出すると、前記第2のプロセスに送信した前記他の情報に応じた処理を前記第2のプロセスが実行することにより生成した画面の前記表示部への表示指示を出力する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
(付記2)
前記第1のプロセスに送信した前記いずれかの情報に応じた処理を、前記第1のプロセスから操作される第1の生成部が実行することにより、生成した画面の表示部への表示に応じて、前記第2のイベントを検出すると、前記第2のプロセスに送信した前記他の情報に応じた処理を、前記第2のプロセスから操作される第2の生成部が実行することにより、生成した画面の前記表示部への表示指示を出力する、
ことを特徴とする付記1に記載の制御プログラム。
(付記3)
前記第2のイベントを検出する度に、受け付けた前記いずれかの情報に応じた処理を実行するプロセスを、前記第1のプロセス及び前記第2のプロセスの一方から他方へ変更する、
ことを特徴とする付記1又は2に記載の制御プログラム。
(付記4)
受け付けた前記いずれかの情報に応じた処理を、前記第1のプロセス又は前記第2のプロセスが実行するときの順番に対応付けて、受け付けた前記いずれかの情報を入力情報として記憶部に記憶し、
前記第2のイベントを検出すると、前記第1のプロセス及び前記第2のプロセスの一方から他方への変更に応じて、前記第1のプロセス及び前記第2のプロセスの一方を再起動し、前記記憶部に記憶している入力情報を、該入力情報に対応付けて記憶されている順番に従い再起動した前記第1のプロセス及び前記第2のプロセスの一方に送信する、
ことを特徴とする付記3に記載の制御プログラム。
(付記5)
第1のイベントを検出すると、ソフトウェアに関する第1のプロセス及び第2のプロセスの生成指示を出力し、
いずれかの情報を受け付けるたびに、受け付けた前記いずれかの情報を、出力した前記生成指示に応じて生成された前記第1のプロセスに送信するとともに、受け付けた前記いずれかの情報の受け付けよりもN(N≧1)番前に受け付け、かつ、前記第1のプロセスに送信した他の情報を、出力した前記生成指示に応じて生成された前記第2のプロセスに送信する処理を実行し、
前記第1のプロセスに送信した前記いずれかの情報に応じた処理を前記第1のプロセスが実行することにより生成した画面の表示部への表示に応じて、第2のイベントを検出すると、前記第2のプロセスに送信した前記他の情報に応じた処理を前記第2のプロセスが実行することにより生成した画面の前記表示部への表示指示を出力する、
ことをコンピュータが実行することを特徴とする制御方法。
(付記6)
前記第1のプロセスに送信した前記いずれかの情報に応じた処理を、前記第1のプロセスから操作される第1の生成部が実行することにより、生成した画面の表示部への表示に応じて、前記第2のイベントを検出すると、前記第2のプロセスに送信した前記他の情報に応じた処理を、前記第2のプロセスから操作される第2の生成部が実行することにより、生成した画面の前記表示部への表示指示を出力する、
ことを特徴とする付記5に記載の制御方法。
(付記7)
前記第2のイベントを検出する度に、受け付けた前記いずれかの情報に応じた処理を実行するプロセスを、前記第1のプロセス及び前記第2のプロセスの一方から他方へ変更する、
ことを特徴とする付記5又は6に記載の制御方法。
(付記8)
受け付けた前記いずれかの情報に応じた処理を、前記第1のプロセス又は前記第2のプロセスが実行するときの順番に対応付けて、受け付けた前記いずれかの情報を入力情報として記憶部に記憶し、
前記第2のイベントを検出すると、前記第1のプロセス及び前記第2のプロセスの一方から他方への変更に応じて、前記第1のプロセス及び前記第2のプロセスの一方を再起動し、前記記憶部に記憶している入力情報を、該入力情報に対応付けて記憶されている順番に従い再起動した前記第1のプロセス及び前記第2のプロセスの一方に送信する、
ことを特徴とする付記7に記載の制御方法。
(付記9)
第1のイベントを検出すると、ソフトウェアに関する第1のプロセス及び第2のプロセスの生成指示を出力する出力部と、
いずれかの情報を受け付けるたびに、受け付けた前記いずれかの情報を、出力した前記生成指示に応じて生成された前記第1のプロセスに送信するとともに、受け付けた前記いずれかの情報の受け付けよりもN(N≧1)番前に受け付け、かつ、前記第1のプロセスに送信した他の情報を、出力した前記生成指示に応じて生成された前記第2のプロセスに送信する処理を実行する制御部と、を有し、
前記出力部は、前記第1のプロセスに送信した前記いずれかの情報に応じた処理を前記第1のプロセスが実行することにより生成した画面の表示部への表示に応じて、第2のイベントを検出すると、前記第2のプロセスに送信した前記他の情報に応じた処理を前記第2のプロセスが実行することにより生成した画面の前記表示部への表示指示を出力する、
ことを特徴とする制御装置。
(付記10)
前記出力部は、前記第1のプロセスに送信した前記いずれかの情報に応じた処理を、前記第1のプロセスから操作される第1の生成部が実行することにより、生成した画面の前記表示部への表示に応じて、前記第2のイベントを検出すると、前記第2のプロセスに送信した前記他の情報に応じた処理を、前記第2のプロセスから操作される第2の生成部が実行することにより、生成した画面の前記表示部への表示指示を出力する、
ことを特徴とする付記9に記載の制御装置。
(付記11)
前記第2のイベントを検出する度に、受け付けた前記いずれかの情報に応じた処理を実行するプロセスを、前記第1のプロセス及び前記第2のプロセスの一方から他方へ変更する、
ことを特徴とする付記9又は10に記載の制御装置。
(付記12)
前記出力部は、受け付けた前記いずれかの情報に応じた処理を、前記第1のプロセス又は前記第2のプロセスが実行するときの順番に対応付けて、受け付けた前記いずれかの情報を入力情報として記憶部に記憶し、
前記第2のイベントを検出すると、前記第1のプロセス及び前記第2のプロセスの一方を再起動し、前記記憶部に記憶している入力情報を、該入力情報に対応付けて記憶されている順番に応じて再起動した前記第1のプロセス及び前記第2のプロセスの一方に送信する送信部を有する、
ことを特徴とする付記11に記載の制御装置。