(57)【特許請求の範囲】
【請求項１】
ユーザー操作を入力する入力部と、
前記入力部によるユーザー操作に従って所定の機能を実行する機能実行部と、
前記機能実行部に対するユーザー操作を表すユーザー操作モジュールである又はユーザーへの通知及び当該通知に対する応答の受信を行うインタフェースの利用を表すユーザーインタフェースモジュールである１以上の処理モジュールと、前記処理モジュールの実行順とを示すシナリオファイルを記憶する記憶部と、
実行対象の前記シナリオファイルから前記実行順に前記処理モジュールを読み出す読出部と、
前記読出部が読み出した前記処理モジュールが前記ユーザー操作モジュールであるか前記ユーザーインタフェースモジュールであるかを判断する判断部と、
前記判断部が前記ユーザー操作モジュールであると判断した場合、当該ユーザー操作モジュールにより示される前記ユーザー操作を行うよう前記入力部を制御する操作制御部と、
前記判断部が前記ユーザーインタフェースモジュールであると判断した場合、当該ユーザーインタフェースモジュールにより示されるユーザーへの通知を行う通知部と、
前記通知部による前記通知に対応して受信した応答に基づいて前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う実行制御部と、
を備えるシナリオ実行装置。
【請求項２】
前記ユーザーインタフェースモジュールは、指示内容と、前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を表す後続処理情報とを対応付けた情報を含み、
前記実行制御部は、受信した前記応答が示す指示内容に対応して前記ユーザーインタフェースモジュールに設定されている前記後続処理情報に従って、前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う、
請求項１に記載のシナリオ実行装置。
【請求項３】
前記後続処理情報は、前記シナリオファイルの実行の継続の場合は次に実行する前記処理モジュールの情報を含む、
請求項２に記載のシナリオ実行装置。
【請求項４】
前記実行制御部は、前記ユーザーインタフェースモジュールに応答を受信しない旨の情報が設定されている場合、前記通知部が前記通知を行った後、実行対象の前記シナリオファイルの実行を継続する、
請求項３に記載のシナリオ実行装置。
【請求項５】
前記応答は、変数の設定値を含み、
前記実行制御部は、前記シナリオファイルの実行により前記通知の送信前に得られた前記変数の値を前記応答に含まれる当該変数の前記設定値に更新し、更新された当該変数を用いて実行対象の前記シナリオファイルの実行を継続する、
請求項１から請求項３のいずれか一項に記載のシナリオ実行装置。
【請求項６】
前記応答は、前記処理モジュールに関する設定を表すプロパティ情報の設定値を含み、
前記実行制御部は、実行対象の前記シナリオファイルの実行を継続する際に、前記応答に含まれる前記プロパティ情報の前記設定値を用いて前記シナリオファイルに含まれる前記処理モジュールを実行する、
請求項１又は請求項２に記載のシナリオ実行装置。
【請求項７】
前記通知は、実行対象の前記シナリオファイルの実行により前記通知の送信前に得られた変数の値を含む、
請求項１から請求項６のいずれか一項に記載のシナリオ実行装置。
【請求項８】
前記通知部による前記通知は、変換装置によってデータ形式が変換された後に、前記ユーザーの端末装置に送信され、
前記実行制御部は、前記端末装置から返送され、前記変換装置によってデータ形式が変換された前記応答を受信する、
請求項１から請求項７のいずれか一項に記載のシナリオ実行装置。
【請求項９】
前記変換装置は、チャット、電子メール、又は、電話により前記端末装置への前記通知の送信及び前記端末装置からの前記応答の受信を行う、
請求項８に記載のシナリオ実行装置。
【請求項１０】
シナリオ実行装置が実行するシナリオ実行方法であって、
入力部によるユーザー操作に従って所定の機能を実行する機能実行ステップと、
前記機能実行ステップにより前記機能を実行させるためのユーザー操作を表すユーザー操作モジュールである又はユーザーへの通知及び当該通知に対する応答の受信を行うとの間のインタフェースの利用を表すユーザーインタフェースモジュールである１以上の処理モジュールと、前記処理モジュールの実行順とを示す実行対象のシナリオファイルから前記実行順に前記処理モジュールを読み出す読出ステップと、
前記読出ステップにおいて読み出した前記処理モジュールが前記ユーザー操作モジュールであるか前記ユーザーインタフェースモジュールであるかを判断する判断ステップと、
前記判断ステップにおいて前記ユーザー操作モジュールであると判断した場合、当該ユーザー操作モジュールにより示される前記ユーザー操作を行うよう入力部を制御する操作制御ステップと、
前記判断ステップにおいて前記ユーザーインタフェースモジュールであると判断した場合、当該ユーザーインタフェースモジュールにより示されるユーザーへの通知を行う通知ステップと、
前記通知ステップによる前記通知に対応して受信した応答に基づいて前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う実行制御ステップと、
を有するシナリオ実行方法。
【請求項１１】
コンピュータを、請求項１から請求項９のいずれか一項に記載のシナリオ実行装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シナリオ実行装置、シナリオ実行方法及びプログラムに関する。
【背景技術】
【０００２】
自動化ツールの一種であるＲＰＡ（Robotic Process Automation）は、ＰＣ（パーソナルコンピュータ）等の情報処理装置のユーザーインタフェースを操作して人手で行っていた定型的な作業を自動で実行可能な技術である。例えば、作業手順を記述したシナリオを作成し（例えば、特許文献１参照）、ＰＣがそのシナリオの記述に基づいて作業を実行することで、人手で行っていた作業を自動で再現する（例えば、特許文献２参照）。ＲＰＡにより、時間的コストや人的コストを削減し、作業ミスを低減することもできる。一方で、ＰＣが、ユーザーにより指定されたトリガの発生を検出した際に自動的にアプリケーションプログラムを開始し、ユーザーに通知を行う技術がある（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０２６４５１号公報
【特許文献２】特許第４８８３６３８号公報
【特許文献３】特許第４０５５９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したように、ＲＰＡは、ユーザーインタフェースを用いた人手による一連の定型的な操作をシナリオに記述し、ＰＣに自動で実行させる。よって、シナリオが実行されている間、ユーザーがＰＣに指示を入力するための操作を行う必要がない。しかし、ユーザーの判断によりＰＣに実行させる操作を指示したい場合があった。
【課題を解決するための手段】
【０００５】
上記事情に鑑み、本発明は、自動化ツールのシナリオの実行途中においてシナリオの実行に関するユーザーの指示を受けることができるシナリオ実行装置、シナリオ実行方法及びプログラムを提供することを目的としている。
【０００６】
本発明の一態様は、ユーザー操作を入力する入力部と、前記入力部によるユーザー操作に従って所定の機能を実行する機能実行部と、前記機能実行部に対するユーザー操作を表すユーザー操作モジュールである又はユーザーへの通知及び当該通知に対する応答の受信を行うインタフェースの利用を表すユーザーインタフェースモジュールである１以上の処理モジュールと、前記処理モジュールの実行順とを示すシナリオファイルを記憶する記憶部と、実行対象の前記シナリオファイルから前記実行順に前記処理モジュールを読み出す読出部と、前記読出部が読み出した前記処理モジュールが前記ユーザー操作モジュールであるか前記ユーザーインタフェースモジュールであるかを判断する判断部と、前記判断部が前記ユーザー操作モジュールであると判断した場合、当該ユーザー操作モジュールにより示される前記ユーザー操作を行うよう前記入力部を制御する操作制御部と、前記判断部が前記ユーザーインタフェースモジュールであると判断した場合、当該ユーザーインタフェースモジュールにより示されるユーザーへの通知を行う通知部と、前記通知部による前記通知に対応して受信した応答に基づいて前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う実行制御部と、を備えるシナリオ実行装置である。
【０００７】
本発明の一態様は、上述のシナリオ実行装置であって、前記ユーザーインタフェースモジュールは、指示内容と、前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を表す後続処理情報とを対応付けた情報を含み、前記実行制御部は、受信した前記応答が示す指示内容に対応して前記ユーザーインタフェースモジュールに設定されている前記後続処理情報に従って、前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う。
【０００８】
本発明の一態様は、上述のシナリオ実行装置であって、前記後続処理情報は、前記シナリオファイルの実行の継続の場合は次に実行する前記処理モジュールの情報を含む。
【０００９】
本発明の一態様は、上述のシナリオ実行装置であって、前記実行制御部は、前記ユーザーインタフェースモジュールに応答を受信しない旨の情報が設定されている場合、前記通知部が前記通知を行った後、実行対象の前記シナリオファイルの実行を継続する。
【００１０】
本発明の一態様は、上述のシナリオ実行装置であって、前記応答は、変数の設定値を含み、前記実行制御部は、前記シナリオファイルの実行により前記通知の送信前に得られた前記変数の値を前記応答に含まれる当該変数の前記設定値に更新し、更新された当該変数を用いて実行対象の前記シナリオファイルの実行を継続する。
【００１１】
本発明の一態様は、上述のシナリオ実行装置であって、前記応答は、前記処理モジュールに関する設定を表すプロパティ情報の設定値を含み、前記実行制御部は、実行対象の前記シナリオファイルの実行を継続する際に、前記応答に含まれる前記プロパティ情報の前記設定値を用いて前記シナリオファイルに含まれる前記処理モジュールを実行する。
【００１２】
本発明の一態様は、上述のシナリオ実行装置であって、前記通知は、実行対象の前記シナリオファイルの実行により前記通知の送信前に得られた変数の値を含む。
【００１３】
本発明の一態様は、上述のシナリオ実行装置であって、前記通知部による前記通知は、変換装置によってデータ形式が変換された後に、前記ユーザーの端末装置に送信され、前記実行制御部は、前記端末装置から返送され、前記変換装置によってデータ形式が変換された前記応答を受信する。
【００１４】
本発明の一態様は、上述のシナリオ実行装置であって、前記変換装置は、チャット、電子メール、又は、電話により前記端末装置への前記通知の送信及び前記端末装置からの前記応答の受信を行う。
【００１５】
本発明の一態様は、シナリオ実行装置が実行するシナリオ実行方法であって、入力部によるユーザー操作に従って所定の機能を実行する機能実行ステップと、前記機能実行ステップにより前記機能を実行させるためのユーザー操作を表すユーザー操作モジュールである又はユーザーへの通知及び当該通知に対する応答の受信を行うインタフェースの利用を表すユーザーインタフェースモジュールである１以上の処理モジュールと、前記処理モジュールの実行順とを示す実行対象のシナリオファイルから前記実行順に前記処理モジュールを読み出す読出ステップと、前記読出ステップにおいて読み出した前記処理モジュールが前記ユーザー操作モジュールであるか前記ユーザーインタフェースモジュールであるかを判断する判断ステップと、前記判断ステップにおいて前記ユーザー操作モジュールであると判断した場合、当該ユーザー操作モジュールにより示される前記ユーザー操作を行うよう入力部を制御する操作制御ステップと、前記判断ステップにおいて前記ユーザーインタフェースモジュールであると判断した場合、当該ユーザーインタフェースモジュールにより示されるユーザーへの通知を行う通知ステップと、前記通知ステップによる前記通知に対応して受信した応答に基づいて前記シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う実行制御ステップと、を有するシナリオ実行方法である。
【００１６】
本発明の一態様は、コンピュータを、上述したシナリオ実行装置として機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明により、自動化ツールのシナリオの実行途中においてシナリオの実行に関するユーザーの指示を受けることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態によるシナリオ実行システムの構成図である。
【図２】同実施形態によるシナリオ実行装置の構成を示す機能ブロック図である。
【図３】同実施形態による端末装置の構成を示す機能ブロック図である。
【図４】同実施形態による変換装置の構成を示す機能ブロック図である。
【図５】同実施形態によるシナリオ実行装置における画面表示例を示す図である。
【図６】同実施形態によるシナリオ実行装置における画面表示例を示す図である。
【図７】同実施形態によるシナリオ実行装置における画面表示例を示す図である。
【図８】同実施形態によるシナリオ実行装置における画面表示例を示す図である。
【図９】同実施形態によるシナリオ実行装置における画面表示例を示す図である。
【図１０】同実施形態によるシナリオ実行装置における画面表示例を示す図である。
【図１１】同実施形態による端末装置における画面表示例を示す図である。
【図１２】同実施形態によるシナリオ実行装置のシナリオ生成処理を示すフロー図である。
【図１３】同実施形態によるシナリオ実行装置のシナリオ実行処理を示すフロー図である。
【図１４】同実施形態によるシナリオ実行装置のシナリオ実行処理を示すフロー図である。
【図１５】同実施形態による通知実行時のシナリオ実行システムのシーケンス図である。ログデータの例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図１は、本発明の一実施形態によるシナリオ実行システム１００の構成図である。シナリオ実行システム１００は、ＲＰＡを利用するユーザーのシナリオ実行装置１及び端末装置３と、事業者の変換装置５とを備える。ＲＰＡは、自動化ツールの一例である。ユーザーの例は、企業、学校、団体などであるが、これらに限らない。同図では、シナリオ実行装置１及び端末装置３をそれぞれ１台のみ示しているが、ユーザーの数と、各ユーザーが使用するシナリオ実行装置１及び端末装置３の数は任意である。変換装置５を保有する事業者は、ＲＰＡサービスを提供する事業者でもよく、他の事業者でもよい。シナリオ実行装置１、端末装置３及び変換装置５は、ネットワーク９に無線又は有線により接続される。ネットワーク９は、例えば、インターネットや携帯電話網などの公衆網であるが、ＬＡＮ（Local Area Network）などの私設網でもよく、公衆網と私設網の組み合わせでもよい。ネットワーク９には、ネットワーク９を用いたコミュニケーションサービスを提供する事業者のサービス提供装置７が接続される。ネットワーク９に接続されるサービス提供装置７の数は任意である。ユーザーが変換装置５やサービス提供装置７を有してもよい。
【００２０】
シナリオ実行装置１は、ＰＣなどの情報処理装置であり、ＲＰＡのシナリオを実行する。シナリオは、ユーザーインタフェースによりシナリオ実行装置１に行われる操作と、その操作の実行順とを示す。端末装置３は、例えば、スマートフォン、タブレット端末、ＰＣ、携帯電話などである。変換装置５は、例えば、サーバコンピュータなどの情報処理装置で実現される。変換装置５は、シナリオ実行中のシナリオ実行装置１から受信した端末装置３宛ての通知を、サービス提供装置７が提供するネットワークサービスに応じたデータ形式に変換し、サービス提供装置７に送信する。また、変換装置５は、送信した通知に対応して端末装置３が返送した応答をサービス提供装置７から受信する。変換装置５は、受信した応答のデータ形式をシナリオ実行装置１が受信可能なデータ形式に変換し、シナリオ実行装置１に送信する。シナリオ実行装置１は、応答が示すユーザーの指示に従ってシナリオの実行を継続又は終了したり、他のシナリオを実行したりする。サービス提供装置７が提供するコミュニケーションサービスは、ＳＮＳ（Social Networking Service）等を用いたメッセンジャーサービス、電子メール、ＳＭＳ（ショートメッセージサービス）、電話などである。メッセンジャーサービスの例は、ＬＩＮＥ（登録商標）、Ｓｌａｃｋ（登録商標）、ＴＥＡＭＳ（登録商標）などのチャットツールである。
【００２１】
図２は、本発明の一実施形態によるシナリオ実行装置１の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。シナリオ実行装置１は、通信部１１と、記憶部１２と、入力部１３と、表示部１４と、処理部１５とを備える。通信部１１は、ネットワーク９を介して他の装置と通信する。記憶部１２は、シナリオファイルを記憶する。シナリオファイルは、シナリオが記述されたファイルである。シナリオは、処理モジュールと、処理モジュールの実行順とを示す。処理モジュールには、ユーザー操作モジュールと、ユーザーインタフェースモジュールとがある。ユーザー操作モジュールは、ユーザーインタフェースを用いたユーザー操作を表す。ユーザー操作の対象は、例えば、シナリオ実行装置１において実行されているアプリケーションプログラム（以下、アプリとも記載する。）やＯＳ（Operation System）などである。ユーザーインタフェースモジュールは、ユーザーへの通知、及び、通知に対するユーザーからの応答の受信を行うインタフェースの利用を表す。ユーザーへの通知、及び、通知に対する応答の受信は、例えば、ネットワーク９を介して行われる。ユーザーインタフェースモジュールは、ユーザーへの通知のみを行ってもよい。ユーザーインタフェースモジュールには、ユーザーへの通知の内容と、通知に対応して受信した応答別の後続処理情報とが付加される。後続処理情報は、応答に応じて行う処理を示す。例えば、後続処理情報は、実行中のシナリオファイルの実行継続、実行中のシナリオファイルの実行終了、実行中のシナリオファイルとは異なる他のシナリオファイルの実行開始などである。
【００２２】
入力部１３は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部１３は、ユーザーの指示をシナリオ実行装置１に入力する際にユーザーによって操作されるユーザーインタフェースである。表示部１４は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。
【００２３】
処理部１５は、シナリオ作成部１６と、シナリオ実行管理部１７と、シナリオ実行部１８と、機能Ｘ実行部１９とを有する。
【００２４】
シナリオ作成部１６は、作成情報受信部１６１と、画面表示制御部１６２と、シナリオ登録部１６３とを備える。作成情報受信部１６１は、入力部１３によりユーザーが入力した、シナリオの作成に関する情報を受ける。画面表示制御部１６２は、シナリオ作成画面を表示部１４に表示する。シナリオ作成画面は、シナリオ作成に使用可能な処理モジュールのリストと、作成中のシナリオを構成する処理モジュール及びその実行順の情報を表示する。シナリオ登録部１６３は、ユーザーがシナリオ作成画面を用いて行った処理モジュールの選択及び選択された処理モジュールの実行順の指定に基づいて作成したシナリオが記述されたシナリオファイルを生成する。処理モジュールには、入力部１３によりユーザーが入力したプロパティ情報の値が付加される。プロパティ情報は、処理モジュールに関する設定を表す変数とその値とを含む。シナリオ登録部１６３は、生成したシナリオファイルを記憶部１２に登録する。
【００２５】
シナリオ実行管理部１７は、シナリオの実行を管理する。シナリオ実行管理部１７は、ユーザーが入力部１３により入力した指示に従って、シナリオの実行スケジュールを記憶部１２に記憶してもよい。シナリオ実行管理部１７は、記憶された実行スケジュールに従ってシナリオの実行をシナリオ実行部１８に指示する。
【００２６】
シナリオ実行部１８は、読出部１８１と、判断部１８２と、操作制御部１８３と、通知部１８４と、実行制御部１８５とを備える。読出部１８１は、シナリオ実行管理部１７により実行が指示されたシナリオが記述されたシナリオファイルから実行順に処理モジュールを読み出す。判断部１８２は、読出部１８１が読み出した処理モジュールがユーザー操作モジュールであるかユーザーインタフェースモジュールであるかを判断する。操作制御部１８３は、判断部１８２がユーザー操作モジュールであると判断した場合、当該ユーザー操作モジュールにより示されるユーザー操作を行うよう入力部１３を制御する。
【００２７】
通知部１８４は、判断部１８２がユーザーインタフェースモジュールであると判断した場合、当該ユーザーインタフェースモジュールにより示されるユーザーへの通知を変換装置５に送信する。実行制御部１８５は、通知部１８４による通知に対応して端末装置３が送信した応答を変換装置５から受信する。実行制御部１８５は、受信した応答に対応してユーザーインタフェースモジュールに設定されている後続処理情報に従って、シナリオファイルの実行の継続又は中断、あるいは、他のシナリオファイルの実行を行う。シナリオファイルの実行の継続の場合、ユーザーが入力した変数の設定値が応答に含まれ得る。実行制御部１８５は、シナリオファイルの実行により通知の送信前に得られた変数の値を、応答に含まれる当該変数の設定値に更新し、更新された設定値の変数を用いてシナリオファイルの実行を継続する。また、シナリオファイルの実行の継続の場合、プロパティ情報の設定値が応答に含まれ得る。実行制御部１８５は、継続してシナリオファイルを実行する際に、応答に含まれるプロパティ情報の設定値を用いて、シナリオファイルに含まれる処理モジュールを実行する。
【００２８】
機能Ｘ実行部１９は、入力部１３を用いた操作に従って機能Ｘを実行する。機能Ｘは、シナリオの実行に使用され得る機能であり、任意の機能とすることができる。機能Ｘは、ＣＰＵがアプリケーションプログラムを実行することによって実現されてもよい。例えば、機能Ｘは、表計算、文書編集、ウェブブラウザ、はがき作成、図形描画等、ＰＣに実装される任意の機能とすることができる。同図では、機能Ｘを実行する機能Ｘ実行部１９（Ｘ＝Ａ、Ｂ、Ｃ）を、機能Ａ実行部１９ａ、機能Ｂ実行部１９ｂ、機能Ｃ実行部１９ｃと記載している。
【００２９】
図３は、端末装置３の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。端末装置３は、通信部３１と、制御部３２と、表示部３３と、入力部３４とを備える。通信部３１は、ネットワーク９を介して他の装置と通信する。制御部３２は、通信部３１を介して受信したデータを表示部３３へ表示する処理や、入力部３４により入力された指示に従って、通信部３１を介して情報を送受信する処理を行う。表示部３３は、ＣＲＴディスプレイ、液晶ディスプレイ、有機ＥＬディスプレイ等の画像表示装置である。入力部３４は、キーボード、ポインティングデバイス、ボタン、タッチパネル等の既存の入力装置を用いて構成される。端末装置３がスマートフォンや携帯電話である場合、端末装置３は、通話のための受話部及び送話部をさらに備える。
【００３０】
図４は、変換装置５の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。変換装置５は、通信部５１と、記憶部５２と、変換部５３とを有する。通信部５１は、ネットワーク９を介して他の装置と通信する。記憶部５２は、ネットワークサービス毎のデータ形式の変換ルールを記憶する。変換部５３は、シナリオ実行装置１から受信した端末装置３宛ての通知を、記憶部５２に記憶される変換ルールに従って、サービス提供装置７が提供するネットワークサービスに応じたデータ形式に変換して出力する。また、変換部５３は、端末装置３からシナリオ実行装置１に返送された応答をサービス提供装置７から受信し、記憶部５２に記憶される変換ルールに従って、受信した応答のデータ形式をシナリオ実行装置１が受信可能なデータ形式に変換して出力する。チャットを利用して端末装置３と通信を行う場合、変換部５３は、チャットボットの機能を有してもよい。また例えば、電話を利用して端末装置３と通信を行う場合、変換部５３は、テキストを音声に変換して出力する音声合成装置と、入力した音声をテキストに変換する音声認識装置とを有する。
【００３１】
図５〜図１０は、シナリオ実行装置１における画面表示例を示す図である。図５に示すシナリオ作成画面２００ａは、ライブラリ表示領域２０１及びシナリオ作成領域２０２を有する。ライブラリ表示領域２０１は、利用可能な処理モジュールのリストをモジュール名により表示する領域である。モジュール名は、処理モジュールの名称である。処理モジュールのリストには、ユーザー操作モジュール及びユーザーインタフェースモジュールが含まれる。シナリオ作成領域２０２は、処理モジュールの実行順を指定する領域である。
【００３２】
ここでは、ユーザーインタフェースモジュールとして、ユーザー通知モジュールと、プロパティ設定モジュールとがある場合について説明する。ユーザー通知モジュールは、ユーザーへの通知のみを行うか、ユーザーへの通知とユーザーからの応答受信を行い、応答に設定されたユーザー指示に応じて後続処理を決定する。プロパティ設定モジュールは、ユーザーへの通知とユーザーからの応答受信を行い、応答に設定されたプロパティ情報の設定値をシナリオ内の処理モジュールのプロパティ情報に設定して、シナリオの実行を継続する。
【００３３】
ユーザーは、マウス等の入力部１３により、ライブラリ表示領域２０１に表示される処理モジュールの一覧の中から、追加する処理モジュールのモジュール名を選択する。追加する処理モジュールを追加処理モジュールと記載する。同図では、追加処理モジュールがユーザー通知モジュールである場合を例に示している。「ユーザー通知」は、ユーザー通知モジュールのモジュール名である。ユーザーは、マウスにより、選択した追加処理モジュールを、シナリオ作成領域２０２までドラッグする（ドラッグアンドドロップ）。これにより、図６に示すシナリオ作成画面２００ｂが表示される。
【００３４】
シナリオ実行装置１は、図６に示すシナリオ作成画面２００ｂのシナリオ作成領域２０２におけるドラッグの終了位置に、追加処理モジュールのモジュール名を表示する処理シンボル２１２−１を追加表示する。終了位置は、シナリオの開始を表すノード２１１−１と、シナリオの終了を表すノード２１１−２との間である。ユーザーが、マウス等の入力部１３により処理シンボル２１２−１のプロパティ入力を指示した場合、シナリオ実行装置１は、図７に示すプロパティ入力画面２２０を表示する。処理シンボル２１２−１のプロパティ入力の指示は、例えば、処理シンボル２１２−１の表示上でダブルクリックする操作などとすることができる。
【００３５】
プロパティ入力画面２２０は、対象アプリケーション入力フィールド２２１と、接続設定入力フィールド２２２と、発話の種類の選択ボタン２２３ａ、２２３ｂと、発話設定領域２２４とを含む。対象アプリケーション入力フィールド２２１は、ユーザーの端末装置３への通知に用いるネットワークサービスのアプリケーションを指定する。指定されるアプリケーションは、各種のメッセンジャーサービス、電子メール、独自ＵＩ（ユーザーインタフェース）、ユーザーのロカールアプリケーション、電話などである。接続設定入力フィールド２２２には、対象アプリケーション入力フィールド２２１において選択されたアプリケーションを用いた通知の送信先をテキストにより入力する。チャットなどのメッセンジャーサービスの場合、そのメッセンジャーサービスにおいて宛先として用いられるユーザーのＩＤや名前が設定される。電子メールの場合、メールアドレスが設定される。また、電話の場合、電話番号が設定される。選択ボタン２２３ａ、２２３ｂはそれぞれ、発話の種類が通知のみであるか、又は、ユーザー応答有りかを選択する。ユーザー応答有とは、通知を行い、さらに、その通知に対するユーザーの応答を受信することをいう。
【００３６】
発話設定領域２２４は、発話の種類が通知のみかユーザー応答有りかによって異なる。発話設定が通知のみの場合、発話設定領域２２４は、通知メッセージ入力フィールド２２５及び通知変数入力フィールド２２６を有する。発話設定がユーザー応答有りの場合、発話設定領域２２４は、通知メッセージ入力フィールド２２５及び通知変数入力フィールド２２６に加え、ユーザー応答用ボタン設定領域２２７及び通知間隔選択ボタン２２８を有する。
【００３７】
通知メッセージ入力フィールド２２５には、ユーザーに通知するメッセージがテキストにより入力される。通知変数入力フィールド２２６には、シナリオの実行によって得られた変数のうち、ユーザーに値を通知する変数を入力する。変数はプルダウンメニューにより選択され、通知を行うときに用いる変数名をテキストにより入力される。プルダウンメニューには、シナリオ内で使用されている変数がメニュー表示される。
【００３８】
ユーザー応答用ボタン設定領域２２７では、通知を受信した端末装置３においてユーザーが応答を行うためのボタンを設定する。ユーザー応答用ボタン設定領域２２７は、ボタン表示名入力フィールド２２７１と、ボタンが選択された場合のアクション（動作）を選択するアクション選択フィールド２２７２と、ユーザーが値を設定する変数を選択する変数選択フィールド２２７３とを含む。
【００３９】
ボタン表示名入力フィールド２２７１には、ユーザーが応答を入力するためのボタンに表示する文字列を入力する。アクション選択フィールド２２７２に設定されるアクション及び変数選択フィールド２２７３に設定される変数は、後続処理情報として用いられる。アクションは、シナリオ内の指定の処理モジュールを実行（シナリオの実行継続）、変数に値を設定してシナリオ内の指定の処理モジュールを実行（シナリオの実行継続）、シナリオの実行終了、指定のシナリオの実行、保留などである。同図に示すアクション選択フィールド２２７２では、プルダウンメニューによりアクションを選択可能である。シナリオの実行継続である場合、ユーザーは、次に実行する処理モジュールを選択する。例えば、ユーザー通知モジュールに後続する処理モジュールのモジュール名をプルダウンメニューに含めて表示し、後続する処理モジュールをユーザーに選択させる。なお、ユーザー通知モジュールに後続する処理モジュールが一つの場合は、モジュール名の指定を省略してもよい。変数に値を設定してシナリオ内の指定の処理モジュールを実行の場合、変数選択フィールド２２７３にシナリオ内に用いられている変数をプルダウンメニューにより表示し、値を設定する変数をユーザーに選択させる。指定のシナリオの実行の場合、アクション選択フィールド２２７２にシナリオファイル名をプルダウンメニューに含めて表示し、実行させるシナリオのシナリオファイル名をユーザーに選択させる。通知間隔選択ボタン２２８は、ユーザーへ通知した応答が受信できなかった場合、又は、アクションが保留である場合に、通知の再送を行う時間間隔を選択するためのボタンである。
【００４０】
ユーザーが入力部１３によりプロパティ入力画面２２０のＯＫボタン２２９をクリックするなど保存操作を行うと、シナリオ実行装置１は、処理シンボル２１２−１が表すユーザー通知モジュールと対応付けて、プロパティ入力画面２２０に入力された設定値のプロパティ情報を記憶する。
【００４１】
図７には、端末装置３の表示部３３に表示される通知画面４００の例がさらに示されている。端末装置３は、実装しているメッセンジャーサービスのアプリを用いて変換装置５から通知を受信し、通知画面４００を表示する。通知内容は、プロパティ入力画面２２０に設定された内容に基づいており、変換装置５はこの設定内容をシナリオ実行装置１から受信する。テキスト４０１は、通知メッセージ入力フィールド２２５に入力されたテキストの表示である。テキスト４０２は、通知変数入力フィールド２２６において入力された変数名と、その変数名が設定された変数の値との表示である。ボタン４０３ａ、４０３ｂ、４０３ｃ、４０３ｄは、ボタン表示名入力フィールド２２７１に入力されたボタン表示名を表示する。ユーザーがいずれかのボタン４０３ａ、４０３ｂ、４０３ｃ、４０３ｄを選択すると、端末装置３は、選択されたボタンの識別情報を指示内容として設定した応答を送信する。
【００４２】
図８は、シナリオ完成後のシナリオ作成画面２００ｃを示している。シナリオ作成領域２０２には、ユーザーが入力部１３により選択した処理モジュールのモジュール名が記述された矩形の処理シンボル２１２−１〜２１２−４が表示されている。矢印２１３−１〜２１３−６は、処理モジュールの実行順を表す。開始を表すノード２１１−１からの矢印２１３−１は、シナリオ開始後に、矢印の先の処理シンボル２１２−２が表す処理モジュール実行することを示す。矢印２１３−２は、矢印の根元の処理シンボル２１２−２が表す処理モジュールを実行した後に、矢印の先の処理シンボル２１２−１が表す処理モジュールを実行することを表す。矢印２１３−３は、矢印の根元の処理シンボル２１２−１が表す処理モジュールを実行した後に、矢印の先の処理シンボル２１２−３が表す処理モジュールを実行することを表す。矢印２１３−４は、矢印の根元の処理シンボル２１２−１が表す処理モジュールを実行した後に、矢印の先の処理シンボル２１２−４が表す処理モジュールを実行することを表す。処理シンボル２１２−１のユーザー通知モジュールを実行した後、処理シンボル２１２−３と処理シンボル２１２−４とのいずれが表す処理モジュールを実行するかは、プロパティ入力画面２２０のユーザー応答用ボタン設定領域２２７に設定された内容及びユーザーからの応答に従う。
【００４３】
図９は、プロパティ設定モジュールを用いてシナリオを作成したシナリオ作成画面２００ｄを示している。シナリオ作成領域２０２には、ユーザーが入力部１３により選択した処理モジュールのモジュール名が記述された矩形の処理シンボル２１５−１〜２１５−３が表示されている。矢印２１６−１〜２１６−４は、処理モジュールの実行順が、処理シンボル２１５−１、２１５−２、２１５−３であることを表す。処理シンボル２１５−１及び２１５−３は、ユーザー操作モジュールを表し、処理シンボル２１５−２は、プロパティ設定モジュールを表す。
【００４４】
ユーザーが、マウス等の入力部１３により処理シンボル２１５−１の表示上でダブルクリックするなど、処理シンボル２１５−１のプロパティ入力を指示した場合、シナリオ実行装置１は、処理Ａのユーザー操作モジュールのプロパティ入力画面を表示する。ユーザーは、入力部１３により、プロパティ入力画面に、処理Ａのプロパティ情報の設定値を入力する。ユーザーが、入力部１３によりプロパティ情報の保存操作を行うと、シナリオ実行装置１は、処理シンボル２１５−１が表す処理Ａのユーザー操作モジュールと対応付けて、プロパティ入力画面に入力された処理Ａのプロパティ情報を記憶する。
【００４５】
同様に、ユーザーが、入力部１３により処理シンボル２１５−３のプロパティ入力を指示した場合、シナリオ実行装置１は、処理Ｂのユーザー操作モジュールのプロパティ入力画面を表示する。ユーザーは、入力部１３により、プロパティ入力画面に、処理Ｂのプロパティ情報の設定値を入力する。ユーザーが、入力部１３によりプロパティ情報の保存操作を行うと、シナリオ実行装置１は、処理シンボル２１５−３が表す処理Ｂのユーザー操作モジュールと対応付けて、プロパティ入力画面に入力された処理Ｂのプロパティ情報を記憶する。
【００４６】
本実施形態のプロパティ情報は、１以上の変数それぞれの識別情報と、各変数の値と、変数の説明との情報を含む。変数の識別情報として、例えば、変数が属するグループ名と、変数名との組み合わせを用いる。プロパティ情報はさらに、変数のデータ形式の情報を含んでもよい。なお、複数のユーザー操作モジュールのプロパティ情報に、同じ変数を使用し得る。例えば、処理Ａのユーザー操作モジュールのプロパティ情報に用いられる変数を、処理Ｂのユーザー操作モジュールのプロパティ情報で用いてもよい。
【００４７】
ユーザーが、入力部１３により処理シンボル２１５−２のプロパティ入力を指示した場合、シナリオ実行装置１は表示部１４に、図１０に示すプロパティ入力画面２５０を表示する。プロパティ入力画面２５０は、対象アプリケーション入力フィールド２５１と、接続設定入力フィールド２５２と、発話設定領域２５３とを含む。対象アプリケーション入力フィールド２５１は、対象アプリケーション入力フィールド２２１（図７）と同様に、ユーザーの端末装置３への通知に用いるネットワークサービスのアプリケーションを指定する。接続設定入力フィールド２５２には、接続設定入力フィールド２２２（図７）と同様に、対象アプリケーション入力フィールド２５１において選択されたアプリケーションを用いた通知の送信先をテキストにより入力する。
【００４８】
発話設定領域２５３は、ウェルカムメッセージ入力フィールド２５４と、クローズメッセージ入力フィールド２５５と、設定プロパティ情報入力領域２５６と、通知間隔選択ボタン２５７とを有する。ウェルカムメッセージ入力フィールド２５４には、ウェルカムメッセージをテキストで記述する。ウェルカムメッセージは、プロパティ設定モジュールの開始により最初にユーザーに通知するメッセージである。クローズメッセージ入力フィールド２５５には、クローズメッセージをテキストで記述する。クローズメッセージは、ユーザーから指示の受信を終了する際に通知するメッセージである。
【００４９】
設定プロパティ情報入力領域２５６には、プロパティ情報の変数のうち、ユーザーに値の設定を要求する変数の識別情報と、その変数の設定値の回答方式とを入力する。設定プロパティ情報入力領域２５６は、グループ名入力フィールド２５６１、変数名入力フィールド２５６２、説明入力フィールド２５６３、種別入力フィールド２５６４及び表示入力フィールド２５６５を含む。グループ名入力フィールド２５６１、変数名入力フィールド２５６２、説明入力フィールド２５６３にはそれぞれ、シナリオ内の１以上の処理モジュールのプロパティ情報に用いられている変数のグループ名、変数名、説明が設定される。なお、シナリオ実行装置１は、シナリオ内の各処理モジュールのプロパティ情報に使用されている全ての変数を一覧表示し、その表示の中からユーザーが入力部１３により変数を選択してもよい。シナリオ実行装置１は、選択された変数のグループ名、変数名、説明をそれぞれ、グループ名入力フィールド２５６１、変数名入力フィールド２５６２、説明入力フィールド２５６３に入力する。
【００５０】
種別入力フィールド２５６４は、設定値の回答方式の種別をプルダウンメニューの中から選択する。種別は、例えば、日付、ボタン、テキスト、数値などである。表示入力フィールド２５６５は、種別がボタンである場合に、ボタンに表示する表示名を設定する。この表示名は、変数の設定値として用いられる。通知間隔選択ボタン２５７は、ユーザーへ通知した応答が受信できなかった場合に、通知の再送を行う時間間隔を選択するためのボタンである。
【００５１】
ユーザーが入力部１３によりプロパティ入力画面２５０のＯＫボタン２５８をクリックするなど保存操作を行うと、シナリオ実行装置１は、処理シンボル２１５−２が表すプロパティ設定モジュールと対応付けて、プロパティ入力画面２５０に入力された設定値のプロパティ情報を記憶する。なお、シナリオ実行装置１は、プロパティ設定モジュールのプロパティ情報に、ユーザー応答有を示す発話の種類、又は、通知及びプロパティ設定を示す発話の種類を設定してもよい。また、シナリオ実行装置１は、プロパティ情報に、応答受信と対応付けて、プロパティ情報を更新してシナリオ実行継続を示す後続処理情報を設定してもよい。すなわち、応答受信後に実行する処理モジュールとして、プロパティ設定モジュールの次の処理モジュールが指定される。
【００５２】
図１１は、端末装置３の表示部３３に表示される通知画面４１０の例を示す図である。端末装置３は、実装しているメッセンジャーサービスのアプリを用いて変換装置５から通知を受信し、通知画面４１０を表示する。通知内容は、プロパティ入力画面２５０に設定された内容に基づいており、変換装置５はこの設定内容をシナリオ実行装置１から受信する。最初に変換装置５から送信されたメッセージ４２１は、ウェルカムメッセージ入力フィールド２５４に入力されたウェルカムメッセージの表示である。
【００５３】
メッセージ４２２〜４２８は、設定プロパティ情報入力領域２５６に入力された内容に基づく。変換装置５から送信されたメッセージ４２２は、設定プロパティ情報の１番目に入力された変数名「開始日」の設定値を要求するメッセージである。端末装置３から送信されたメッセージ４２３は、ユーザーが端末装置３に入力した開始日の設定値である。変換装置５から送信されたメッセージ４２４は、設定プロパティ情報の２番目に入力された変数名「終了日」の設定値を要求するメッセージである。端末装置３から送信されたメッセージ４２５は、ユーザーが端末装置３に入力した終了日の設定値である。
【００５４】
変換装置５から送信されたメッセージ４２６は、設定プロパティ情報の３番目に入力された変数名「カテゴリ」の設定値を要求するメッセージである。変数名「カテゴリ」の変数の種別入力フィールド２５６４には「ボタン」が設定されているため、変換装置５は、設定値を選択するためのボタン４２７−１〜４２７−４を表示するための表示データを端末装置３に送信する。ボタン４２７−１〜４２７−４はそれぞれ、表示入力フィールド２５６５に設定された「青果」、「鮮魚」、「精肉」、「すべて」をボタン名として表示する。ユーザーが、端末装置３に表示されたボタン４２７−１〜４２７−４のいずれかを選択すると、端末装置３は、選択されたボタンのボタン名をメッセージ４２８として変換装置５に送信する。
【００５５】
変換装置５は、設定プロパティ情報入力領域２５６に設定された全変数の設定値を受信すると、各変数の設定値を表示して設定内容が正しいかの確認を要求するメッセージ４２９と、設定内容が正しいか否かの応答を入力するためのボタン４３０−１、４３０−２を表示するための表示データを送信する。ユーザーが、端末装置３に表示されたボタン４３０−１、４３０−２のいずれかを選択すると、端末装置３は、選択されたボタンのボタン名をメッセージ４３１として変換装置５に送信する。変換装置５は、設定内容が正しいことが設定された応答を受信し、メッセージ４３２を端末装置３に送信する。メッセージ４３２は、クローズメッセージ入力フィールド２５５に入力されたクローズメッセージの表示である。
【００５６】
なお、上記では、ユーザーインタフェースモジュールとしてユーザー通知モジュールとプロパティ設定モジュールの２種類を用いたが、ユーザー通知モジュールとプロパティ設定モジュールとを一つのユーザーインタフェースモジュールとしてもよい。この場合、ユーザーインタフェースモジュールのプロパティ入力画面は、図７に示すプロパティ入力画面２２０に対し、発話の種類として、例えば、通知及びプロパティ設定を選択するボタンを追加したものを使用することができる。ユーザーが通知及びプロパティ設定を選択した場合、シナリオ実行装置１は、プロパティ入力画面２２０の発話設定領域２２４に代えて、発話設定領域２５３を表示する。
【００５７】
図１２は、シナリオ実行装置１におけるシナリオ生成処理を示すフロー図である。シナリオ実行装置１の作成情報受信部１６１は、処理モジュールの追加が入力されたか否かを判定する（ステップＳ１１０）。例えば、ユーザーは、マウス等の入力部１３により、シナリオ作成画面のライブラリ表示領域２０１に表示される処理モジュールの一覧の中から、追加処理モジュールを選択し、シナリオ作成領域２０２までドラッグする。この場合、作成情報受信部１６１は、選択された追加処理モジュールの情報と、ドラッグの終了位置の情報とを入力部１３から受信し、処理モジュールの追加が入力されたと判定する（ステップＳ１１０：ＹＥＳ）。画面表示制御部１６２は、ドラッグの終了位置に、追加処理モジュールの処理モジュール名を表示する処理シンボルを追加表示する（ステップＳ１１５）。シナリオ作成部１６は、ステップＳ１１０の処理に戻る。
【００５８】
一方、作成情報受信部１６１は、処理モジュールの追加が入力されなかったと判定した場合（ステップＳ１１０：ＮＯ）、プロパティ設定指示が入力されたか否かを判定する（ステップＳ１２０）。例えば、ユーザーは、入力部１３により、プロパティ設定対象の処理モジュールを表す処理シンボルをダブルクリックする。プロパティ設定対象の処理モジュールを、設定対象処理モジュールと記載する。作成情報受信部１６１は、プロパティ設定指示の操作が行われた処理シンボルの情報を入力部１３から受信し、プロパティ設定指示が入力されたと判定する（ステップＳ１２０：ＹＥＳ）。画面表示制御部１６２は、プロパティ設定指示が行われた処理シンボルが表す設定対象処理モジュールのプロパティ入力画面を表示する（ステップＳ１２５）。ユーザーは、プロパティ入力画面に設定対象処理モジュールのプロパティ情報に用いられる各種変数の設定値を入力し、ＯＫボタンを操作する（ステップＳ１３０）。作成情報受信部１６１は、設定対象処理モジュールと、入力された各種変数の設定値を含むプロパティ情報とを対応付けて記憶する。シナリオ作成部１６は、ステップＳ１１０の処理に戻る。
【００５９】
作成情報受信部１６１は、ステップＳ１２０においてプロパティ設定指示が入力されなかったと判定した場合（ステップＳ１２０：ＮＯ）、シナリオ作成終了が入力されたか否かを判定する（ステップＳ１３５）。作成情報受信部１６１は、シナリオ作成終了が入力されなかったと判定した場合（ステップＳ１３５：ＮＯ）、ユーザー操作に応じた処理を行って（ステップＳ１４０）、ステップＳ１１０の処理に戻る。一方、作成情報受信部１６１は、シナリオ作成終了が入力されたと判定した場合（ステップＳ１３５：ＹＥＳ）、シナリオ登録部１６３に処理を指示する。シナリオ登録部１６３は、作成されたシナリオを記述したシナリオファイルを生成して記憶部１２に書き込み、シナリオ生成フローを終了する（ステップＳ１４５）。
【００６０】
なお、上記においては、ライブラリ表示領域２０１に表示される処理モジュールの一覧の中から、追加処理モジュールを選択したが、ユーザー操作モジュールを任意に生成することも可能である。例えば、作成情報受信部１６１は、ユーザーが入力部１３により操作記録開始指示を入力してから操作記録終了指示を入力するまでに入力部１３により行った指示を記録し、記録した内容を実行する処理モジュールを生成する。ユーザーは、この生成された処理モジュールを、追加処理モジュールとして選択可能である。
【００６１】
図１３及び図１４は、シナリオ実行装置１におけるシナリオ実行処理を示すフロー図である。シナリオ実行装置１のシナリオ実行管理部１７は、入力部１３により実行対象のシナリオの情報と、実行開始とが入力されたことを検出する（ステップＳ２１０）。あるいは、シナリオ実行管理部１７は、予め登録していた実行スケジュールが示す実行対象のシナリオの実行タイミングになったことを検出する。読出部１８１は、実行対象のシナリオが記述されたシナリオファイルを記憶部１２から読み出す（ステップＳ２１５）。読出部１８１は、シナリオファイルに記述されている最初の処理モジュールを実行対象モジュールとする（ステップＳ２２０）。
【００６２】
読出部１８１は、シナリオファイルから実行対象モジュールの情報を読み出す（ステップＳ２２５）。実行対象モジュールの情報は、実行対象モジュールの種別と、実行対象モジュールのプロパティ情報の各変数の設定値と、実行対象モジュールの次の実行順の処理モジュールとを含む。判断部１８２は、処理対象モジュールの種別がユーザー操作モジュールであるかユーザーインタフェースモジュールであるかを判断する（ステップＳ２３０）。
【００６３】
判断部１８２は、処理対象モジュールの種別がユーザー操作モジュールであると判断した場合（ステップＳ２３０：ユーザー操作モジュール）、操作制御部１８３に処理を指示する。操作制御部１８３は、処理対象モジュールにより示されるユーザー操作を行うよう入力部１３を制御する（ステップＳ２３５）。
【００６４】
読出部１８１は、処理対象モジュールの次の実行順が終了ノードか否かを判定する（ステップＳ２４０）。読出部１８１は、次の実行順が終了ノードであると判断した場合（ステップＳ２４０：ＹＥＳ）、シナリオの実行を終了する（ステップＳ２４５）。一方、読出部１８１は、次の実行順が終了ノードではないと判断した場合（ステップＳ２４０：ＮＯ）、次の実行順の処理モジュールを新たな実行対象モジュールとし（ステップＳ２５０）、ステップＳ２２５からの処理を繰り返す。
【００６５】
ステップＳ２３０において判断部１８２は、処理対象モジュールの種別がユーザーインタフェースモジュールであると判断した場合（ステップＳ２３０：ユーザーインタフェースモジュール）、通知部１８４に処理を指示する。通知部１８４は、実行対象モジュールのプロパティ情報が示す設定値に従ってユーザーへの通知を設定した通知送信要求を生成する（ステップＳ２５５）。通知部１８４は、生成した通知送信要求を変換装置５に送信する（ステップＳ２６０）。通知部１８４は、ユーザーインタフェースモジュールのプロパティ情報に通知のみが設定されているか否かを判定する（ステップＳ２６５）。通知部１８４は、通知のみが設定されていると判定した場合（ステップＳ２６５：ＹＥＳ）、ステップＳ２４０の処理に進む。ステップＳ２４０において、読出部１８１は、次の実行順が終了ノードか否かを判定する。
【００６６】
一方、通知部１８４は、プロパティ情報にユーザー応答有、又は、通知及びプロパティ設定が設定されている、あるいは、処理対象モジュールがプロパティ設定モジュールである場合、通知のみが設定されていないと判定する（ステップＳ２６５：ＮＯ）。この場合、通知部１８４は、プロパティ情報に設定されている通知間隔が示す時間のタイマを起動する（ステップＳ２７０）。通知部１８４は、応答を受信しない場合（ステップＳ２７５：ＮＯ）、タイマが満了を検出したか否かを判定する（ステップＳ２８０）。通知部１８４が、タイマの満了を検出していないと判定した場合（ステップＳ２８０：ＮＯ）、ステップＳ２７５からの処理を繰り返す。
【００６７】
通知部１８４は、応答を受信した場合（ステップＳ２７５：ＹＥＳ）、図１４の処理を実行する。通知部１８４は、タイマをリセットし、応答を実行制御部１８５に出力する（ステップＳ３１０）。実行制御部１８５は、受信した応答が示す指示内容に対応する後続処理情報を、処理対象モジュールであるユーザーインタフェースモジュールのプロパティ情報から読み出す。実行制御部１８５は、読み出した後続処理情報の種別を判定する（ステップＳ３１５）。
【００６８】
実行制御部１８５は、後続処理情報の種別が保留であると判定した場合、通知部１８４に処理を指示する。通知部１８４は、図１３のステップＳ２７０からの処理を行う。実行制御部１８５は、後続処理情報の種別が指定の処理モジュールの実行であると判定した場合、指定の処理モジュールを次の実行順の処理モジュールとする（ステップＳ３２０）。読出部１８１は、ステップＳ２２５からの処理を行う。
【００６９】
実行制御部１８５は、後続処理情報の種別が変数に値を設定して指定の処理モジュールの実行であると判定した場合、シナリオの実行により得られた変数の値を、応答に設定されている当該変数の値に更新した後（ステップＳ３２５）、ステップＳ３２０の処理を行う。
【００７０】
実行制御部１８５は、後続処理情報の種別が指定のシナリオの実行を示す場合、現在実行中のシナリオの実行を終了し（ステップＳ３３０）、指定のシナリオの開始指示をシナリオ実行管理部１７に出力する（ステップＳ３３５）。シナリオ実行管理部１７は、指定のシナリオについて新たに、図１３及び図１４に示すシナリオ実行処理を開始する。
【００７１】
実行制御部１８５は、後続処理情報の種別がシナリオの実行終了を示す場合、現在実行中のシナリオの実行を終了する（ステップＳ３４０）。
【００７２】
実行制御部１８５は、後続処理情報の種別がプロパティ情報を更新してシナリオ実行継続を示す場合、ステップＳ３４５の処理を行う。なお、実行制御部１８５は、処理対象モジュールがプロパティ設定モジュールであることを、プロパティ情報を更新してシナリオ実行継続を示す後続処理情報であるとみなしてもよい。実行制御部１８５は、応答に設定されているプロパティ情報の変数の設定値により、シナリオ内の処理モジュールに対応付けられたプロパティ情報に含まれる当該変数の設定値を更新する（ステップＳ３４５）。実行制御部１８５は、図１３のステップＳ２４０（又はステップＳ２５０）からの処理を行う。
【００７３】
なお、通知部１８４がステップＳ２８０においてタイマの満了を検出したと判定した場合（ステップＳ２８０：ＹＥＳ）、通知送信要求の送信回数が予め定められた上限に達した場合、あるいは、最初の通知送信要求の送信から所定時間が経過した場合は、シナリオを終了するなど、任意のエラー処理を行ってもよい。
【００７４】
図１５は、ユーザーインタフェースモジュール実行時のシナリオ実行システム１００のシーケンス図である。まず、ユーザー通知モジュール実行時の処理を説明する。シナリオ実行装置１の通知部１８４はユーザー通知モジュールのプロパティ情報に設定された値に従って通知送信要求を生成する（ステップＳ４１０）。通知送信要求には、対象アプリケーションと、通知の送信先と、発話の種類と、ユーザーに通知するメッセージと、ユーザーに通知する変数の変数名及び値と、ユーザー応答用ボタンのボタン番号及びボタン表示名と、ユーザーが設定する変数の変数名とが設定される。例えば、ボタン番号は、ボタン表示名の入力順に付与される。ユーザーに通知するメッセージと、ユーザーに通知する変数の変数名及び値と、ユーザー応答用ボタンのボタン番号及びボタン表示名と、ユーザーが設定する変数の変数名とのうち一部が通知送信要求に設定されてもよい。通知部１８４は、通知送信要求の送信元に、自装置のアドレス情報を設定する。通信部１１は、通知部１８４が生成した通知送信要求を、変換装置５に送信する（ステップＳ４１５）。
【００７５】
変換装置５の通信部５１は、受信した通知送信要求を変換部５３に出力する。変換部５３は、対象アプリケーションが表すネットワークサービスに対応した変換ルールを記憶部５２から読み出す。変換部５３は、シナリオ実行装置１から受信した通知送信要求を、読み出した変換ルールに従って変換し、端末装置３宛てのユーザー通知を生成する（ステップＳ４２０）。ユーザー通知には、通知の送信先と、ユーザーに通知するメッセージと、ユーザーに通知する変数の変数名及び値と、各ボタン表示名のボタンの表示させるためのボタン表示用データと、ユーザーが設定する変数の変数名とが含まれる。なお、ネットワークサービスが電子メールの場合、ボタン表示用データに代えて、ボタン番号とボタン表示名とを対応付けたテキストをユーザー通知に設定する。変換装置５の通信部５１は、生成したユーザー通知をサービス提供装置７に送信する（ステップＳ４２５）。
【００７６】
サービス提供装置７は、受信したユーザー通知を、通知の送信先が示す端末装置３に送信する（ステップＳ４３０）。ユーザーの端末装置３の制御部３２は、通信部３１が受信したユーザー通知を表示部３３に表示する（ステップＳ４３５）。例えば、端末装置３は、図７に示す通知画面４００を表示する。ユーザーは、表示させる内容を確認し、応答が必要な場合には、表示されるボタンのいずれかを入力部３４により選択する（ステップＳ４４０）。制御部３２は、選択されたボタンのボタン番号又はボタン表示名を指示内容として設定した応答を、サービス提供装置７に送信する（ステップＳ４４５）。変数の値の設定が必要な場合、制御部３２は、さらに、ユーザーが入力部３４により入力した変数の値を設定した応答を送信する。サービス提供装置７は、端末装置３から受信した応答を、変換装置５へ送信する（ステップＳ４５０）。なお、電子メールの場合、ユーザーは、ボタン番号や変数の値を指示内容として本文又は件名に記述した電子メールを返信する。サービス提供装置７は、端末装置３から返送された電子メールを、通知に対する応答として変換装置５へ送信する。
【００７７】
変換装置５の通信部５１は、サービス提供装置７から応答を受信する。変換装置５の変換部５３は、通知送信要求の発話種別が通知のみを示す場合、応答を破棄する。変換装置５の変換部５３は、通知送信要求の発話種別が通知及びユーザー応答を示す場合、受信した応答に用いられているネットワークサービスの種別に応じた変換ルールを記憶部５２から読み出す。変換部５３は、変換ルールに従って応答のデータ形式を変換し（ステップＳ４５５）、変換後の応答をシナリオ実行装置１に送信する（ステップＳ４６０）。シナリオ実行装置１の通知部１８４は、通信部３１が受信した応答から指示内容を取得する（ステップＳ４６５）。
【００７８】
上記により、例えば、変換装置５は、シナリオ実行装置１から受信した通知送信要求を元に、チャットインターフェースにより端末装置３に通知を送信する。端末装置３は、チャットインターフェースにより受信した通知を表示し、ユーザーは表示を確認して指示を応答する。チャットインターフェースにより送信された指示内容は、変換装置５宛てに返送され、変換装置５は、指示内容をシナリオ実行装置１に送信する。シナリオ実行装置１は、受信した指示内容に応じた後続処理を実行する。
【００７９】
なお、対象アプリケーションとして電話が選択された場合、変換装置５の変換部５３は、音声合成装置及び音声認識装置とを用いて変換を行う。変換部５３は、変換ルールに従って、通知送信要求に設定されているメッセージと、ユーザーに通知する変数の変数名及び値と、各ボタン番号又はボタン表示名とを、定型文の所定の位置に埋め込んだテキストメッセージを生成する。例えば、ボタン番号「１」のボタン表示名が「シナリオＢを実行」、ボタン番号「２」のボタン表示名が「シナリオＡを終了」であるとする。変換部５３は、「＜シナリオＢを実行＞のときには＜１＞を、＜シナリオＡを終了＞のときには＜２＞を押すか話してください。」のように、定型文にボタン番号及びボタン表示名を＜＞で囲まれた位置に埋め込んでテキストデータを生成する。
【００８０】
変換部５３は、通知送信要求に設定されている端末装置３の電話番号に電話をかける。端末装置３が応答し、変換装置５と端末装置３とが通話状態になると、変換部５３は、テキストメッセージを音声合成して出力する。ユーザーはメッセージを聞くと、端末装置３により指示内容を発話するか、指示内容を表す数字ボタンを押す。変換装置５の変換部５３は、ユーザーの発話内容又はプッシュボタン音を音声認識してテキストの指示内容に変換するか、押されたボタンの番号を信号で受信する。
【００８１】
なお、図１５のステップＳ４２０〜ステップＳ４３５までの処理Ｓ１と、ステップＳ４４０〜ステップＳ４５０までの処理Ｓ２とは必要に応じて繰り返されてもよい。例えば、通知画面４００の内容を、複数回に分けて送信してもよい。
【００８２】
次に、プロパティ設定モジュール実行時の処理を説明する。なお、ユーザー通知モジュール実行時と同様に、シナリオ実行装置１は通信部１１を介して変換装置５とデータを送受信し、変換装置５は通信部５１を介してシナリオ実行装置１及びサービス提供装置７とデータを送受信し、端末装置３は通信部３１を介してサービス提供装置７とデータを送受信するが、以下ではこれらの処理の記載を省略する。
【００８３】
シナリオ実行装置１の通知部１８４はプロパティ設定モジュールのプロパティ情報を設定した通知送信要求を生成する（ステップＳ４１０）。通知送信要求には、対象アプリケーションと、通知の送信先と、通知及びプロパティ設定を示す発話の種類と、ウェルカムメッセージ及びクローズメッセージと、設定プロパティ情報入力領域２５６に入力された各変数の番号、変数名、種別及び表示とが設定される。番号は、設定プロパティ情報入力領域２５６への入力順に付与される。通知部１８４は、通知送信要求の送信元に、自装置のアドレス情報を設定し、変換装置５に送信する（ステップＳ４１５）。
【００８４】
変換装置５の変換部５３は、シナリオ実行装置１から受信した通知送信要求から対象アプリケーションを読み出し、読み出した対象アプリケーションが表すネットワークサービスに対応した変換ルールを記憶部５２から読み出す。変換部５３は、シナリオ実行装置１から受信した通知送信要求を、読み出した変換ルールに従って変換し、端末装置３宛てのユーザー通知を生成する（ステップＳ４２０）。まず、変換部５３は、ウェルカムメッセージを設定した端末装置３宛てのユーザー通知を生成し、サービス提供装置７に送信する（ステップＳ４２５）。サービス提供装置７は、受信したユーザー通知を、ユーザー通知の送信先が示す端末装置３に送信する（ステップＳ４３０）。端末装置３の制御部３２は、サービス提供装置７から受信したユーザー通知を表示部３３に表示する（ステップＳ４３５）。例えば、表示部３３に、メッセージ４２１（図１１）が表示される。
【００８５】
次に、変換装置５の変換部５３は、番号１の変数の変数名を表示し、その変数の設定値の送信を要求するメッセージを設定した端末装置３宛てのユーザー通知を生成し（ステップＳ４２０）、サービス提供装置７に送信する（ステップＳ４２５）。サービス提供装置７は、受信したユーザー通知を、ユーザー通知の送信先が示す端末装置３に送信する（ステップＳ４３０）。端末装置３の制御部３２は、サービス提供装置７から受信したユーザー通知を表示部３３に表示する（ステップＳ４３５）。例えば、表示部３３に、メッセージ４２２（図１１）が表示される。
【００８６】
ユーザーは、表示部３３に表示された内容に従い設定値を入力し、送信操作を行う（ステップＳ４４０）。制御部３２は、入力された設定値を設定した応答を送信する（ステップＳ４４５）。サービス提供装置７は、端末装置３から受信した応答を、変換装置５へ送信する（ステップＳ４５０）。
【００８７】
変換装置５の変換部５３は、応答を受信すると、通知送信要求に含まれる設定対象の変数のうち、設定値を受信していない変数があるか否かを判断する。変換部５３は、設定値を受信していない変数があると判断した場合、次の番号の変数について、番号１の変数と同様のユーザー通知を生成し（ステップＳ４２０）、サービス提供装置７に送信する（ステップＳ４２５）。
【００８８】
なお、変換部５３は、変数にボタンを示す種別及び表示が付加されている場合、各表示が示すテキストをボタン名としてボタンを表示するためのボタン表示用データを生成する。変換部５３は、ユーザー通知に生成したボタン表示用データを付加して送信する。これにより、例えば、端末装置３の制御部３２は、メッセージ４２６及びボタン４２７−１〜４２７−４（図１１）を表示部３３に表示する。ユーザーがいずれかのボタンを選択すると（ステップＳ４４０）、制御部３２は、選択されたボタンの表示名又はそのボタンの識別情報を設定した応答を送信する（ステップＳ４４５）。
【００８９】
変換装置５の変換部５３は、サービス提供装置７から応答を受信し、通知送信要求に含まれる全ての設定対象の変数の設定値を受信したと判断した場合、設定値の確認のためのユーザー通知を生成する（ステップＳ４２０）。例えば、変換部５３は、受信した各変数の設定値を表示し、設定内容が正しいかの確認を要求するメッセージを含んだ端末装置３宛てのユーザー通知を生成し、サービス提供装置７へ送信する（ステップＳ４２５）。なお、変換部５３は、ユーザー通知に、設定内容が正しいか否かの応答を入力するためのボタンを表示するためのボタン表示用データを付加して送信してもよい。サービス提供装置７は、受信したユーザー通知を、通知の送信先が示す端末装置３に送信する（ステップＳ４３０）。ユーザーの端末装置３の制御部３２は、サービス提供装置７から受信したユーザー通知を表示部３３に表示する（ステップＳ４３５）。例えば、表示部３３に、メッセージ４２４及びボタン４３０−１、４３０−２（図１１）が表示される。
【００９０】
ユーザーは、表示部３３に表示された内容に従い、端末装置３に確認結果を入力する（ステップＳ４４０）。制御部３２は、入力された確認結果を設定した応答を送信する（ステップＳ４４５）。例えば、確認結果は、ユーザーが選択したボタンを特定する情報である。サービス提供装置７は、端末装置３から受信した応答を、変換装置５へ送信する（ステップＳ４５０）。
【００９１】
変換装置５の変換部５３は、設定値が正しいことを示す確認結果が設定された応答を受信すると、クローズメッセージを設定した端末装置３宛てのユーザー通知を生成し（ステップＳ４２０）、サービス提供装置７に送信する（ステップＳ４２５）。サービス提供装置７は、受信したユーザー通知を、通知の送信先が示す端末装置３に送信する（ステップＳ４３０）。ユーザーの端末装置３の制御部３２は、サービス提供装置７から受信したユーザー通知を表示部３３に表示する（ステップＳ４３５）。例えば、表示部３３に、メッセージ４３２（図１１）が表示される。
【００９２】
さらに、変換装置５の変換部５３は、変換ルールに従ってデータ形式を変換することにより、サービス提供装置７から受信した応答から取得した各変数の設定値が設定された応答を生成し（ステップＳ４５５）、シナリオ実行装置１に送信する（ステップＳ４６０）。シナリオ実行装置１の通知部１８４は、受信した応答から指示内容として各変数の設定値を取得する（ステップＳ４６５）。
【００９３】
上記により、例えば、変換装置５は、シナリオ実行装置１から受信した通知送信要求を元に、チャットインターフェースにより端末装置３からプロパティ情報の設定値を受信する。変換装置５は、端末装置３から受信したプロパティ情報の設定値をシナリオ実行装置１に送信する。シナリオ実行装置１は、受信したプロパティ情報の設定値を用いて、シナリオを実行する。
【００９４】
なお、電子メールの場合、変換装置５の変換部５３は、通知送信要求から読み出したウェルカムメッセージと、各変数の変数名の一覧と、変数名にボタン及び表示が付けられている場合にはその表示とを含んだ電子メールをユーザー通知として設定する。ユーザーは、端末装置３から各変数の値を記述した電子メールを返信する。サービス提供装置７は、端末装置３から返送された電子メールを、通知に対する応答として変換装置５へ送信する。
【００９５】
また、対象アプリケーションとして電話が選択された場合、変換装置５の変換部５３は、通知送信要求に設定されている端末装置３の電話番号に電話をかける。端末装置３が応答し、変換装置５と端末装置３とが通話状態になると、変換部５３は、上述したユーザー通知の内容を音声合成して出力する。ユーザーはメッセージを聞くと、端末装置３により上述した設定値を発話する。変換装置５の変換部５３は、ユーザーの発話内容を音声認識して設定値を得る。
【００９６】
なお、シナリオ実行システム１００は、シナリオ実行装置１がユーザー通知モジュールを実行することにより、ユーザーの端末装置３から変数の設定値を受信するための処理を、シナリオ実行装置１がプロパティ設定モジュールを実行することにより、プロパティ情報の各変数の設定値を受信するときの処理と同様に行ってもよい。
【００９７】
また、シナリオ実行装置１と端末装置３とが同一の装置であってもよい。シナリオ実行装置１と端末装置３とが同一の装置の場合、シナリオ実行装置１が、ネットワーク９を介した装置間のデータの送受信の機能を除き、チャットサービスに関する変換装置５の機能及びサービス提供装置７の機能を有してもよい。この場合、シナリオ実行装置１は、ネットワーク９を介することなく、ユーザーのへの通知及び通知に対するユーザーからの応答の受信を行うことができる。また、シナリオ実行装置１と端末装置３とが同一の装置であり、かつ、シナリオ実行装置１が音声合成装置及び音声認識装置を利用した変換装置５の変換部５３の機能を有する場合、シナリオ実行装置１は、ネットワーク９を介することなく、ユーザーのへの音声による通知及びユーザーの発話による応答の受信を行うことができる。
【００９８】
以上説明した実施形態によれば、シナリオ実行装置が自動化ツールのシナリオの実行途中においてシナリオの実行に関するユーザーの指示を受け、指示に従って後続の処理を行うことができる。
【００９９】
例えば、ユーザー通知モジュールの実行順をシナリオの終了ノードの直前としたり、シナリオにおいてエラーが発生したときのルートにユーザー通知モジュールを配置したりすることで、シナリオの実行完了や、エラーの発生をユーザーに通知することができる。例えば、ユーザーは、別の場所で業務を行っている間や、出張などで外出している間に、シナリオ実行装置にシナリオを実行させることで、効率的に業務を遂行することができる。しかし、従来、次のシナリオを実行させるために現在実行中のシナリオの実行が終了したことや、シナリオの実行が何らかの原因により中断したことを知るためには、実際にユーザーがシナリオ実行装置を確認する必要があった。そのため、別の場所で業務を行っているユーザーが頻繁にシナリオ実行装置を確認しに行ったり、シナリオ実行装置の前で監視を行ったりしていた。また、ユーザーは、出張前に実行を指示したシナリオがエラー発生によって中断したことを帰社するまで知ることができないこともあった。
【０１００】
本実施形態のシナリオ実行装置によれば、シナリオ実行が完了したことや、シナリオの実行中に何等かの原因により中断したことなどを、ユーザーに通知することが可能になる。よって、ユーザーは、シナリオ実行装置のシナリオ実行状態を頻繁に確認するような監視を行う必要ない。また、通知を受けたユーザーは、遠隔でシナリオ実行装置に作業の指示を行うことにより、シナリオ実行装置の動作を制御することが可能になる。従って、ユーザーは、時間と場所に縛られることなく自身の業務を行いながら、シナリオ実行装置に自動で作業を行わるせることができるため、従来よりも効果的に業務の効率化を図ることが可能となる。
【０１０１】
また、ユーザーは、同じシナリオであっても、プロパティ情報を変更してからシナリオ実行装置に実行させる場合がある。従来は、シナリオ実行装置が表示するプロパティ入力画面に直接プロパティ情報の設定値を入力するか、シナリオ実行時にテキストファイルなどに入力した設定値をシナリオ実行装置が読み取っていた。この場合、ユーザーは、意識してプロパティ情報の設定を変更する必要があり、直感的にプロパティ情報を変更し、シナリオを実行させることは困難であった。本実施形態のシナリオ実行装置によれば、シナリオの冒頭にプロパティ設定モジュールを配置することにより、シナリオ実行時に、ローカル環境であるユーザーの端末装置にチャットウィンドを表示し、対話形式で確認しながらプロパティ情報の設定内容を変更することも可能となる。このように、ユーザー対話形式で確認を行いながらプロパティ情報を設定することができるため、ＲＰＡに関するスキルが高くないユーザーであっても、直感的にプロパティ情報を設定し、設定誤りを低減してシナリオを実行させることが可能になる。
【０１０２】
上記においては、ユーザーは、シナリオ実行装置１を用いてシナリオを生成しているが、シナリオ実行装置１とは異なるＰＣなどのシナリオ作成装置（情報処理装置）を用いてシナリオを作成してもよい。この場合、シナリオ作成装置は、入力部１３、表示部１４、シナリオ作成部１６を備え、さらに通信部１１及びシナリオ実行管理部１７等の他の機能部を備えてもよい。
【０１０３】
上述した実施形態におけるシナリオ実行装置１、端末装置３、変換装置５及びサービス提供装置７の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１０４】
以上説明した実施形態によれば、シナリオ実行装置は、入力部と、機能実行部と、記憶部と、読出部と、判断部と、操作制御部と、通知部と、実行制御部とを備える。入力部は、ユーザー操作を入力する。機能実行部は、入力部によるユーザー操作に従って所定の機能を実行する。機能実行部は、例えば、機能Ａ実行部１９ａ、機能Ｂ実行部１９ｂ、機能Ｃ実行部１９ｃである。記憶部は、ユーザー操作モジュール又はユーザーインタフェースモジュールである１以上の処理モジュールと、それら処理モジュールの実行順とを示すシナリオファイルを記憶する。ユーザー操作モジュールは、機能実行部に対するユーザー操作を表す。ユーザーインタフェースモジュールは、ユーザーへの通知及びユーザーからの応答の受信を行うインタフェースの利用を表す。読出部は、実行対象のシナリオファイルから実行順に処理モジュールを読み出す。判断部は、読出部が読み出した処理モジュールがユーザー操作モジュールであるかユーザーインタフェースモジュールであるかを判断する。操作制御部は、判断部がユーザー操作モジュールであると判断した場合、当該ユーザー操作モジュールにより示されるユーザー操作を行うよう入力部を制御する。通知部は、判断部がユーザーインタフェースモジュールであると判断した場合、ユーザーインタフェースモジュールにより示されるユーザーへの通知を行う。通知は、実行対象のシナリオファイルの実行により当該通知の送信前に得られた変数の値を含んでもよい。実行制御部は、通知部による通知に対応して受信した応答に基づいてシナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う。
【０１０５】
ユーザーインタフェースモジュールは、指示内容と、シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を表す後続処理情報とを対応付けた情報を含んでもよい。実行制御部は、受信した応答が示す指示内容に対応してユーザーインタフェースモジュールに設定されている後続処理情報に従って、シナリオファイルの実行の継続又は終了あるいは他のシナリオファイルの実行を行う。後続処理情報は、シナリオファイルの実行の継続の場合は次に実行する処理モジュールの情報を含んでもよい。
【０１０６】
実行制御部は、ユーザーインタフェースモジュールに通知のみなど、応答を受信しない旨の情報が設定されている場合、通知部が通知を行った後、シナリオファイルの実行を継続する。
【０１０７】
応答は、変数の設定値を含んでもよい。実行制御部は、シナリオファイルの実行により通知の送信前に得られた変数の値を、受信した応答に含まれる当該変数の設定値に更新し、更新された当該変数を用いて実行対象のシナリオファイルの実行を継続する。
【０１０８】
また、応答は、処理モジュールに関する設定を表すプロパティ情報の設定値を含んでもよい。実行制御部は、実行対象のシナリオファイルの実行を継続する場合、受信した応答に含まれるプロパティ情報の設定値を用いてシナリオファイルに含まれる処理モジュールを実行する。
【０１０９】
通知部による通知は、変換装置によってデータ形式が変換された後に、ユーザーの端末装置に送信される。実行制御部は、端末装置から返送され、変換装置によってデータ形式が変換された応答を受信する。変換装置は、例えば、チャット、電子メール、又は、電話により端末装置への通知の送信と端末装置からの応答の受信とを行う。
【０１１０】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１１１】
１…シナリオ実行装置，  ３…端末装置，  ５…変換装置，  ７…サービス提供装置，  ９…ネットワーク，  １１…通信部，  １２…記憶部，  １３…入力部，  １４…表示部，  １５…処理部，  １６…シナリオ作成部，  １７…シナリオ実行管理部，  １８…シナリオ実行部，  １９ａ…機能Ａ実行部，  １９ｂ…機能Ｂ実行部，  １９ｃ…機能Ｃ実行部，  ３１…通信部，  ３２…制御部，  ３３…表示部，  ３４…入力部，  ５１…通信部，  ５２…記憶部，  ５３…変換部，  １００…シナリオ実行システム，  １６１…作成情報受信部，  １６２…画面表示制御部，  １６３…シナリオ登録部，  １８１…読出部，  １８２…判断部，  １８３…操作制御部，  １８４…通知部，  １８５…実行制御部
【要約】
【課題】自動化ツールのシナリオの実行途中においてシナリオの実行に関するユーザーの指示を受ける。
【解決手段】シナリオ実行装置の機能実行部は、ユーザー操作に従って所定の機能を実行する。読出部は、機能実行部に対するユーザー操作を表すユーザー操作モジュール、又は、ユーザーへの通知及び応答の受信を行うインタフェースの利用を表すユーザーインタフェースモジュールである処理モジュールと、処理モジュールの実行順とを示すシナリオファイルから実行順に処理モジュールを読み出す。ユーザー操作モジュールが読み出された場合、操作制御部は、当該ユーザー操作モジュールが示すユーザー操作を行うよう入力部を制御する。ユーザーインタフェースモジュールが読み出された場合、通知部は、当該ユーザーインタフェースモジュールが示すユーザーへの通知を行い、実行制御部は、受信した応答に基づいてシナリオファイルの実行の継続又は中止を行う。
【選択図】図２【図１】
0006802893.tif 000002
【図２】
0006802893.tif 000003
【図３】
0006802893.tif 000004
【図４】
0006802893.tif 000005
【図５】
0006802893.tif 000006
【図６】
0006802893.tif 000007
【図７】
0006802893.tif 000008
【図８】
0006802893.tif 000009
【図９】
0006802893.tif 000010
【図１０】
0006802893.tif 000011
【図１１】
0006802893.tif 000012
【図１２】
0006802893.tif 000013
【図１３】
0006802893.tif 000014
【図１４】
0006802893.tif 000015
【図１５】
0006802893.tif 000016