(57)【要約】      （修正有）【課題】複数のデバイスを連携させる場合の状態遷移にかかる負荷を低減する。【解決手段】状態遷移処理装置１０は、状態遷移系の遷移条件を満たした場合のインタラクション記述を含むアクションと遷移状態とを記憶する記憶装置１３と、アクションとして送信されたイベントと遷移条件とに基づいて遷移の要否を判定した場合にアクションの指示を出力する状態遷移管理部１２と、指示に基づいて遷移条件で示されるアクションを実行する処理実行部１５とを有する。状態遷移管理部１２は、複数の状態遷移系をグループ化したシーンに含まれる、遷移が必要と判定された状態遷移系に設定されたインタラクション記述を記憶装置１３より読み出し、指示として出力し、処理実行部１５は、シーン毎にシーン切り替えによる遷移条件とアクションの有効無効を切り替え、アクションが無効の場合は切り替え前のシーンにおけるアクションを中断する。【選択図】図１
2019133668.tif 000002
【特許請求の範囲】
【請求項１】
状態遷移系の遷移条件と前記遷移条件を満たした場合の状態遷移系に係るインタラクション記述を含むアクションと、遷移状態とを少なくとも記憶する記憶部と、
少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定した場合に、前記アクションの指示を出力する状態遷移管理部と、
前記指示に基づいて前記記憶部に記憶される前記遷移条件で示されるアクションを実行する処理実行部と
を有し、
複数の状態遷移系をグループ化したシーンが設定され、
前記状態遷移管理部は、
前記シーンに含まれる状態遷移系のうち遷移が必要と判定された状態遷移系に係るインタラクション記述を前記記憶部より読み出し、前記アクションの指示として出力し、
前記処理実行部は、
前記指示に基づいて前記シーンを切り替え、シーン毎に前記シーンの切り替えによる遷移条件とアクションの有効無効を切り替え、
前記シーンの切り替えによるアクションが無効の場合は前記切り替え前のシーンにおけるアクションを中断する、
ことを特徴とする状態遷移処理装置。
【請求項２】
前記処理実行部は、
前記シーンの切り替えによる遷移条件とアクションの有効無効の切り替えにおいて、前記シーンとして設定された状態遷移系について、初期状態に戻すか、状態を保持するかを選択する、
ことを特徴とする請求項１に記載の状態遷移処理装置。
【請求項３】
前記シーンには設定されていない、常に動作するインタラクション記述に対応する条件が前記記憶部に記憶され、
前記状態遷移管理部は、
前記シーンの遷移後のアクションとして、前記条件を前記記憶部から読み出し、前記アクションの指示として出力する、
ことを特徴とする請求項１に記載の状態遷移処理装置。
【請求項４】
状態遷移系の遷移条件と、前記遷移条件を満たした場合のアクションと、前記アクションに関するデータと、遷移状態とを記憶する記憶部と、
少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定し、前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記アクションの指示を出力する状態遷移管理部と、
前記指示に基づいて、前記記憶部に記憶される前記遷移条件で示されるアクションを実行する処理実行部と
を有し、
前記状態遷移管理部は、
外部に送信するイベントとして前記記憶部に定義された、前記センサまたは状態遷移系からのイベントを受信していた場合に、このイベントに関わるデータを前記記憶部に記憶し、
前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記記憶部に記憶されるデータを、外部に送信するイベントに関わるデータとして読み出す、
ことを特徴とする状態遷移処理装置。
【請求項５】
前記状態遷移管理部は、
外部へのイベントのパラメータとして、既に外部から受信したイベントに含まれるパラメータを指定する、
ことを特徴とする請求項４に記載の状態遷移処理装置。
【請求項６】
状態遷移系の遷移条件と前記遷移条件を満たした場合の状態遷移系に係るインタラクション記述を含むアクションと、遷移状態とを少なくとも記憶する記憶部を有する状態遷移処理装置に適用される方法であって、
少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定した場合に、前記アクションの指示を出力し、
前記指示に基づいて前記記憶部に記憶される前記遷移条件で示されるアクションを実行し、
複数の状態遷移系をグループ化したシーンが設定され、
前記シーンに含まれる状態遷移系のうち遷移が必要と判定された状態遷移系に係るインタラクション記述を前記記憶部より読み出し、前記アクションの指示として出力し、
前記指示に基づいて前記シーンを切り替え、シーン毎に前記シーンの切り替えによる遷移条件とアクションの有効無効を切り替え、
前記シーンの切り替えによるアクションが無効の場合は前記切り替え前のシーンにおけるアクションを中断する、
ことを特徴とする状態遷移処理方法。
【請求項７】
状態遷移系の遷移条件と、前記遷移条件を満たした場合のアクションと、前記アクションに関するデータと、遷移状態とを記憶する記憶部を有する状態遷移処理装置に適用される方法であって、
少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定し、前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記アクションの指示を出力し、
前記指示に基づいて、前記記憶部に記憶される前記遷移条件で示されるアクションを実行し、
外部に送信するイベントとして前記記憶部に定義された、前記センサまたは状態遷移系からのイベントを受信していた場合に、このイベントに関わるデータを前記記憶部に記憶し、
前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記記憶部に記憶されるデータを、外部に送信するイベントに関わるデータとして読み出す、
ことを特徴とする状態遷移処理方法。
【請求項８】
請求項１乃至３のいずれか１項に記載の状態遷移処理装置の一部分として動作するコンピュータに用いられるプログラムであって、
前記コンピュータを、
前記記憶部、前記状態遷移管理部および前記処理実行部
として機能させるための状態遷移処理プログラム。
【請求項９】
請求項４又は５に記載の状態遷移処理装置の一部分として動作するコンピュータに用いられるプログラムであって、
前記コンピュータを、
前記記憶部、前記状態遷移管理部および前記処理実行部
として機能させるための状態遷移処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、状態遷移処理装置、状態遷移処理方法、状態遷移処理プログラムに関する。
【背景技術】
【０００２】
現在、受付等の一部の接客業務や、介護予防などの分野で、サービスロボットを使ったサービスが徐々に広まりつつある。しかしながら、単体のロボットにできる事には限界があり、各種センサやスマートフォンやタブレットと言ったガジェット、Webサービスや業務システムなど、各種デバイス／サービスとロボットが連携する事で、より広い範囲で、より高度なサービスを実現する事ができる。
【０００３】
複数のデバイス（例えばロボット、センサ、ガジェット、Webサービス、業務システム）を連携させるアプリケーションを実現するためには、通信効率やリアルタイム性の問題から、デバイスの連携をイベントベースで行う事が考えられる。
【０００４】
イベントベースのシステム上で動作するアプリケーションの記述には、その特性やGUIとの親和性等から状態遷移系を用いる事が考えられる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】転倒転落事故の予防を目的とした見守りベッドシステム,茂木  学,松村  成宗,山田  智広,武藤  伸洋,金丸  直義,下倉  健一朗,阿部  匡伸,大久保  由美子,森田  佳子,葛西  圭子,山元  友子,落合  慈, 電子情報通信学会論文誌  D Vol.J94-D p.1024-1038 2011
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のデバイスを連携させる場合、何らかの事象が発生してから一定時間後に何かを実行する、等の時間的な遅延が必要となる場合がある。
【０００７】
状態遷移系を用いて上記のような動作を記述する場合、遅延処理のために状態を増やす必要があり、状態遷移系が煩雑となり、開発者の負担が大きくなると共に、実行する情報処理システムの処理負荷も増大する。
【０００８】
本発明の目的は、複数のデバイスを連携させる場合の状態遷移にかかる負荷を低減することができる状態遷移処理装置、状態遷移処理方法、状態遷移処理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、この発明の実施形態における状態遷移処理装置の第１の態様は、状態遷移系の遷移条件と前記遷移条件を満たした場合の状態遷移系に係るインタラクション記述を含むアクションと、遷移状態とを少なくとも記憶する記憶部と、少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定した場合に、前記アクションの指示を出力する状態遷移管理部と、前記指示に基づいて前記記憶部に記憶される前記遷移条件で示されるアクションを実行する処理実行部とを有し、複数の状態遷移系をグループ化したシーンが設定され、前記状態遷移管理部は、前記シーンに含まれる状態遷移系のうち遷移が必要と判定された状態遷移系に係るインタラクション記述を前記記憶部より読み出し、前記アクションの指示として出力し、前記処理実行部は、前記指示に基づいて前記シーンを切り替え、シーン毎に前記シーンの切り替えによる遷移条件とアクションの有効無効を切り替え、前記シーンの切り替えによるアクションが無効の場合は前記切り替え前のシーンにおけるアクションを中断する装置を提供する。
【００１０】
上記構成の状態遷移処理装置の第２の態様は、第１の態様において、前記処理実行部は、前記シーンの切り替えによる遷移条件とアクションの有効無効の切り替えにおいて、前記シーンとして設定された状態遷移系について、初期状態に戻すか、状態を保持するかを選択する装置を提供する。
【００１１】
上記構成の状態遷移処理装置の第３の態様は、第１の態様において、前記シーンには設定されていない、常に動作するインタラクション記述に対応する条件が前記記憶部に記憶され、前記状態遷移管理部は、前記シーンの遷移後のアクションとして、前記条件を前記記憶部から読み出し、前記アクションの指示として出力する装置を提供する。
【００１２】
この発明の実施形態における状態遷移処理装置の第４の態様は、状態遷移系の遷移条件と、前記遷移条件を満たした場合のアクションと、前記アクションに関するデータと、遷移状態とを記憶する記憶部と、少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定し、前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記アクションの指示を出力する状態遷移管理部と、前記指示に基づいて、前記記憶部に記憶される前記遷移条件で示されるアクションを実行する処理実行部とを有し、前記状態遷移管理部は、外部に送信するイベントとして前記記憶部に定義された、前記センサまたは状態遷移系からのイベントを受信していた場合に、このイベントに関わるデータを前記記憶部に記憶し、前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記記憶部に記憶されるデータを、外部に送信するイベントに関わるデータとして読み出す装置を提供する。
上記構成の状態遷移処理装置の第５の態様は、第４の態様において、前記状態遷移管理部は、外部へのイベントのパラメータとして、既に外部から受信したイベントに含まれるパラメータを指定する装置を提供する。
【００１３】
本発明の実施形態における状態遷移処理方法の第１の態様は、状態遷移系の遷移条件と前記遷移条件を満たした場合の状態遷移系に係るインタラクション記述を含むアクションと、遷移状態とを少なくとも記憶する記憶部を有する状態遷移処理装置に適用される方法であって、少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定した場合に、前記アクションの指示を出力し、前記指示に基づいて前記記憶部に記憶される前記遷移条件で示されるアクションを実行し、複数の状態遷移系をグループ化したシーンが設定され、前記シーンに含まれる状態遷移系のうち遷移が必要と判定された状態遷移系に係るインタラクション記述を前記記憶部より読み出し、前記アクションの指示として出力し、前記指示に基づいて前記シーンを切り替え、シーン毎に前記シーンの切り替えによる遷移条件とアクションの有効無効を切り替え、前記シーンの切り替えによるアクションが無効の場合は前記切り替え前のシーンにおけるアクションを中断する方法を提供する。
本発明の実施形態における状態遷移処理方法の第２の態様は、状態遷移系の遷移条件と、前記遷移条件を満たした場合のアクションと、前記アクションに関するデータと、遷移状態とを記憶する記憶部を有する状態遷移処理装置に適用される方法であって、少なくとも１つのセンサまたは状態遷移系がアクションとして送信したイベントと前記遷移条件とに基づいて第１の遷移状態から第２の遷移状態への遷移の要否を判定し、前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記アクションの指示を出力し、前記指示に基づいて、前記記憶部に記憶される前記遷移条件で示されるアクションを実行し、外部に送信するイベントとして前記記憶部に定義された、前記センサまたは状態遷移系からのイベントを受信していた場合に、このイベントに関わるデータを前記記憶部に記憶し、前記第１の遷移状態から前記第２の遷移状態への遷移を要すると判定した場合に、前記記憶部に記憶されるデータを、外部に送信するイベントに関わるデータとして読み出す方法を提供する。
【００１４】
本発明の実施形態における状態遷移処理プログラムの第１の態様は、第１乃至第３の態様のいずれか１つにおける状態遷移処理装置の一部分として動作するコンピュータに用いられるプログラムであって、前記コンピュータを、前記記憶部、前記状態遷移管理部および前記処理実行部として機能させるためのプログラムを提供する。
本発明の実施形態における状態遷移処理プログラムの第２の態様は、第４又は第５の態様における状態遷移処理装置の一部分として動作するコンピュータに用いられるプログラムであって、前記コンピュータを、前記記憶部、前記状態遷移管理部および前記処理実行部として機能させるためのプログラムを提供する。
【発明の効果】
【００１５】
本発明によれば、複数のデバイスを連携させる場合の状態遷移にかかる負荷を低減することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態における状態遷移装置の機能構成例を示す図。
【図２】本発明の第１の実施形態における状態遷移装置による遅延処理の第１の例について説明する図。
【図３】本発明の第１の実施形態における状態遷移装置による遅延処理の第２の例について説明する図。
【図４】本発明の第３の実施形態における状態遷移装置による状態遷移の管理の一例について説明する図。
【図５】本発明の第３の実施形態における状態遷移装置による状態遷移の管理の一例について説明する図。
【図６】本発明の第４の実施形態における状態遷移装置による状態遷移編集画面の一例について説明する図。
【図７】本発明の第４の実施形態における状態遷移装置によるイベント管理画面の一例について説明する図。
【図８】本発明の第４の実施形態における状態遷移装置によるデバイス選択画面の一例について説明する図。
【図９】本発明の第４の実施形態における状態遷移装置によるイベント選択画面の一例について説明する図。
【図１０】本発明の第５の実施形態における状態遷移装置の、ネットワーク接続機能について説明する図。
【発明を実施するための形態】
【００１７】
以下、この発明に係わる実施形態を説明する。  
（第１の実施形態）
まず、第１の実施形態について説明する。図１は、本発明の第１の実施形態における状態遷移装置の機能構成例を示す図である。第１の実施形態では、状態遷移の遅延、および状態遷移後のアクション（イベント送信など）の遅延が可能な状態遷移処理装置について説明する。
【００１８】
図１に示すように、第１の実施形態における状態遷移処理装置は、複数のセンサからの信号を受け、特定のデバイスのモードなどを意味する遷移状態を管理し、複数のセンサから供給される検出信号の受信タイミング、複数の検出信号が複数である場合における受信信号の個数、受信信号の検出順序、各信号の時間差などに基づいて、状態の遷移の要否を判定し、この判定した遷移状態に応じて出力信号を出力するものであり、このような機能をもつ装置であればよい。その装置の一例を以下に示す。
【００１９】
状態遷移処理装置１０は、動作判定部１１、状態遷移管理部１２、記憶装置１３、計時部１４、処理実行部１５を有する。動作判定部１１は、各センサ２０からの信号を検出し、この検出結果がセンサ２０の所定の条件を満たした場合の、外部のイベントの判定を行なう。状態遷移管理部１２は、動作判定部１１による判定結果に応じて、所定のデバイスの状態遷移を管理する。
【００２０】
記憶装置１３は、例えば不揮発性メモリなどの記憶装置であり、条件記憶部１３ａおよび遷移状態記憶部１３ｂを有する。条件記憶部１３ａは、状態遷移管理部１２による状態遷移の管理に関する条件や状態遷移に伴う外部装置３０に対する処理の条件などを記憶する。遷移状態記憶部１３ｂは、状態遷移管理部１２により管理する遷移状態の情報を記憶する。計時部１４は、所定のタイミングからの経過時間を計時する。処理実行部１５は、状態遷移管理部１２により管理する、遷移後の遷移状態に応じて、外部装置３０に対する所定の指示を行うことで、遷移後の遷移状態に応じた動作を制御する。
【００２１】
次に、第１の実施形態における状態遷移装置による、状態遷移の条件として、所定の条件を満たしてから別の状態に遷移するまでの遅延時間を指定する形態について説明する。図２は、本発明の第１の実施形態における状態遷移装置による遅延処理の第１の例について説明する図である。  
ここでは、状態Ａから状態Ｂ、状態Ｃ、状態Ｄへの状態遷移において、例えば以下の（１−ａ）〜（１−ｃ）を状態遷移の条件として記憶装置１３の条件記憶部１３ａに記憶する。
【００２２】
（１−ａ）状態Ａから状態Ｂへの状態遷移にかかる動作の条件（遷移条件と称することがある）、この条件を満たしてから状態Ｂへの状態遷移までの遅延時間
（１−ｂ）状態Ａから状態Ｃへの状態遷移にかかる動作の条件、この条件を満たしてから状態Ｃへの状態遷移までの遅延時間
（１−ｃ）状態Ａから状態Ｄへの状態遷移までの遅延時間
上記の動作の条件は、例えば外部からのイベント受信などである。また、上記の遅延に関する別の状態を定義する必要はない。
【００２３】
上記の（１−ａ）としては、例えば以下が挙げられる。以下の遷移条件と遅延指定の両方を満たしたときに状態Ａから状態Ｂへの遷移の条件が満たされる。
【００２４】
（１−ａ）の遷移条件：外部からイベントＸとイベントＹを両方受信（センサ２０により検出）
（１−ａ）の遅延指定：イベントＸとイベントＹの受信後、１０秒経過で状態Ｂへ遷移
この（１−ａ）に従う処理として、状態遷移処理装置１０の動作判定部１１がセンサ２０の検出結果に応じて判定した動作が、外部からイベントＸとイベントＹを両方受信した動作に対応する動作であった場合、状態遷移管理部１２は、イベントＸとイベントＹを両方受信した動作に関わる条件、つまり、上記の（１−ａ）で示される条件を条件記憶部１３ａから検索して読み出すことで、状態Ａから状態Ｂへの遷移を要すると判定する。そして、計時部１４により１０秒計時した場合に、状態遷移管理部１２は、遷移状態が状態Ａから状態Ｂに遷移したことを示す情報を遷移状態記憶部１３ｂに書き込む。
【００２５】
上記の（１−ｂ）としては、例えば以下が挙げられる。以下の遷移条件と遅延指定の両方を満たしたときに状態Ａから状態Ｃへの遷移の条件が満たされる。
【００２６】
（１−ｂ）の遷移条件：外部からイベントＺを受信し、（センサ２０により検出）
（１−ｂ）の遅延指定：イベントＺを受信して、即時で状態Ｃに遷移
この（１−ｂ）に従う処理として、状態遷移処理装置１０の動作判定部１１がセンサ２０の検出結果に応じて判定した動作が、外部からイベントＺを両方受信した動作に対応する動作であった場合、状態遷移管理部１２は、イベントＺを受信した動作に関わる遷移条件、つまり、上記の（１−ｂ）で示される条件を条件記憶部１３ａから検索して読み出すことで、状態Ａから状態Ｃへの遷移を要すると判定する。  
そして、状態遷移管理部１２は、管理する遷移状態を状態Ａから状態Ｃに即時に変更し、この変更を示す情報を遷移状態記憶部１３ｂに書き込む。
【００２７】
上記の（１−ｃ）としては、例えば以下が挙げられる。以下の遷移条件と遅延指定の両方を満たしたときに状態Ａから状態Ｄへの遷移の条件が満たされる。
【００２８】
（１−ｃ）の遷移条件：イベントの受信の条件なし（現在の状態が状態Ａ）
（１−ｃ）の遅延指定：３０秒経過で状態Ｄに遷移
この（１−ｃ）は、所定の状態に遷移するまでの時間が指定され、イベントの受信などは条件としないタイムアウト処理のための条件に対応する。つまり別の状態から状態Ａへ遷移してから上記の３０秒経過時に状態Ｄへの遷移が指定される。
【００２９】
この（１−ｃ）に従う処理として、状態遷移管理部１２は、現在の状態Ａに関わる遷移条件、つまり、上記の（１−ｃ）で示される条件を条件記憶部１３ａから検索して読み出すことで、状態Ａから状態Ｄへの遷移を要すると判定する。
【００３０】
そして、計時部１４により３０秒計時した場合に、状態遷移管理部１２は、管理する状態を状態Ａから状態Ｃに変更し、この変更を示す情報を遷移状態記憶部１３ｂに書き込む。
【００３１】
次に、第１の実施形態における状態遷移装置による、状態遷移後に外部にイベントを送信する場合において、状態遷移後に外部にイベントを送信するまでの遅延時間を指定する形態について説明する。  
図３は、本発明の第１の実施形態における状態遷移装置による遅延処理の第２の例について説明する図である。  
ここでは、上記のように状態の遷移を要すると判定されたときの、遷移後の状態における指定されたアクション内容およびこのアクションまでの遅延時間を記憶装置１３の条件記憶部１３ａに記憶する、この指定されたアクションは、所定の状態に遷移してから即時または所定の遅延時間経過後のタイミングで実行される。
【００３２】
また、この遅延時間が経過する前にさらに別の状態へ遷移しても、当該遅延時間指定時間後に上記の指定されたアクションは必ず実行される。  
ここでは、状態Ａから状態Ｂへの状態遷移において、例えば以下の（２−ａ）、（２−ｂ）のいずれかを記憶装置１３の条件記憶部１３ａに記憶する。
【００３３】
上記の（２−ａ）としては、例えば以下が挙げられる。下記の遅延時間の条件が満たされたときに下記のアクションが実行される。（２−ｂ）についても同様である。
【００３４】
（２−ａ）のアクション：イベントＸを外部に送信
（２−ａ）の遅延時間：状態Ａから状態Ｂへ状態が遷移してから即時
この（２−ａ）に従う場合、状態遷移処理装置１０の状態遷移管理部１２が、管理する状態を状態Ａから状態Ｂに変更し、この変更を示す情報を遷移状態記憶部１３ｂに書き込んだ場合で、この状態Ｂへの遷移後のアクションに関する条件、つまり上記の（２−ａ）を条件記憶部１３ａから読み出す。
【００３５】
状態遷移管理部１２は、（２−ａ）の条件に従い、イベントＸを外部に送信する指示を即時に処理実行部１５に出力する。  
処理実行部１５は、この指示にしたがい、イベントＸを外部に送信するための信号を外部装置３０に出力する。
【００３６】
また、上記の（２−ｂ）としては、例えば以下が挙げられる。  
（２−ｂ）のアクション：イベントＹを外部送信
（２−ｂ）の遅延時間：状態Ａから状態Ｂへ状態が遷移してから１０秒後
この（２−ｂ）に従う場合、状態遷移処理装置１０の状態遷移管理部１２が、管理する状態を状態Ａから状態Ｂに変更し、この状態を示す情報を遷移状態記憶部１３ｂに書き込んだ場合で、この状態Ｂへの遷移後のアクションに関する条件、つまり上記の（２−ｂ）を条件記憶部１３ａから読み出す。  
状態遷移管理部１２は、（２−ｂ）の条件に従い、計時部１４が１０秒計時した場合、イベントＹを外部に送信する指示を処理実行部１５に出力する。  
処理実行部１５は、この指示にしたがい、イベントＹを外部に送信するための信号を外部装置３０に出力する。
【００３７】
もし、状態Ａから状態Ｂへ状態が遷移して上記の１０秒以内に、この状態Ｂが別の状態、例えば状態Ｃにさらに遷移しても、状態Ａから状態Ｂへ状態が遷移して１０秒後にイベントＹは外部に送信される。
【００３８】
（第２の実施形態）
次に、第２の実施形態について説明する。なお、以下の各実施形態における、第１の実施形態と同様の説明は省略する。  
第２の実施形態では、イベントパラメータの転送が可能な状態遷移処理装置について説明する。  
複数のデバイスを連携させる場合、例えば温度などの数値や、写真画像などのデータをデバイス間で通信したい場合がある。  
そこで、第２の実施形態では、状態遷移系における状態遷移後に外部にイベントを送信する場合、既に外部から受信したイベントに含まれるパラメータとしての数値やデータを、外部に送信するイベントのパラメータとして指定する。
【００３９】
例えば、第１の実施形態で説明した（１−ａ）で示される、状態Ａから状態Ｂへの遷移の判定において、センサ２０からデータａを受信していた場合、状態遷移管理部１２は、このデータａを記憶装置１３に一時的に記憶する。
【００４０】
このデータについては、第１の実施形態で説明した（２−ｂ）で示されて、外部に送信されるイベントＹに関わるデータであることを条件記憶部１３ａに記憶して定義することができる。
【００４１】
そして、この状態Ａから状態Ｂへの遷移を要すると判定したときで、第１の実施形態で説明した（２−ｂ）で示される、状態Ｂへの遷移後の遅延の条件を満たしたときに、状態遷移管理部１２は、上記の一時的に記憶していたデータを記憶装置１３から読み出して、イベントＹに関わるデータとして処理実行部１５に送信する。
【００４２】
（第３の実施形態）
次に、第３の実施形態について説明する。  
複数のデバイスが複雑に連携する規模の大きなアプリケーションを状態遷移系で実現しようとした場合、多数の状態遷移系を並行して動作させる事で実現する事になるが、アプリケーションの規模が巨大になるほど、必要な状態遷移系の数が増え、依存関係把握等のアプリケーション開発者の負担が増加すると共に、実行する情報処理システムの処理負荷も増大する。
【００４３】
そこで、第３の実施形態では、複数の状態遷移系をグループ化し、デバイスもしくは状態遷移系が送信したイベントに基づき、状態遷移系グループ毎に状態遷移処理の有効無効を切り替える事で、同時に実行する状態遷移系を減らす。これにより、状態遷移系の管理を容易にし、システムの処理負荷を軽減することができる。
【００４４】
１つの状態遷移系は、複数のグループに所属させる事もできる。また、状態遷移処理の有効無効を切り替えるときに、個々の状態遷移系について、初期状態に戻すか、状態を保持するかを選択できる。
【００４５】
図４は、本発明の第３の実施形態における状態遷移装置による状態遷移の管理の一例について説明する図である。  
第３の実施形態では、第１の例として、デバイスとユーザに関わるインタラクションを状態遷移系として記述した形態で、センサ入力等の外部からのイベントに従って状態が遷移した後に複数のアクションを実行し、また、複数の状態遷移系を同時に実行する事でインタラクションの並列実行や割り込み実行を実現する形態について説明する。
【００４６】
ここでは、人がカラオケボックスの椅子に座ったら、この人が歌いたい曲を聴いて、カラオケを開始する例について説明する。  
初期状態では、遷移状態はカラオケ開始前の第１の状態であるとする。人がカラオケボックスの椅子に座った場合、センサ２０がこれを検出する。状態遷移処理装置１０の動作判定部１１は、この検出結果に応じて、人がカラオケボックスの椅子に座った動作がなされたと判定する。  
状態遷移管理部１２は、この判定に応じて、現在の遷移状態が第１の状態から第２の状態に遷移することを要すると判定し、この第２の状態への遷移に伴う処理としての、照明を暗くする、カラオケを起動する、人に歌いたい曲の曲名を質問する、といった処理の実行を処理実行部１５に指示する。この指示を受けて、処理実行部１５は、外部装置３０、ここでは例えばカラオケボックス内のスピーカやモニタなどに対する制御を行なう。
【００４７】
そして、人が、歌いたい曲の曲名をマイクなどで入力した場合、センサ２０がこれを検出する。状態遷移処理装置１０の動作判定部１１は、この検出結果に応じて、人が、歌いたい曲の曲名をマイクなどで入力する動作がなされ、対話が成功したと判定する。  
状態遷移管理部１２は、この判定に応じて、現在の遷移状態が第３の状態に遷移することを要すると判定し、この第３の状態への遷移に伴う処理としての、入力された曲名が存在する場合にカラオケを開始する、このカラオケの開始を通知する、入力された曲名が存在しない場合に例えば背景音楽などの所定の曲を再生して謝罪メッセージを出力するといった処理の実行を処理実行部１５に指示する。この指示を受けて、処理実行部１５は、外部装置３０、ここでは例えばカラオケボックス内のスピーカやモニタなどに対する制御を行なう。  
このように、第１の例では、１つの状態遷移に応じて、ユーザとのやりとりを介して所定のアクションを実施することができる。
【００４８】
図５は、本発明の第３の実施形態における状態遷移装置による状態遷移の管理の一例について説明する図である。  
次に、第２の例として、複数のインタラクション記述をシーンと言う形態を用いてグループ化し、このシーンの切り替えを行うことで、複数のインタラクションについて有効または無効をまとめて切り替える事で、大規模なインタラクションの記述を容易とする形態について説明する。このシーン間の切り替えが状態遷移に対応し、インタラクションの記述は、条件記憶部１３ａに記憶することができ、この条件を状態遷移管理部１２が読み出して遷移後の処理として、実行を制御することができる。
【００４９】
ここでは、１つのシーンは、複数のインタラクションの記述を含み、このシーンの切り替えは、この切り替え専用の命令を用いた、インタラクションの記述から実行可能とし、シーンが切り替わると、切り替わる前のシーンインタラクション記述に基づいて実行していた動作がすべて中断される形態について説明する。
【００５０】
例えば、シーンを、カラオケ待機中、動作モード選択、カラオケ選曲、カラオケ再生などのシーンに分け、状態遷移処理装置１０は、これらのシーンの切り替えに対応する状態遷移を管理し、各シーンのそれぞれにおいて、このシーンにおける複数の動作に関する情報を条件記憶部１３ａから読み出し、この読み出した情報で示される各種動作を外部装置３０に実行させることができる。
【００５１】
また、上記の各シーンとは別に、上記の全てのシーンに共通する動作として、各シーンに属さない、常に動作するインタラクション記述に対応する条件を条件記憶部１３ａに記憶し、この条件を状態遷移管理部１２が読み出して上記の各シーン間に遷移後の処理として、実行を制御することができる。  
この第３の実施形態で説明した構成は、第１の実施形態における状態遷移装置による遅延処理の第２の例に適用すれば、センサ入力等の外部からのイベントに従って状態が遷移した後に複数のアクションを実行することができる。
【００５２】
（第４の実施形態）
次に、第４の実施形態について説明する。  
デバイスと連携するアプリケーションを構成する場合、デバイスが送信するイベントや、デバイスが受信可能なイベントを開発者が把握する必要がある。  
そこで、第４の実施形態では、デバイスから受信可能なイベント一覧と、デバイスに送信可能なイベント一覧とを受信し、この受信した情報を、開発者の操作に従ってグラフィカルユーザインタフェース上に表示し、この表示された情報に対する遷移条件や外部送信イベントを選択の操作を受け付けて、状態遷移系を記述できる形態について説明する。
【００５３】
図６は、本発明の第４の実施形態における状態遷移装置による状態遷移編集画面の一例について説明する図である。  
図６に示した画面は、状態遷移の編集画面であり、状態遷移処理装置１０の状態遷移管理部１２が外部の表示装置に表示させることができる。画面中の各ボックスが遷移状態に対応し、この状態への遷移に伴う、第１の実施形態で説明した遷移条件や遅延時間などの記述を含む。開発者からの、画面中の任意のボックスに対応する状態遷移の編集のための選択操作がなされると、状態遷移処理装置１０は、この操作を受け付けて、この選択されたボックスに対応する状態遷移の編集のための画面を外部の表示装置に表示させることができる。
【００５４】
図７は、本発明の第４の実施形態における状態遷移装置によるイベント管理画面の一例について説明する図である。  
図７に示した画面Ｇ１では、図６で示した画面から選択された１つのボックスに対応する状態遷移において、すでに定義されているイベントを変更したり、この状態への遷移に伴い外部への所望のイベント送信（必要に応じた、イベント送信までの遅延時間などを含む）の追加の指定の操作を受け付けたりするための画面である。開発者により、この変更や追加の為の操作がなされると状態遷移処理装置１０は、この操作を受け付けて、この選択されたボックスに対応する状態遷移にともなう、イベントの変更や追加が反映された条件を条件記憶部１３ａに記憶して、この操作の内容を反映することができる。
【００５５】
図８は、本発明の第４の実施形態における状態遷移装置によるデバイス選択画面の一例について説明する図である。  
上記のように、イベント送信の追加の反映がなされた後は、状態遷移処理装置１０は、このイベントの送信先のイベント送信先デバイスの選択を受け付けるための画面Ｇ３を上記の表示装置に表示させることができる。開発者により、この選択の為の操作がなされると状態遷移処理装置１０は、この操作を受け付けて、この選択されたボックスに対応する状態遷移にともなう、送信先デバイスが反映された条件を条件記憶部１３ａに記憶することで、この操作の内容を反映することができる。
【００５６】
図９は、本発明の第４の実施形態における状態遷移装置によるイベント選択画面の一例について説明する図である。  
上記のように、イベント送信先デバイスの反映がなされた後は、状態遷移処理装置１０は、このデバイスが対応可能なイベントの一覧を表示して、所望のイベントの選択を受け付けるための画面Ｇ４を上記の表示装置に表示させることができる。開発者により、この選択の為の操作がなされると状態遷移処理装置１０は、この操作を受け付けて、イベントが反映された条件を条件記憶部１３ａに記憶することで、この操作の内容を反映することができる。
【００５７】
（第５の実施形態）
次に、第５の実施形態について説明する。  
システムコストの問題から、各種デバイスとサービスとを連携させるアプリケーションはクラウド上で実現する事が望ましい。  
このようにアプリケーションをクラウド上で実現した場合、ユーザ／アプリケーションとデバイスの紐付けが問題となる。
【００５８】
図１０は、本発明の第５の実施形態における状態遷移装置の、ネットワーク接続機能について説明する図である。  
そこで、第５の実施形態では、クラウド上で動作する、デバイス・ユーザ間マッパー５０、デバイス・ユーザ間マッピングＤＢ（データベース）５１を設け、クラウド上の各社のイベントディスパッチャ５２、クラウド上の各社のアプリケーション５３と、デバイス側の各社のロボット・センサ群５４との間の紐づけを行う。  
デバイス・ユーザ間マッパー５０は、デバイスの所有者を管理する機能を持つ。また、第５の実施形態では、デバイスのネットワーク設定は不要で、デバイス・ユーザ間マッパー５０は、デバイスをネットワーク（クラウド）に接続する機能を持つ。
【００５９】
デバイス・ユーザ間マッパー５０は、下記のマッピング情報を参照して、クラウドに対するデバイスの入出力をユーザ毎に振り分ける。  
デバイス・ユーザ間マッピングＤＢ５１は、デバイスの識別情報とクラウド（ユーザ側）の情報、例えばユーザアカウントとのマッピング情報を記憶する記憶装置である。イベントディスパッチャ５２は、デバイスとアプリケーション５３との間の入出力を所定の変換を経て制御する。
【００６０】
デバイス・ユーザ間マッパー５０は、単一のデバイス接続ポイント（ドメイン名、ポート番号）を持つ。このため、デバイスの出荷時に接続先を上記の単一のデバイス接続ポイントとしてデバイスのメモリに予め書き込んでおくことが可能である。
【００６１】
第５の実施形態では、全てのデバイスをデバイス・ユーザ間マッパー５０に集約し、このデバイス・ユーザ間マッパー５０は、デバイス・ユーザ間マッピングＤＢ５１に記憶されたマッピング情報を参照して、各デバイスとの入出力情報を各ユーザのうち、適したユーザのイベントディスパッチャ５２、アプリケーション５３に振り分ける。
【００６２】
例えば、デバイス・ユーザ間マッパー５０は、デバイスの接続を検知すると、ユーザ不明のデバイスとして接続を保持し、ユーザからの、デバイスの識別情報を入力し、マッピング情報と照合することで、デバイスとユーザとの紐づけを行う、以降、デバイスとユーザとの間の通信が可能となる。
【００６３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００６４】
また、各実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【００６５】
１０…状態遷移処理装置、１１…動作判定部、１２…状態遷移管理部、１３…記憶装置、１３ａ…条件記憶部、１３ｂ…遷移状態記憶部、１４…計時部、１５…処理実行部、２０…センサ、３０…外部装置。
【図１】
2019133668.tif 000003
【図２】
2019133668.tif 000004
【図３】
2019133668.tif 000005
【図４】
2019133668.tif 000006
【図５】
2019133668.tif 000007
【図６】
2019133668.tif 000008
【図７】
2019133668.tif 000009
【図８】
2019133668.tif 000010
【図９】
2019133668.tif 000011
【図１０】
2019133668.tif 000012