JP2008191074A - Output arbitration program and device - Google Patents

Output arbitration program and device Download PDF

Info

Publication number
JP2008191074A
JP2008191074A JP2007027814A JP2007027814A JP2008191074A JP 2008191074 A JP2008191074 A JP 2008191074A JP 2007027814 A JP2007027814 A JP 2007027814A JP 2007027814 A JP2007027814 A JP 2007027814A JP 2008191074 A JP2008191074 A JP 2008191074A
Authority
JP
Japan
Prior art keywords
action
output
information
function
event
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.)
Granted
Application number
JP2007027814A
Other languages
Japanese (ja)
Other versions
JP4935392B2 (en
Inventor
Tomonori Iketani
智則 池谷
Ei Ito
映 伊藤
Goro Sekiguchi
悟朗 関口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007027814A priority Critical patent/JP4935392B2/en
Publication of JP2008191074A publication Critical patent/JP2008191074A/en
Application granted granted Critical
Publication of JP4935392B2 publication Critical patent/JP4935392B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently and quickly provide necessary information to a user. <P>SOLUTION: An arbitration method includes a determination step, in which before an output of first information regarding first action registered in an action queue is completed, it is determined whether a second action registered next in the action queue satisfies prescribed conditions, including the condition that a specific output function used for outputting the second information regarding the second action is in an open state or is a function without interruption control; and a step, in which when it is determined that the second action satisfies the prescribed conditions, a specific output function is requested to output the second information, regarding the second action irrespective of whether the output of the first information is completed. For example, if the output of audio that requires a long output time and the output of an image with a different output function are performed in parallel, necessary information can be provided efficiently and quickly to the user. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、情報の出力を調停するための技術に関する。   The present invention relates to a technique for mediating output of information.

例えば、無線配信されるVICS(Vehicle Information and Communication System)情報により道路の混雑状況を出力したり、車載カメラで取得した周囲の映像を出力したりするなど、カーナビゲーション・システム等の車載端末を用いて、車内外の情報を運転手に通知することが行われている。走行状態の安全性を高めるためには、車載端末が受け付けた様々な情報を理解し易い形で提供することは勿論、早く効率的に、運転手に通知することが望まれている。   For example, using vehicle-mounted terminals such as car navigation systems, such as outputting road congestion using VICS (Vehicle Information and Communication System) information distributed over the air, or outputting surrounding images acquired by an in-vehicle camera In addition, the driver is notified of information inside and outside the vehicle. In order to improve the safety of the running state, it is desired to notify the driver quickly and efficiently, as well as providing various information received by the in-vehicle terminal in an easily understandable form.

そのため、例えば、特開平10−104003号公報には、過度に情報が提供されることなく、且つ的確に必要な情報を提供することのできるナビゲーション装置が開示されている。具体的には、情報をドライバに提供するナビゲーション装置は、提供すべき情報が複数存在するときに、予め設定された優先順位に従って順位の高い情報を選択する手段と、選択された情報を選択された順にドライバに提供する手段を有する。但し、以下で述べるような本発明のきめ細やかな出力調停は不可能である。
特開平10−104003号公報
Therefore, for example, Japanese Patent Laid-Open No. 10-104003 discloses a navigation device that can provide necessary information accurately without excessively providing information. Specifically, a navigation device that provides information to a driver is selected by means for selecting information having a higher rank according to a preset priority when there are a plurality of pieces of information to be provided. Means for providing to the driver in order. However, the detailed output arbitration of the present invention as described below is impossible.
Japanese Patent Laid-Open No. 10-104003

従って、本発明の目的は、短時間に必要な情報を効率的に利用者に提供することができるようにするための新規の技術を提供することである。   Accordingly, an object of the present invention is to provide a novel technique for enabling a user to efficiently provide necessary information in a short time.

本発明の第1の態様に係る出力調停方法は、アクションキューに登録されている第1のアクションに係る第1の情報の出力が完了する前に、アクションキューに次以降に登録されている第2のアクションが、当該第2のアクションに係る第2の情報の出力に用いられる特定の出力機能が空き状態であるか又は割込制御無しの機能であるかという条件を含む所定の条件を満たしているか否か判断する判断ステップと、第2のアクションが所定の条件を満たしていると判断された場合には、第1の情報の出力が完了しているか否かにかかわらず、第2のアクションに係る第2の情報の出力を特定の出力機能に要求するステップとを含む。   In the output arbitration method according to the first aspect of the present invention, before the output of the first information related to the first action registered in the action queue has been completed, The second action satisfies a predetermined condition including a condition that a specific output function used for outputting the second information related to the second action is a vacant state or a function without interrupt control. A determination step for determining whether or not the second action satisfies a predetermined condition, the second information is output regardless of whether or not the output of the first information is completed. Requesting the specific output function to output the second information related to the action.

例えば、出力に時間のかかる音声の出力と、出力機能の異なる画像の出力とが並行して行われれば、短時間に必要な情報を効率的に利用者に提供できる。なお、同じスピーカから出力されるものであっても、音声合成出力とビープ音出力についても上で述べた条件が満たされれば並行して行われる。   For example, if the output of sound that takes time to output and the output of images having different output functions are performed in parallel, the necessary information can be efficiently provided to the user in a short time. Note that, even if output from the same speaker, the speech synthesis output and the beep sound output are performed in parallel if the above-described conditions are satisfied.

また、上で述べた所定の条件が、第2のアクションの重要度が、第1の情報及び第2の情報を知覚するユーザの負荷状態に連動する閾値以上であるという条件を含むようにしてもよい。これによって、ユーザの負荷状態が高い場合には、重要度が相対的に低い情報については出力されなくなる。   Further, the predetermined condition described above may include a condition that the importance of the second action is equal to or more than a threshold value linked to a load state of a user who perceives the first information and the second information. . As a result, when the load state of the user is high, information with relatively low importance is not output.

さらに、上で述べた判断ステップが、出力機能毎に割り込み種別及び状態を管理する管理テーブルを、第2のアクションに係る第2の情報の出力に用いられる特定の出力機能で検索するステップを含むようにしてもよい。このような管理テーブルを用いれば、効率的に処理を行うことができる。   Further, the determination step described above includes a step of searching a management table for managing the interrupt type and state for each output function with a specific output function used for outputting the second information related to the second action. You may make it. By using such a management table, processing can be performed efficiently.

なお、第1のアクションの優先度は、第2のアクションの優先度より高い場合には、割り込みとはならず、上で述べたような並行的な出力が実施される。   Note that when the priority of the first action is higher than the priority of the second action, the interrupt is not interrupted and the parallel output as described above is performed.

また、本発明の第1の態様において、第2のアクションが所定の条件を満たしていないと判断された場合、第2のアクションの実行状態を待機状態に設定するステップをさらに含むようにしても良い。並行して出力できない場合には、第1の情報の出力が終了するまで待機する。   Further, in the first aspect of the present invention, when it is determined that the second action does not satisfy the predetermined condition, a step of setting the execution state of the second action to a standby state may be further included. If it cannot be output in parallel, it waits until the output of the first information is completed.

本発明の第2の態様に係る出力調停方法は、アクションキューに登録されている第1のアクションに係る第1の情報の出力中に、アクションキューに第1のアクションより優先度が高く且つ第1のアクションに係る第1の情報の出力に用いられる特定の出力機能が同じ第2のアクションが登録された場合、特定の出力機能による第1の情報の出力を停止させる停止ステップと、第2のアクションに係る第2の情報の出力を特定の出力機能に要求するステップと、第2のアクションに係る第2の情報の出力が完了した後であってアクションキューに登録されている第1のアクションを再度処理する順番になった場合、第1のアクションに係る第1の情報の出力が予め定められた部分まで完了していたか判断するステップと、第1のアクションに係る第1の情報の出力が予め定められた部分まで完了していた場合には、第1の情報の出力をキャンセルさせるステップとを含む。   The output arbitration method according to the second aspect of the present invention has a higher priority than the first action in the action queue and the first action during the output of the first information related to the first action registered in the action queue. A stop step of stopping the output of the first information by the specific output function when the second action is registered with the same specific output function used for the output of the first information related to the first action; Requesting the output of the second information related to the action to the specific output function, and the first information registered in the action queue after the output of the second information related to the second action is completed. When it is the order to process the actions again, the step of determining whether the output of the first information related to the first action has been completed up to a predetermined portion, and the first action That when the output of the first information has been completed to the predetermined portion includes a step of canceling the output of the first information.

1回目の出力で内容が伝わる程度まで出力できていれば、中断した後に再度同じような出力を行わないようにすれば、短時間に効率的に情報を伝達することができるようになる。   If the output can be performed to the extent that the contents can be transmitted in the first output, information can be efficiently transmitted in a short time if similar output is not performed again after the interruption.

また、上で述べた停止ステップが、出力機能毎に割り込み種別を管理する管理テーブルを特定の出力機能で検索して、特定の出力機能が割り込み可の出力機能であるか判断するステップと、特定の出力機能が割り込み可の出力機能である場合、特定の出力機能に第1の情報の出力を停止させるステップとを含むようにしてもよい。このようにすれば、割り込み可の出力機能であることが確認される。   In addition, the above-described stop step searches the management table for managing the interrupt type for each output function with a specific output function, and determines whether the specific output function is an interruptible output function. If the output function is an interruptible output function, the specific output function may include a step of stopping the output of the first information. In this way, it is confirmed that the output function is interruptible.

なお、第2の情報の出力中に、例えば緊急情報などの第2のアクションよりも優先度の高い情報が割り込んでも構わない。   Note that information having a higher priority than the second action, such as emergency information, may be interrupted during the output of the second information.

なお、上記予め定められた部分が、第1の情報の出力割合で特定される場合もある。また、特定のキーワードの位置に基づき決定するようにしても良い。   Note that the predetermined portion may be specified by the output ratio of the first information. Further, it may be determined based on the position of a specific keyword.

さらに、上で述べた特定の出力機能が、第1のアクションによって指定された変数に第1の情報の出力割合を登録するステップをさらに含むようにしても良い。   Furthermore, the specific output function described above may further include a step of registering the output ratio of the first information in the variable designated by the first action.

また、第1のアクションに係る第1の情報の出力が予め定められた部分まで完了していない場合、第1の情報の出力を再度特定の出力機能に要求するステップをさらに含むようにしても良い。不明瞭な出力となってしまった情報を再度利用者に伝えるためである。   Further, when the output of the first information related to the first action is not completed up to a predetermined portion, a step of requesting the specific output function to output the first information again may be further included. This is to inform the user again of the information that has become unclear.

なお、本方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。   A program for causing a computer to execute this method can be created, and this program is stored in a storage medium or storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. . Moreover, it may be distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in a storage device such as a main memory.

本発明によれば、短時間に必要な情報を効率的に利用者に提供することができるようになる。   According to the present invention, necessary information can be efficiently provided to a user in a short time.

図1に本発明の一実施の形態に係るエージェントフレームワークのアーキテクチャを示す。本エージェントフレームワークが実装されるシステムは、例えば車載端末の例を想定して説明するが、必ずしも車載端末である必要はない。   FIG. 1 shows an architecture of an agent framework according to an embodiment of the present invention. A system in which the agent framework is implemented will be described assuming an example of an in-vehicle terminal, but is not necessarily an in-vehicle terminal.

本エージェントフレームワークは、ランタイム・エンジンであるエージェントフレームワーク・ランタイム1と、サービスアプリケーションを作成するためのSDK(Software Development Kit)であるエージェントフレームワークSDK9とで構成される。なお、アーキテクチャとしては、エージェントフレームワーク・ランタイム1を利用するアプリケーション層3と、エージェントフレームワーク・ランタイム1と連携する基盤ミドルウェア層5と、例えば車載端末に搭載される各種デバイスを含むデバイス層7とをさらに含む。   The agent framework includes an agent framework runtime 1 that is a runtime engine and an agent framework SDK 9 that is an SDK (Software Development Kit) for creating a service application. The architecture includes an application layer 3 that uses the agent framework / runtime 1, a base middleware layer 5 that cooperates with the agent framework / runtime 1, and a device layer 7 that includes various devices mounted on an in-vehicle terminal, for example. Further included.

エージェントフレームワークSDK9は、開発用API(Application Program Interface)・ライブラリ94を含む。開発用API・ライブラリ94は、シナリオロジック用インタフェースとイベントアグリゲーションロジックインタフェースとを含むロジック開発用インタフェースと基盤ミドルウェア層向けインタフェース定義とを含む。後でも述べるがアプリケーション層3におけるシナリオロジック32は、シナリオXMLから動的に呼び出すことのできるC++関数である。シナリオロジック32には、状態に付随する状態ロジック、遷移に付随する遷移ロジック、起動及び終了時に全状態及び全遷移で呼び出される起動終了ロジックの3種類がある。シナリオロジック用インタフェースは、これらロジックが後に述べるシナリオエンジン11からロードできるようにするためのインタフェース仕様を規定している。また、イベントアグリゲーションロジックインタフェースは、イベントアグリゲーションロジックを、後に述べるイベントアグリゲータ122がロード・実行できるようにするインタフェース仕様を規定する。基盤ミドルウェア層向けインタフェース定義は、エージェントフレームワークから適用先システム(例えば車載端末)のデバイスを制御できるようにするためのゲートウェイコンポーネントであり、適用先システムの要件に応じてデバイス毎に開発されるべきものである。基盤ミドルウェア層5における実装コンポーネントがアクションコンダクタ13及びイベントエンジン12とインタラクションを行えるように、デバイス制御機能用インタフェース及びデバイスステータス更新用インタフェースが定義されている。デバイス制御機能用インタフェースは、アクションコンダクタ13からの実行要求・キャンセル要求を実装するため、コールバックインタフェースとしてコマンド要求インタフェース、コマンドキャンセルインタフェースを定義する。デバイスステータス更新用インタフェースは、イベントエンジン12が管理するイベントデータテーブル34に対し、デバイスのステータスが変化した際にデータを更新するためのインタフェースを提供する。このようなエージェントフレームワークSDK9は、他にも本エージェントフレームワークには必要な機能を提供するものもあるが、本実施の形態に主要部ではないので、これ以上述べない。   The agent framework SDK 9 includes a development API (Application Program Interface) library 94. The development API library 94 includes a logic development interface including a scenario logic interface and an event aggregation logic interface, and an interface definition for the base middleware layer. As will be described later, the scenario logic 32 in the application layer 3 is a C ++ function that can be dynamically called from the scenario XML. There are three types of scenario logic 32: state logic associated with a state, transition logic associated with a transition, and activation and termination logic called in all states and all transitions at the time of activation and termination. The scenario logic interface defines an interface specification for enabling these logics to be loaded from the scenario engine 11 described later. The event aggregation logic interface defines an interface specification that allows the event aggregator 122 described later to load and execute the event aggregation logic. The interface definition for the infrastructure middleware layer is a gateway component that enables the device of the application system (for example, in-vehicle terminal) to be controlled from the agent framework, and should be developed for each device according to the requirements of the application system Is. A device control function interface and a device status update interface are defined so that the mounted components in the base middleware layer 5 can interact with the action conductor 13 and the event engine 12. The device control function interface defines a command request interface and a command cancel interface as callback interfaces in order to implement an execution request / cancellation request from the action conductor 13. The device status update interface provides an interface for updating data when the status of the device changes with respect to the event data table 34 managed by the event engine 12. Although such an agent framework SDK 9 provides other functions necessary for the agent framework, it is not a main part of the present embodiment and will not be described further.

エージェントフレームワーク・ランタイム1は、シナリオエンジン11と、イベントエンジン12と、アクションコンダクタ13とを有する。シナリオエンジン11は、シナリオマネージャ111と、シナリオインタプリタ112とを有する。イベントエンジン12は、イベントマネージャ121と、イベントアグリゲータ122とを有する。アクションコンダクタ13は、アクション制御エンジン131と、マルチモーダルエンジン132とを有する。   The agent framework runtime 1 includes a scenario engine 11, an event engine 12, and an action conductor 13. The scenario engine 11 includes a scenario manager 111 and a scenario interpreter 112. The event engine 12 includes an event manager 121 and an event aggregator 122. The action conductor 13 includes an action control engine 131 and a multimodal engine 132.

シナリオエンジン11は、サービスのインタラクション手順を記述したシナリオ31をシステムに投入・削除し、シナリオ実行時には、サービス利用者(ユーザ)の入力や周辺の状況変化から検出されたイベントに応じて各々のシナリオの状態管理と、出力アクションの要求を行うことで、インタラクションの進行を制御するシナリオ実行コンポーネントである。ユーザは、複数のサービスを、状況に応じて切替えながら、臨機応変に利用することができる。シナリオエンジン11は、ユーザにサービスを、便利・快適・安全に利用してもらうことを目的として、サービス利用のインタラクション進行を制御する機能を有する。システムで利用される複数のサービスに関する状態管理を行い、サービスのインタラクション進行を記述するシナリオ31に従って、ユーザの入力イベントやセンサ入力の変化イベントに対応する出力アクションや次のイベント要求を決定し、ユーザとサービスの間のインタラクションを進行させる。また、複数のサービスを同時に動作させた場合には、それらを違和感なく切替えて利用できるようにする。   The scenario engine 11 inputs / deletes the scenario 31 describing the interaction procedure of the service, and when executing the scenario, each scenario is detected according to the event detected from the input of the service user (user) or the surrounding situation change. It is a scenario execution component that controls the progress of interaction by requesting state management and output actions. The user can use a plurality of services on an ad hoc basis while switching according to the situation. The scenario engine 11 has a function of controlling the progress of service use interaction for the purpose of having a user use the service conveniently, comfortably and safely. Manages the status of multiple services used in the system, determines the output action and the next event request corresponding to the user input event or sensor input change event according to the scenario 31 describing the interaction progress of the service, and the user And the interaction between the service and the service. In addition, when a plurality of services are operated simultaneously, they can be switched and used without a sense of incongruity.

シナリオエンジン11のシナリオマネージャ111は、シナリオエンジン11内の各モジュールの起動を制御するモジュールである。シナリオエンジン11起動時に、設定情報を読み込み、各モジュールのインスタンスを生成する。このモジュールによって生成されるモジュールは、シナリオインタプリタ112を含む。シナリオマネージャ111は、シナリオインタプリタ112を、実行されるシナリオ31の数だけ生成し、シナリオ定義ファイルを読み込んで登録する。   The scenario manager 111 of the scenario engine 11 is a module that controls the activation of each module in the scenario engine 11. When the scenario engine 11 is activated, the setting information is read and an instance of each module is generated. The module generated by this module includes a scenario interpreter 112. The scenario manager 111 generates as many scenario interpreters 112 as the number of scenarios 31 to be executed, and reads and registers a scenario definition file.

シナリオインタプリタ112は、シナリオ31の定義に従って、インタラクション進行を制御するモジュールである。入力されたイベント(イベントエンジン12から通知される)に応じて、シナリオ31で定義された出力アクションを決定すると共に、次に必要となる入力イベントを決定する。決定されたアクション要求やイベント要求は、それぞれアクションコンダクタ13やイベントエンジン12に送付され、処理される。シナリオ定義はシナリオマネージャ111によって読み込まれ、シナリオインタプリタ112生成時に登録される。   The scenario interpreter 112 is a module that controls the progress of the interaction according to the definition of the scenario 31. In accordance with the input event (notified from the event engine 12), the output action defined in the scenario 31 is determined, and the next necessary input event is determined. The determined action request and event request are sent to the action conductor 13 and the event engine 12 for processing. The scenario definition is read by the scenario manager 111 and registered when the scenario interpreter 112 is generated.

シナリオエンジン11は、状態遷移モデルで表されるシナリオ31に従って、サービス利用者にサービスを提供する。シナリオ31には、サービスを受けるためのインタラクション手順が記述されており、ユーザの入力やセンサの変化などの入力イベントに応じた応答を決定する。   The scenario engine 11 provides a service user with a service according to the scenario 31 represented by the state transition model. The scenario 31 describes an interaction procedure for receiving a service, and determines a response according to an input event such as a user input or a sensor change.

状態遷移モデルは、いくつかの「状態」と、状態から状態への「遷移」により表現される。この表現は、状態をノード、遷移をアークとしたネットワーク構造となる。状態遷移シナリオでは、遷移を定義する条件が真の時に、その遷移先である状態に変化する。本フレームワークで用いるシナリオXMLでは、state要素がノード、transition要素がアークに対応する。例えば、状態遷移シナリオにおける状態は、画面への表示や音声による発話といった、利用者に対しての働きかけや、接続されているデバイスなどへの制御命令といった、外部への働きかけ(アクション)を行うことを意味する。状態シナリオにおける遷移は、ユーザによるボタン押下やキー操作、発話などの入力や、デバイスからのイベントを受け付けることを意味する。   The state transition model is expressed by several “states” and “transitions” from state to state. This representation has a network structure in which the state is a node and the transition is an arc. In the state transition scenario, when the condition defining the transition is true, the state changes to the state that is the transition destination. In the scenario XML used in this framework, the state element corresponds to a node, and the transition element corresponds to an arc. For example, the state in the state transition scenario is to perform an external action (action) such as an action to the user, such as display on the screen or voice utterance, or a control command to the connected device, etc. Means. The transition in the state scenario means accepting an input from the device such as a button press, key operation, or speech by the user, or an event from the device.

本システムにおける状態(state)には、外部への出力や内部処理を記述する。外部への出力はアクション(action)と呼び、音声やHTML(Hyper Text Markup Language)ブラウザ向けの表現、カーナビゲーション・システムなどの機器制御コマンドなどを記述する。また、内部処理は、プログラム言語で記述されるシナリオロジック32に定義し、実行時に特定のタイミングで呼び出される。   In the state in this system, output to the outside and internal processing are described. The output to the outside is called an action, and describes voice, expression for an HTML (Hyper Text Markup Language) browser, a device control command for a car navigation system, and the like. The internal process is defined in the scenario logic 32 described in a program language, and is called at a specific timing during execution.

アクションは、外部出力を制御するコマンドの集合で、制御するモダリティ(本実施の形態においてモダリティとは、デバイス、ミドルウェアをまとめて1つの入力/出力機能単位としたものである。)毎のコマンドで記述する。アクションには、以下で述べるように、重要度と優先度を設定することができ、通常はサービスに与えられる重要度と優先度が使用されるので、明示的に指定する必要はない。重要度は、アクションコンダクタ13において、外部から与えられる重要度の閾値に従って出力を自動的に抑制したり再開したりする制御のために使用される。この機能によって、例えば、ユーザの負荷状態と連動して重要度の閾値を変化させ、負荷が高い場合には重要なアクションしか出力しないというアプリケーションを実現できる。一方、優先度は、アクションコンダクタ13において、複数アクションの出力要求が競合している場合に、出力するアクションを調停するために使用される。この機能によって、優先度の低いアクションを出力している途中でも、優先度の高いアクションを割り込ませて出力したり、その逆に、優先度の高いアクションを出力している途中であれば、優先度の低いアクションの出力を待たせたりすることができる。   An action is a set of commands for controlling external output, and is a command for each modality to be controlled (in this embodiment, a modality is a device / middleware grouped into one input / output function unit). Describe. As described below, an action can be set with an importance level and a priority level, and normally, an importance level and a priority level given to a service are used. Therefore, it is not necessary to specify them explicitly. The importance level is used in the action conductor 13 for the control of automatically suppressing or restarting the output according to the importance level threshold given from the outside. With this function, for example, it is possible to realize an application that changes the threshold of importance in conjunction with the load state of the user and outputs only an important action when the load is high. On the other hand, the priority is used in the action conductor 13 to arbitrate an action to be output when there are conflicting output requests of a plurality of actions. With this function, even when a low-priority action is being output, a high-priority action is interrupted and output, or vice versa. You can wait for the output of a low-priced action.

本システムにおける遷移(transition)は、状態から状態への遷移関係を定義する。遷移は「現在実行中の状態(カレントコンテキストとも呼ぶ)」から伸びるものが有効となる。遷移の配下には、状態遷移を発生させるイベントを記述する。シナリオインタプリタ112は、有効な遷移に記述されたイベントが発生した場合、通知をしてもらえるようにイベントエンジン12に要求する。   Transition in this system defines a transition relationship from state to state. Transitions that extend from the “currently executing state (also called current context)” are effective. An event that causes a state transition is described under the transition. The scenario interpreter 112 requests the event engine 12 to be notified when an event described in a valid transition occurs.

本システムに対する入力は、イベント(event)と呼ぶ。イベントは、シナリオ31で検出対象とする入力を決定するもので、遷移(transition)の配下に記述される。1つの遷移に複数のイベントを記述した場合には、OR結合となって、いずれか一方のイベントが発生すれば、状態遷移が起こる。   An input to this system is called an event. The event determines an input to be detected in the scenario 31, and is described under the transition. In the case where a plurality of events are described in one transition, an OR connection is formed, and if any one of the events occurs, a state transition occurs.

イベントには、ユーザが定義するイベントであるユーザ定義イベントと、センサ入力のように基盤ミドルウェアで予め定義されているイベントである定義済みイベントと、システム動作に伴う定義済みのイベントである特殊イベントである。ユーザ定義イベントは、シナリオ31でユーザが定義しているイベントを受理するもので、例えば、音声認識が発生した時に認識結果を受け取ると共にイベント発生を通知してもらうような場合に使用する。定義済みイベントは、シナリオ31とは別な場所で予め定義されているイベントで、センサ類の入力などがこれにあたる。シナリオ開発者は予め定義済みイベントに関する知識を持っているという前提で、これを利用したシナリオ31を書くことになる。特殊イベントは、システムの動作に関係するイベントであり、予め定義済みとなっているイベントである。アクションの出力状況を通知するためのイベントなどが含まれる。本フレームワークでは特殊イベントとして以下のような6種類の出力状態に関するイベントが用意されている。
待機:アクション出力要求が何らかの原因で開始できない場合に通知。
開始:アクション出力要求が実際に開始されたタイミングで通知。
中断:出力中のアクションが何らかの原因で中断された場合に通知。
再開:中断されたアクションが再度、開始された場合に通知。
完了:アクションの出力が(タイムアウトを含めて)完了した場合に通知。
エラー:アクションの出力がエラーとなった場合に通知。
Events include user-defined events that are user-defined events, predefined events that are predefined in the base middleware, such as sensor inputs, and special events that are predefined events associated with system operation. is there. The user-defined event accepts an event defined by the user in the scenario 31, and is used when, for example, receiving a recognition result and notifying the occurrence of an event when voice recognition occurs. The predefined event is an event that is defined in advance in a place different from the scenario 31 and corresponds to sensor input. The scenario developer will write a scenario 31 using this on the premise that the scenario developer has knowledge about a predefined event. The special event is an event related to the operation of the system, and is a predefined event. Includes events for notifying the output status of actions. In this framework, the following six types of events related to output states are prepared as special events.
Wait: Notify when action output request cannot be started for some reason.
Start: Notify when the action output request is actually started.
Interruption: Notify when the action being output is interrupted for some reason.
Resume: Notify when an interrupted action is started again.
Complete: Notify when action output is complete (including timeout).
Error: Notify when action output results in an error.

これらを指定する特殊なイベント定義を記述することで、出力状態の変化に応じたシナリオ31を記述することができる。   By describing special event definitions that specify these, it is possible to describe a scenario 31 corresponding to a change in the output state.

複数モダリティからの入力を同一のイベントとして扱いたい場合には、各モダリティに対して、コマンドで指定するイベントの書き込み先が同一になるように設定する。例えば、音声入力で「はい」と入力された場合と、画面の「Yes」ボタンが押された場合を同一視する場合、音声と画面のモダリティへのコマンドで同じ場所に入力結果を書き込むように指定する。   When it is desired to handle inputs from a plurality of modalities as the same event, the event write destination specified by the command is set to be the same for each modality. For example, if the voice input is entered as “Yes” and the “Yes” button on the screen is identified, the input result is written to the same place with the voice and the command to the modality of the screen. specify.

また、シナリオ31の状態や遷移の処理の、特定のタイミングで実行される関数を、シナリオロジックと呼ぶ。これらの関数には、デフォルトの動作が用意されており、何も指定されていない場合にはそれらが呼び出される。ユーザが必要な処理を定義すると、デフォルトの動作はオーバーライドされ、ユーザ定義の処理が行われる。   In addition, a function executed at a specific timing in the state and transition processing of the scenario 31 is called scenario logic. These functions have default behaviors that are called if nothing is specified. When the user defines the required processing, the default behavior is overridden and user-defined processing is performed.

シナリオロジック32の中には、シナリオ31で記述しきれない複雑な内部処理や、アウトバウンズで制御する外部アプリケーションへの操作などを記述する。   In the scenario logic 32, complicated internal processing that cannot be described in the scenario 31, operations for external applications controlled by outbound, and the like are described.

シナリオロジック32を呼び出すタイミングを、状態aから遷移tを通って状態bに状態遷移が発生する場合を例にして示す。まず、カレントが、状態aにあるときに、遷移tのイベントが発生すると、そのイベントを受理するかどうかの判定処理の一環で、遷移tの遷移判定ロジックが実行される。判定の結果、遷移可能となった場合には、状態aの状態終了ロジックが実行され、引き続き遷移tの遷移実行ロジックが実行される。そして、状態bに遷移後、状態bのアクション要求ロジックが実行される。この後、アクションコンダクタ13にアクション要求がなされるが、このアクションが実際に実行される直前のタイミングで、状態bのコマンド確定ロジックが実行される。この後は、次のイベントが発生したところで、同様の処理を繰り返す。   The timing for calling the scenario logic 32 is shown as an example in which a state transition occurs from the state a through the transition t to the state b. First, when an event of transition t occurs when the current is in state a, the transition determination logic of transition t is executed as part of the determination process of whether to accept the event. If the result of determination is that transition is possible, the state end logic of state a is executed, and the transition execution logic of transition t is subsequently executed. Then, after transitioning to state b, the action request logic of state b is executed. Thereafter, an action request is made to the action conductor 13, but the command confirmation logic in the state b is executed at a timing immediately before this action is actually executed. Thereafter, the same processing is repeated when the next event occurs.

イベントエンジン12は、サービス利用者自身の状態、サービス利用者周辺の状態、あるいはサービスの実行状態など様々な状態をイベントデータテーブル34に収集・管理し、各イベントの監視元に対し、イベントが発生した際にイベント発生通知を行うことによって、イベント発生を契機にサービスを提供するイベント駆動型サービスを実現するためのイベント管理コンポーネントである。   The event engine 12 collects and manages various states such as the service user's own state, the state around the service user, and the execution state of the service in the event data table 34, and an event occurs for each event monitoring source. This is an event management component for realizing an event-driven service that provides a service when an event occurs by notifying the occurrence of an event when the event occurs.

イベントエンジン12は、イベント管理機能(イベントマネージャ121による機能)、イベント通知機能(イベントマネージャ121による機能)、イベントアグリゲーション機能(イベントアグリゲータ122の機能)とを有する。イベント管理機能は、イベントをイベントデータテーブル34に格納・管理する機能である。イベントを新規登録、更新、削除、検索する機能を提供する。イベント通知機能は、イベントの監視元に対し、イベント発生を通知する機能である。イベントの監視元は、監視するイベントに対して予め監視登録(Subscribe)を要求しておくことにより、Subscribe対象のイベントが発生すると、イベントエンジン12からイベント通知(Notify)を受けることができる。イベント監視元は、Subscribe時に通知を受けるためのイベント通知条件を指定(条件付きSubscribe)することによって、不必要なイベント通知をフィルタリングすることができる。イベントアグリゲーション機能は、開発者の定義した外部ロジック(以下、イベントアグリゲーションロジック)により、各種デバイスなどから得られる詳細なイベントデータを、アプリケーションが取り扱いやすいイベントデータに加工する機能を提供する。例えば、車載センサーから得られるウインカー、ハンドル操舵角度、アクセル開度、ブレーキ強度の値を総合して、運転手の繁忙度合い(低〜中〜高)を算出し新しいイベントデータとする。イベントアグリゲーションロジックは、予めシェアドライブラリに登録され、イベントエンジン12からロードされる。   The event engine 12 has an event management function (function by the event manager 121), an event notification function (function by the event manager 121), and an event aggregation function (function of the event aggregator 122). The event management function is a function for storing and managing events in the event data table 34. Provides functions for registering, updating, deleting, and searching for events. The event notification function is a function for notifying the event monitoring source of the occurrence of the event. The event monitoring source can request event registration (Notify) from the event engine 12 when an event to be subscribed occurs by requesting monitoring registration (Subscribe) in advance for the event to be monitored. The event monitoring source can filter unnecessary event notifications by designating an event notification condition for receiving notification at the time of Subscribe (conditional Subscribe). The event aggregation function provides a function for processing detailed event data obtained from various devices into event data that can be easily handled by an application by an external logic defined by the developer (hereinafter, event aggregation logic). For example, the driver's busy degree (low to medium to high) is calculated as new event data by combining the values of the winker, steering wheel steering angle, accelerator opening, and brake strength obtained from the in-vehicle sensor. The event aggregation logic is registered in advance in the shared library and loaded from the event engine 12.

イベントロジック33は、アプリケーション層3においてイベントデータテーブル34を処理するものであり、開発者によって定義される。   The event logic 33 processes the event data table 34 in the application layer 3 and is defined by the developer.

アクションコンダクタ13は、アクション制御エンジン131と、マルチモーダルエンジン132とを有する。アクション制御エンジン131は、サービスからのアクション要求を管理し、出力順序を調停したり、出力を抑制したりすると共に、アクション出力状況の通知を行うモジュールである。複数のサービスから非同期にアクション要求を受信し、それらの優先度に従った出力順序を変更する出力調停機能や、負荷に応じて重要度の高いアクションだけを実行する出力抑制機能、アクションの出力状況に合わせてイベントタイプを更新する出力状況通知機能を提供する。マルチモーダルエンジン132は、シナリオエンジン11のアクション記述内容に応じて、アクションコンダクタ13が管理する複数のモダリティに対し制御(モダリティに対してコマンド送信及びモダリティからのレスポンス受信)するモジュールである。   The action conductor 13 includes an action control engine 131 and a multimodal engine 132. The action control engine 131 is a module that manages an action request from a service, mediates an output order, suppresses output, and notifies an action output status. Output arbitration function that receives action requests asynchronously from multiple services and changes the output order according to their priority, output suppression function that executes only actions with high importance according to load, action output status Provides an output status notification function that updates the event type according to. The multimodal engine 132 is a module that controls a plurality of modalities managed by the action conductor 13 (sends commands to the modalities and receives responses from the modalities) according to the action description contents of the scenario engine 11.

アクションは、サービスが各モダリティに対する命令内容を定義するもので、各モダリティの制御コマンドや優先度・重要度、処理結果の書き込み場所などから構成される。アクションは、サービスからの要求によって生成され、アクションコンダクタ13に後に述べるアクションキューで管理されるが、サービスからのアクションのキャンセル要求やアクション完了のタイミングでアクションコンダクタ13が廃棄する。   The action is what the service defines the command contents for each modality, and is composed of the control command, priority / importance of each modality, and the place where the processing result is written. The action is generated by a request from the service and is managed by an action queue described later in the action conductor 13, but is discarded by the action conductor 13 when the action is canceled from the service or when the action is completed.

アクションに関するデータ構造を図2に示す。図2は、1つのアクションについてのデータ構造を示している。アクション要求情報構造体は、アクションID、アクション要求元ID、アクション実行状態、アクション優先度、アクション重要度、コマンド構造体配列の先頭アドレス、コマンド数、コマンド確定コールバック関数のアドレス、コマンド確定パラメータのアドレス、イベント書き込み先のアドレスなどを含む。1つのアクションには複数のコマンドを含むことが可能であり、コマンド数でその数が規定される。また、コマンド構造体配列の先頭アドレスは、当該アクションに関係するコマンド情報構造体の先頭アドレスを示している。コマンド情報構造体は、命令先入出力ミドルウェアの識別情報と、コマンドと、コマンドパラメータとを含む。また、イベント書き込み先情報のアドレスは、イベント書き込み先情報構造体の先頭アドレスを示している。イベント書き込み先情報構造体は、完了イベント書き込み先のイベントタイプ名、待機イベント書き込み先のイベントタイプ名、開始イベント書き込み先のイベントタイプ名、中断イベント書き込み先のイベントタイプ名、再開イベント書き込み先のイベントタイプ名、エラーイベント書き込み先のイベントタイプ名を含む。コマンドは、モダリティに対する制御コマンドである。コマンド情報構造体において、命令先入出力ミドルウェアの識別情報はアクションコンダクタ13によって利用されるが、それ以外の内容は出力先のモダリティによって解釈される。重要度は、負荷に応じた出力抑制制御に用いられる。優先度は、アクションの出力調停に利用される。   A data structure related to the action is shown in FIG. FIG. 2 shows the data structure for one action. The action request information structure includes an action ID, action request source ID, action execution state, action priority, action importance, command structure array start address, number of commands, command confirmation callback function address, command confirmation parameter Includes address, event write destination address, etc. One action can include a plurality of commands, and the number is defined by the number of commands. The start address of the command structure array indicates the start address of the command information structure related to the action. The command information structure includes identification information of the instruction destination input / output middleware, a command, and a command parameter. The event write destination information address indicates the start address of the event write destination information structure. The event write destination information structure includes the event type name of the completion event write destination, the event type name of the standby event write destination, the event type name of the start event write destination, the event type name of the interrupt event write destination, and the event of the resume event write destination Contains the type name and event type name to which the error event is written. The command is a control command for the modality. In the command information structure, the identification information of the instruction destination input / output middleware is used by the action conductor 13, but the other contents are interpreted by the modality of the output destination. The importance is used for output suppression control according to the load. The priority is used for output arbitration of the action.

なお、出力の抑制機能や出力順序の調停機能により、アクションを要求されるタイミングと、実際に出力が行われるタイミングは大きく異なる場合がある。このような場合に、アクション要求時の制御コマンドをそのまま利用しては、出力内容が不適切になったりする。それを避けるため、出力直前に制御コマンドの内容を確定させたい場合がある。コマンド確定コールバック関数が指定されると、実際の出力直前のタイミングで呼び出され、コマンド内容が確定した後に出力が行われる。コマンド確定パラメータは、コマンド確定コールバック関数で用いられるパラメータである。コマンド確定コールバック関数については後に詳述する。   Note that the timing at which an action is requested may be greatly different from the timing at which actual output is performed due to the output suppression function and the output order arbitration function. In such a case, if the control command at the time of requesting an action is used as it is, the output contents may become inappropriate. In order to avoid this, there are cases where it is desired to confirm the contents of the control command immediately before output. When the command confirmation callback function is specified, it is called at the timing immediately before the actual output, and the output is performed after the command content is confirmed. The command confirmation parameter is a parameter used in the command confirmation callback function. The command confirmation callback function will be described in detail later.

アクション要求元IDは、優先度が同じ場合には、同じ要求元からのアクションを継続して出力するように制御するために指定される。   The action request source ID is designated to control to continuously output actions from the same request source when the priorities are the same.

アクション要求は、以下の流れで処理される。
(1)アクション要求
サービスは、アクションコンダクタ13に対して、アクション出力の要求を登録する。アクションコンダクタ13は、送られてきた要求に対して、重要度や優先度によって出力の可否を判定する。アクションが直ぐに出力できる場合も、実際にアクションの出力を行うタイミングで、(2)コマンド確定処理が行われる。アクション要求は、複数のサービスから非同期に行われる可能性がある。
The action request is processed in the following flow.
(1) Action request The service registers an action output request for the action conductor 13. The action conductor 13 determines whether or not the request can be output based on the importance level and the priority level. Even when the action can be output immediately, (2) command confirmation processing is performed at the timing when the action is actually output. Action requests may be made asynchronously from multiple services.

出力できなかった、すなわち保留されたアクションは、アクションコンダクタ13が記憶しており、次回の出力判定タイミングで再度、出力可能性を判定する。保留されていたアクションが新たに出力可能になった場合は、必要に応じて開始イベントが通知される。   The action conductor 13 stores the action that could not be output, that is, the suspended action, and determines the possibility of output again at the next output determination timing. When a suspended action can be newly output, a start event is notified as necessary.

(2)コマンド確定
アクションコンダクタ13は、アクションを実際に出力するタイミングで、コマンド内容を確定させるためのコールバック関数を呼び出す。サービスは、呼び出されたコールバック関数内で、必要に応じてコマンドの差し替えを行う。なお、要求時に指定したモダリティを変更することはできない。要求時のアクションにコマンド確定のためのコールバック関数が登録されていない場合には、これらの処理は行われず、アクション要求時のコマンドがそのまま利用される。アクション要求時にコマンドもコールバック関数も指定されていない場合にはエラーとして要求時に処理される。アクションの中断・再開によって、複数回、出力が開始される場合があるが、その際にはコールバック関数は、その都度呼び出される。
(2) Command Confirmation The action conductor 13 calls a callback function for confirming the command content at the timing when the action is actually output. The service replaces commands as necessary in the called callback function. Note that the modality specified at the time of request cannot be changed. If a callback function for command confirmation is not registered in the action at the time of request, these processes are not performed and the command at the time of requesting an action is used as it is. If neither a command nor a callback function is specified when an action is requested, it is processed as an error when requested. The output may be started multiple times due to the interruption / resumption of the action. In this case, the callback function is called each time.

(3)アクションのキャンセル
出力が完了したアクション要求は、アクションコンダクタ13によって破棄される。一方、不要となったアクションは、サービスが明示的にキャンセルを発行する必要がある。アクション要求時に返却されるアクションIDを用いてキャンセル対象を指定する。キャンセル要求されたアクションは、出力状況にかかわらず削除される。出力中であれば、その時点で出力を中止する。
(3) Canceling an action An action request whose output has been completed is discarded by the action conductor 13. On the other hand, for actions that are no longer necessary, the service must explicitly issue a cancel. The cancellation target is specified using the action ID returned when the action is requested. The action requested to be canceled is deleted regardless of the output status. If output is in progress, output is stopped at that point.

実際のアクションキャンセル要求は、アクション要求(キャンセルされるアクションの次のアクションの要求)のタイミングと同時に行われる。これは、アクションキャンセル処理と次のアクションの要求の間にタイムラグが生ずると、本来出力すべきでない別なアクションが出力される可能性があり、これを防止するためである。   The actual action cancellation request is made simultaneously with the timing of the action request (request for the action next to the canceled action). This is to prevent another action that should not be output if a time lag occurs between the action cancel process and the next action request, and this is to be prevented.

アクション制御エンジン131の出力調停機能としては、出力調停機能を有する。   The output arbitration function of the action control engine 131 has an output arbitration function.

アクションキューでは、図3に示したように、優先度順に、アクション要求情報構造体へのアドレスが並べられている。図3の例では、音声出力についてのアクションA、アイコン出力についてのアクションB、音声出力についてのアクションCが、この順番の優先度で存在する場合には、アクション要求情報構造体Aへのアドレス、アクション要求情報構造体Bへのアドレス、アクション要求情報構造体Cへのアドレスが順番に並べられている。   In the action queue, as shown in FIG. 3, the addresses to the action request information structures are arranged in order of priority. In the example of FIG. 3, when the action A for audio output, the action B for icon output, and the action C for audio output exist in this order of priority, the address to the action request information structure A, An address to the action request information structure B and an address to the action request information structure C are arranged in order.

なお、アクションのキャンセルと要求は同じタイミングで行われるので、キャンセルされるアクションが実行中、あるいは、完了後であり、次のアクションが存在すれば、この処理が行われる。   Since the action cancellation and the request are performed at the same timing, this process is performed when the action to be canceled is being executed or after completion and there is a next action.

次に出力調停機能について説明する。アクションコンダクタ13は、アクション要求の有する優先度に従って、アクションを出力する順番を調停する機能を有する。複数のサービスが非同期に動作している場合、アクション出力の要求が競合する場合がある。例えば以下の場合である。
[1]あるサービスがアクション出力を行っている最中に、別にサービスがアクション出力の要求を行う。
[2]異なるサービスが同時にアクション出力の要求を行う。
Next, the output arbitration function will be described. The action conductor 13 has a function of adjusting the order of outputting actions according to the priority of the action request. When multiple services are operating asynchronously, requests for action output may conflict. For example, the following cases.
[1] While a service is outputting an action, another service requests an action output.
[2] Different services simultaneously request action output.

アクション出力調停機能は、このようなアクション要求の競合が発生した場合に、重要なアクションを優先的に出力するように調停する機能を提供する。   The action output arbitration function provides a function of arbitrating so that important actions are preferentially output when such action request contention occurs.

上で述べたように、アクションには優先度が定義されており、この値を用いて次のような調停を行う。
[1]現在出力中のアクションより優先度が高いアクション要求は、現在の出力を中断して出力する。
[2]現在出力中のアクションより優先度が低いか、同じ優先度のアクション要求は、現在の出力が完了するまで待たされる。
As described above, the priority is defined for the action, and the following mediation is performed using this value.
[1] An action request having a higher priority than the action currently being output is output after the current output is interrupted.
[2] An action request having a priority lower than or equal to the action currently being output is waited until the current output is completed.

なお、同時に複数のアクション要求が発生した場合でも、実際の処理はシリアライズされるため、順番に要求される場合と同じになる。   Note that even when a plurality of action requests are generated at the same time, the actual processing is serialized, and thus the same processing as in the case where requests are made in order.

アクションコンダクタ13は、負荷の大きさに応じてアクションの出力を抑制するアクション出力抑制機能をも有している。負荷の大きさに対応する重要度の閾値はイベントタイプとして用意され、値の変化に応じてアクションコンダクタ13がイベント受けるように設定される。   The action conductor 13 also has an action output suppressing function that suppresses action output in accordance with the magnitude of the load. The threshold of importance corresponding to the magnitude of the load is prepared as an event type, and is set so that the action conductor 13 receives an event according to a change in the value.

アクションコンダクタ13は、イベントを受け付けて、内部的に重要度の閾値の変化を保持する。この閾値と、要求されたアクション、又は実行中のアクションの重要度とを比較し、出力の抑制制御を実施する。具体的には、以下の2つのケースで異なった出力抑制制御を実施する。   The action conductor 13 accepts an event and internally holds a change in importance threshold. The threshold value is compared with the importance of the requested action or the action being executed, and output suppression control is performed. Specifically, different output suppression control is performed in the following two cases.

[a]アクション要求時
アクションの要求時には、アクションの重要度と閾値とを比較し、アクションの重要度の方が高いか等しい場合には出力可能とする。そうでない場合、出力を抑制し、アクションの要求は保留される。
[b]閾値の変化時
重要度の閾値が変化した場合、出力中を含む全てのアクション要求に対して重要度を比較し、重要度が閾値より高いか等しいものだけを集めて、出力調停処理を実施する。この結果、出力中のアクションが他のアクションに割り込まれる可能性がある。また、出力中のアクションの重要度が低くて出力できなくなった場合には、他のアクション出力が出なかったとしても中断される。
[A] When requesting an action When requesting an action, the importance of the action is compared with a threshold value, and if the importance of the action is higher or equal, output is possible. Otherwise, the output is suppressed and the action request is deferred.
[B] When the threshold value changes When the importance level threshold value changes, the importance levels are compared for all action requests including those during output, and only those whose importance level is higher than or equal to the threshold value are collected, and output arbitration processing To implement. As a result, the action being output may be interrupted by another action. Further, when the importance of the action being output is low and cannot be output, the action is interrupted even if no other action output is output.

出力抑制機能によって出力できなかったアクションには、必要に応じて待機イベントが通知される。また、待機していたアクションが、負荷が下がって(すなわち重要度の閾値が下がり)出力可能となった場合には、必要に応じて開始イベントが通知される。出力中に負荷が高くなって中断されたアクションには、必要に応じて中断イベントが通知され、負荷が下がって再度(最初から)出力を行う場合には、必要に応じて再開イベントが通知される。   Actions that could not be output by the output suppression function are notified of a standby event as necessary. Further, when the action that has been waiting can be output because the load is reduced (that is, the importance threshold is lowered), a start event is notified as necessary. Actions interrupted due to a high load during output are notified of an interrupt event if necessary, and if the load is reduced and output is started again (from the beginning), a restart event is notified if necessary. The

アクションコンダクタ13は、各アクションの出力状況を管理し、必要に応じて通知を行うアクション出力状態通知機能を有する。アクションの出力状況は、図2に示したアクション要求情報構造体における「アクション実行状態」において管理される。アクション実行状態としては、図4に示すような状態のいずれかが設定される。   The action conductor 13 has an action output state notification function that manages the output status of each action and performs notification as necessary. The output status of the action is managed in the “action execution state” in the action request information structure shown in FIG. One of the states shown in FIG. 4 is set as the action execution state.

図4に示すように、アクションのデータが登録された状態(初期状態)である「登録済み」状態と、アクションが直ぐに出力できず、待たされる状態である「待機」状態と、アクションを開始した状態である「開始」状態と、出力中のアクションが何らかの原因で中断された状態である「中断」状態と、一度中断されたアクションを再度出力し直す状態である「再開」状態と、アクション出力が完了した状態である「完了」状態と、アクション出力がエラーとなった状態である「エラー」状態とが定義されている。   As shown in FIG. 4, the action is started, the “registered” state in which action data is registered (initial state), the “standby” state in which the action cannot be output immediately, and is in a wait state. "Start" state that is the state, "Suspend" state where the action being output has been interrupted for some reason, "Resume" state where the interrupted action is output again, and action output “Completed” state is defined, and “Error” state is defined in which the action output is in error.

「登録済み」状態は、アクションコンダクタ13内にアクション要求が登録された直後であり、アクション出力抑制/出力調停が行われていない状態である。「待機」状態は、具体的には、要求したアクションが、出力調停機能によって出力を待たされる場合、あるいは、出力抑制機能によって出力が待たされる場合に発生する。「開始」状態は、要求されたアクションが初めて出力される場合に発生する。アクションが出力待ちになっていなくても、初めて出力が開始されるタイミングで発生する。「中断」状態は、出力中のアクションが、完了していない段階で停止させられる場合に発生する。具体的には、他のサービスの要求アクションによる出力調停で出力を中断する場合と、出力抑制機能によって出力が抑制される場合に発生する。「再開」状態は、中断状態にあったアクションが、再度実行可能になったタイミングで発生する。具体的には、他のサービスが完了して、中断されていたアクションが再度実行可能になった場合や、出力抑制機能で抑制されていたものが解除された場合に発生する。「完了」状態は、出力中のアクションが完了した場合に発生する。アクションの完了はモダリティによって異なり、例えば、音声合成であれば指定された発話内容とタイムアウト時間が経過した段階で完了となる。通常は、モダリティからアクションコンダクタ13に完了が通知され、マルチモーダルエンジン132で、複数モダリティの完了状態を統合して完了を統合して、完了を判定する。「エラー」状態は、出力しようとした又は出力中のアクションが、何らかの原因でエラーとなった場合に発生する。エラー発生の例としては、マルチモーダルエンジン132のモダリティ制御機能でのアクション実行エラーがある。   The “registered” state is a state immediately after an action request is registered in the action conductor 13 and is a state in which action output suppression / output arbitration is not performed. Specifically, the “standby” state occurs when the requested action is waited for output by the output arbitration function or when the output is waited for by the output suppression function. The “start” state occurs when the requested action is output for the first time. Even when the action is not waiting for output, it occurs at the timing when output is started for the first time. The “suspended” state occurs when the action being output is stopped when it is not completed. Specifically, it occurs when output is interrupted by output arbitration by a request action of another service and when output is suppressed by the output suppression function. The “restart” state occurs at the timing when the action in the suspended state can be executed again. Specifically, it occurs when another service is completed and the interrupted action can be executed again, or when an action that has been suppressed by the output suppression function is released. The “completed” state occurs when the action being output is completed. The completion of the action differs depending on the modality. For example, in the case of speech synthesis, the action is completed when the designated utterance content and the timeout time have elapsed. Normally, the completion is notified from the modality to the action conductor 13, and the multimodal engine 132 integrates the completion states of a plurality of modalities and integrates the completions to determine completion. The “error” state occurs when an action to be output or being output becomes an error for some reason. An example of an error occurrence is an action execution error in the modality control function of the multimodal engine 132.

「待機」「開始」「登録済み」「完了」「エラー」の状態は、アクション出力を通じて1度しか発生しないが、「中断」「再開」のイベントは複数回発生する可能性がある。   The states of “standby”, “start”, “registered”, “completed”, and “error” occur only once through the action output, but the events of “interrupt” and “resume” may occur a plurality of times.

なお、ここでは簡略化のため「通知」と記述しているが、実際には、イベントエンジン12の提供するSubscribe機能を用いてサービスがあるイベントタイプ名とイベント通知を要求しておき、同じイベントタイプ名に対して書き込み機能を用いて値の書き込みを行うことで通知が行われる。   In addition, although it is described as “notification” here for simplification, in actuality, the same event is requested by requesting an event type name and event notification with a service using the Subscribe function provided by the event engine 12. Notification is performed by writing a value to the type name using a write function.

各アクションには、これらの状態に対応する通知場所(図2におけるイベント書き込み先情報構造体における書き込み先のイベントタイプ名)が指定される。イベント通知が不要な場合には、指定がないため、書き込み処理も行われない。   Each action is designated with a notification location (the event type name of the write destination in the event write destination information structure in FIG. 2) corresponding to these states. If no event notification is required, no writing process is performed because there is no designation.

マルチモーダルエンジン132は、マルチモーダル機能を有する。マルチモーダル機能は、シナリオエンジン11のアクション記述内容に応じて、アクションコンダクタ13が管理する複数のモダリティに対して制御(モダリティに対してコマンド送信及びモダリティからのレスポンス受信)する機能を提供する。具体的には、マルチモーダル機能は、モダリティ管理機能と、モダリティ制御機能とを有する。   The multimodal engine 132 has a multimodal function. The multimodal function provides a function of controlling a plurality of modalities managed by the action conductor 13 (sending commands to the modalities and receiving responses from the modalities) according to the action description contents of the scenario engine 11. Specifically, the multimodal function has a modality management function and a modality control function.

モダリティ管理機能は、モダリティ新規登録機能と、モダリティ制御一時停止機能と、モダリティ制御再開機能と、モダリティ登録削除機能とを有する。   The modality management function includes a new modality registration function, a modality control suspension function, a modality control restart function, and a modality registration deletion function.

モダリティ新規登録機能は、基盤ミドルウェア層5のモダリティが、アクションコンダクタ13から制御されるために、モダリティの起動時にモダリティの情報を新規登録する機能である。モダリティ制御一時停止機能は、モダリティ新規登録機能により登録済みのモダリティが何らかの事情により一時的に制御不能状態になったとき(例えば、自動車が走行中になり、画面出力を抑制する必要がある場合など)に、アクションコンダクタ13に対して制御を一時的に抑止することを宣言する機能である。モダリティ制御再開機能は、モダリティ制御一時停止機能により一時停止中のモダリティが、状況が変化し制御可能となったときに、制御の再開を宣言する機能である。モダリティ登録削除機能は、モダリティ新規登録機能により登録済みのモダリティが、システム終了などにより処理を終了する場合に、登録を削除する機能である。   The new modality registration function is a function for newly registering modality information when the modality is activated because the modality of the base middleware layer 5 is controlled by the action conductor 13. The modality control pause function is used when the modality registered by the new modality registration function temporarily becomes uncontrollable for some reason (for example, when the car is running and it is necessary to suppress screen output) ) To declare that the action conductor 13 is temporarily controlled. The modality control resuming function is a function for declaring resumption of control when the modality that has been suspended by the modality control pausing function becomes controllable due to a change in the situation. The modality registration deletion function is a function for deleting registration when the modality registered by the new modality registration function ends the processing due to the system termination or the like.

モダリティ制御機能は、モダリティ状態管理機能と、モダリティ出力調停機能とを有する。   The modality control function has a modality state management function and a modality output arbitration function.

モダリティ状態管理機能は、アクションに記述される各モダリティへのコマンド要求とそのレスポンスを監視し、各モダリティが空き状態であるかビジー状態であるか(ビジー状態である場合は、当該アクションの優先度も保持)を常時管理する機能である。   The modality state management function monitors the command request and response to each modality described in the action, and whether each modality is empty or busy (if it is busy, the priority of the action Is also a function that always manages

モダリティ状態管理機能では、図5に示すような入出力ミドルウェア(モダリティ)管理テーブルを管理している。図5の例では、モダリティID、モダリティ名、割り込み種別と、実行アクション情報とを管理している。この実行アクション情報として、ビジーや、待機といった状態に関するデータが含まれる。割り込み種別については、他の優先度の高いアクションによって割り込みが行われる「割込可」と、割込制御が全く行われず、並列動作を許容する「割込制御無し」と、割り込みが全く認められない「割込不可」などがある。   The modality state management function manages an input / output middleware (modality) management table as shown in FIG. In the example of FIG. 5, the modality ID, modality name, interrupt type, and execution action information are managed. The execution action information includes data related to a busy or standby state. As for the interrupt type, no interrupts are permitted, such as “interrupt enabled” where interrupts are performed by other high-priority actions and “no interrupt control” allowing no parallel interrupt control. There is no "no interrupt" etc.

モダリティ出力調停機能は、アクション制御エンジン131から渡される複数のアクション要求を、アクション要求に記述される各モダリティへの個々のコマンドが出力可能かどうか判定(モダリティ管理機能とモダリティ状態管理機能を参照し、モダリティが存在するかどうか、存在する場合には当該モダリティがビジーであるかどうかを判定)し、アクション要求の衝突を調停する機能である。   The modality output arbitration function determines whether individual commands to each modality described in the action request can be output from a plurality of action requests passed from the action control engine 131 (refer to the modality management function and the modality state management function). , Whether or not a modality exists, and if so, whether or not the modality is busy) and arbitrates the conflict of action requests.

具体的には、アクション要求に記述される入力コマンドに対応するモダリティの状態に応じて図6に示すようなチェック結果を得て、さらに出力コマンドに対応するモダリティの状態に応じて図7に示すようなチェック結果を得る。さらに、チェック結果から図8に示すようなアクション実行判定を実施する。なお、入出力コマンドについては、入力コマンドとしてチェックを行い、さらに出力コマンドとしてもチェックを行う。   Specifically, a check result as shown in FIG. 6 is obtained according to the state of the modality corresponding to the input command described in the action request, and further shown in FIG. 7 according to the state of the modality corresponding to the output command. Get a check result like this: Further, an action execution determination as shown in FIG. 8 is performed from the check result. The input / output command is checked as an input command, and further checked as an output command.

図6の入力コマンドとチェック結果の対応テーブルには、未登録のモダリティ、登録済みであって制御一時停止のモダリティ、登録済みであってビジー状態のモダリティ、登録済みであって空き状態のモダリティについて、入力コマンドに係るモダリティの一部について該当する場合、又は全てが該当する場合におけるチェック結果がまとめてある。なお、「割込制御無し」のモダリティについては、常に「空き状態」としてチェックする。   The correspondence table of input commands and check results in FIG. 6 includes unregistered modalities, registered and control suspension modalities, registered and busy modalities, and registered and empty modalities. The check results in the case where a part of the modalities related to the input command are applicable or in the case where all of them are applicable are summarized. The modality of “no interrupt control” is always checked as “free”.

具体的には、入力コマンドに係るモダリティの状態が全て未登録であれば「エラー」として判定され、全て一時停止であれば「保留」と判定され、一部のモダリティがビジーであれば「保留」と判定され、一部が未登録又は一時停止のモダリティの場合には「保留」と判定され、それ以外の場合に「実行可」と判定される。   Specifically, if all of the modality states related to the input command are not registered, it is determined as “error”, if all of the modalities are suspended, it is determined as “hold”, and if some modalities are busy, “hold” is determined. Is determined as “hold” when a part of the modality is unregistered or temporarily suspended, and “executable” is determined otherwise.

同様に、図7の出力コマンドとチェック結果の対応テーブルには、未登録のモダリティ、登録済みであって制御一時停止のモダリティ、登録済みであってビジー状態のモダリティ、登録済みであって空き状態のモダリティについて、出力コマンドに係るモダリティの一部について該当する場合、又は全てが該当する場合におけるチェック結果がまとめてある。なお、「割込制御無し」のモダリティについては、常に「空き状態」としてチェックする。   Similarly, the output command and check result correspondence table of FIG. 7 includes an unregistered modality, a registered and control pause modality, a registered and busy modality, and a registered and empty state. As for the modalities, the check results in the case where all or all of the modalities related to the output command are applicable are summarized. The modality of “no interrupt control” is always checked as “free”.

具体的には、出力コマンドに係るモダリティの状態が全て未登録であれば「エラー」として判定され、全て一時停止であれば「保留」と判定され、一部のモダリティがビジーであれば「保留」と判定され、一部が未登録又は一時停止のモダリティの場合には「保留」と判定され、それ以外の場合に「実行可」と判定される。   Specifically, if all of the modality states related to the output command are not registered, it is determined as “error”, if it is all suspended, it is determined as “hold”, and if some modalities are busy, “hold” Is determined as “hold” when a part of the modality is unregistered or temporarily suspended, and “executable” is determined otherwise.

図8は、入力コマンド群のチェック結果と出力コマンド群のチェック結果とを総合して、アクション実行判定の結果を示すテーブルである。具体的には、入力コマンド群のチェック結果と出力コマンド群のチェック結果とのいずれかが「エラー」であれば「エラー」と判定され、入力コマンド群のチェック結果又は出力コマンド群のチェック結果が「保留」であれば「保留」と判定され、さらに入力コマンド群のチェック結果も出力コマンド群のチェック結果も「実行可」であれば「実行可」と判定される。なお、いずれかのチェック結果がエラーであれば、必要に応じて警告ログを出力する。   FIG. 8 is a table showing the result of action execution determination by combining the check result of the input command group and the check result of the output command group. Specifically, if any of the check result of the input command group and the check result of the output command group is “error”, it is determined as “error”, and the check result of the input command group or the check result of the output command group is If it is “hold”, it is determined as “hold”, and if both the check result of the input command group and the check result of the output command group are “executable”, it is determined as “executable”. If any check result is an error, a warning log is output as necessary.

上でも述べたが、基盤ミドルウェア層5には、入力ミドルウェア1(51)、入力ミドルウェア2(52)、....、出力ミドルウェア1(53)、出力ミドルウェア2(54)、...などを含む。このように、デバイス層7に含まれる各種センサー71やマイク73などからイベントを検出してイベントエンジン12に出力するイベント入力ミドルウェア、デバイス層7に含まれるディスプレイ72やスピーカ74などに対してコマンドに応じた出力処理を実施する出力モダリティミドルウェアを含む。   As described above, the base middleware layer 5 includes the input middleware 1 (51), the input middleware 2 (52),. . . . , Output middleware 1 (53), output middleware 2 (54),. . . Etc. In this manner, event input middleware that detects events from various sensors 71 and microphones 73 included in the device layer 7 and outputs them to the event engine 12, and provides commands to the display 72 and speakers 74 included in the device layer 7. It includes output modality middleware that performs the corresponding output processing.

デバイス層7は、車載端末などの各種センサーや出力デバイスなどを含む。   The device layer 7 includes various sensors such as in-vehicle terminals and output devices.

次に、本実施の形態に係る主要な処理について図9乃至図18を用いて説明する。アクション制御エンジン131は、シナリオエンジン11からのアクション要求又はキャンセル、重要度の閾値更新イベントの発生、アクション実行状態の更新タイミングで、以下の処理を実施する。   Next, main processing according to the present embodiment will be described with reference to FIGS. The action control engine 131 performs the following processing at the action request or cancellation from the scenario engine 11, the occurrence of the importance threshold update event, and the action execution state update timing.

まず、上で述べたような事象が発生してアクション出力抑制/調停開始指示を受信するまで、開始指示待ちとなる(ステップS1)。そして、アクション出力抑制/調停開始指示を受信すると、現在の重要度の閾値と、アクションキュー中における実行中のアクションに規定されている重要度とを比較する(ステップS3)。図2に示したアクション要求情報構造体に含まれるアクション重要度と、内部構造に保持されている現在の重要度の閾値とを比較する。複数のアクションがアクションキューに登録されている場合には、図2に示したアクション要求情報構造体に含まれるアクション実行状態を参照して、「実行中」であるアクションについて比較を実施する。   First, a start instruction is waited until an event as described above occurs and an action output suppression / arbitration start instruction is received (step S1). When the action output suppression / arbitration start instruction is received, the current importance level threshold value is compared with the importance level defined for the action being executed in the action queue (step S3). The action importance level included in the action request information structure shown in FIG. 2 is compared with the current importance level threshold held in the internal structure. When a plurality of actions are registered in the action queue, the action execution state included in the action request information structure shown in FIG.

比較の結果として、重要度<閾値である実行中のアクションがある場合には、この条件を満たす全ての実行中のアクションを中断にする(ステップS5)。すなわち、図2に示したアクション要求情報構造体に含まれるアクション実行状態を「中断」に設定する。そして、ステップS7に移行する。一方、比較の結果として、重要度<閾値である実行中のアクションがなければステップS7に移行する。   As a result of the comparison, if there is an action being executed that has an importance level <threshold value, all the actions being executed that satisfy this condition are suspended (step S5). That is, the action execution state included in the action request information structure shown in FIG. Then, the process proceeds to step S7. On the other hand, as a result of the comparison, if there is no action being executed with importance <threshold, the process proceeds to step S7.

その後、現在アクションキューにキューイングされているアクション情報全てに対して、図2に示したアクション要求情報構造体に含まれる優先度順に出力調停を行い、優先度順にアクション情報(アクション要求情報構造体及びそれからリンクする情報)をアクションキューから取得する(ステップS7)。そして、現在の重要度の閾値と今回取得されたアクション情報に含まれるアクションの重要度の比較を行う(ステップS9)。ここで重要度<閾値であれば、次の優先度のアクションの処理に移行するためステップS7に戻る。一方、閾値≦重要度であれば、今回取得したアクション情報からアクション実行状態判定を実施する(ステップS11)。アクション情報に含まれるアクション実行状態が、「開始」「再開」「完了」又は「エラー」であるか判断する。このような場合には、再度アクション実行判定を実施する必要はないので、次の優先度のアクションの処理に移行するためステップS7に戻る。   Thereafter, output arbitration is performed in the order of priority included in the action request information structure shown in FIG. 2 for all action information currently queued in the action queue, and action information (action request information structure in priority order) And the information linked to it) are acquired from the action queue (step S7). Then, the current importance threshold is compared with the importance of the action included in the action information acquired this time (step S9). If importance <threshold, the process returns to step S7 in order to shift to the next priority action process. On the other hand, if threshold value ≦ importance level, action execution state determination is performed from the action information acquired this time (step S11). It is determined whether the action execution state included in the action information is “start”, “resume”, “complete”, or “error”. In such a case, since it is not necessary to perform the action execution determination again, the process returns to step S7 to shift to the action processing of the next priority.

一方、アクション情報に含まれるアクション実行状態が、「登録済み」「待機」又は「中断」であれば、マルチモーダルエンジン132でアクション実行判定を行う(ステップS13)。実行可能であれば、この段階で実行する。この処理については、図10を用いて説明する。そして、アクションキューに出力調停が実施されていないアクションが存在すればステップS7に戻る。一方、アクションキューに出力調停が実施されていないアクションが存在しない場合には、ステップS1に戻る。   On the other hand, if the action execution state included in the action information is “registered”, “waiting”, or “interrupted”, the multimodal engine 132 makes an action execution determination (step S13). If possible, execute at this stage. This process will be described with reference to FIG. If there is an action for which output arbitration is not performed in the action queue, the process returns to step S7. On the other hand, if there is no action for which output arbitration is not performed in the action queue, the process returns to step S1.

次に、図10を用いてマルチモーダルエンジン132によるアクション実行判定について説明する。まず、アクション要求情報構造体からリンクされたコマンド情報構造体から特定される入力コマンド及び入出力コマンドについて、当該コマンドの実行対象モダリティの状態チェックを、図5に示した入出力ミドルウェア管理テーブルを参照して実施する(ステップS21)。図5に示した入出力ミドルウェア管理テーブルにおける実行アクション情報から実行対象モダリティの状態をチェックする。なお、上でも述べたが、割り込み種別も関係しており、割り込み種別が「割込制御無し」のモダリティであれば必ず「空き状態」と特定される。割込不可でビジーであれば、実行保留となる。   Next, action execution determination by the multimodal engine 132 will be described with reference to FIG. First, for the input command and input / output command specified from the command information structure linked from the action request information structure, check the status of the execution target modality of the command, referring to the input / output middleware management table shown in FIG. (Step S21). The state of the execution target modality is checked from the execution action information in the input / output middleware management table shown in FIG. As described above, the interrupt type is also related. If the modality is “no interrupt control”, the interrupt type is always specified as “free”. If interrupt is impossible and busy, execution is suspended.

また、アクション要求情報構造体からリンクされたコマンド情報構造体から特定される出力コマンド及び入出力コマンドについて、当該コマンドの実行対象モダリティの状態チェックを、図5に示した入出力ミドルウェア管理テーブルを参照して実施する(ステップS23)。図5に示した入出力ミドルウェア管理テーブルにおける実行アクション情報から実行対象モダリティの状態をチェックする。割込不可でビジーであれば、実行保留となる。   For the output command and input / output command specified from the command information structure linked from the action request information structure, check the status of the execution target modality of the command, and refer to the input / output middleware management table shown in FIG. (Step S23). The state of the execution target modality is checked from the execution action information in the input / output middleware management table shown in FIG. If interrupt is impossible and busy, execution is suspended.

そして、図6に関連して説明したように、入力コマンド及び入出力コマンドの実行判定を実施する(ステップS25)。ここでは「エラー」「保留」又は「実行可」のいずれかが特定される。同様に、図7に関連して説明したように、出力コマンド及び入出力コマンドの実行判定を実行する(ステップS27)。ステップS25と同様に、「エラー」「保留」又は「実行可」のいずれかが特定される。   Then, as described with reference to FIG. 6, the execution determination of the input command and the input / output command is performed (step S25). Here, either “error”, “hold” or “executable” is specified. Similarly, as described with reference to FIG. 7, the execution determination of the output command and the input / output command is executed (step S27). As in step S25, either “error”, “hold” or “executable” is specified.

その後、図8に関連して説明したように、アクション実行判定を実施する(ステップS29)。これによって、「エラー」「保留」又は「実行可」のいずれかが特定される。   Thereafter, as described with reference to FIG. 8, an action execution determination is performed (step S29). As a result, either “error”, “hold” or “executable” is specified.

「エラー」が特定されると、完了イベント発生として、図2のアクション実行状態に「完了」を登録する(ステップS31)。そして元の処理に戻る。   When “error” is specified, “completion” is registered in the action execution state of FIG. 2 as a completion event occurrence (step S31). Then, the process returns to the original process.

「保留」が特定されると、ステップS11と同様に、アクション実行状態判定を実施する(ステップS33)。そして、登録済みという状態であれば、待機イベント発生として、図2のアクション実行状態に「待機」を登録する(ステップS35)。一方、「登録済み」以外の状態であれば、元の処理に戻る。   When “Hold” is specified, the action execution state determination is performed as in Step S11 (Step S33). If it is in the registered state, “standby” is registered in the action execution state of FIG. 2 as a standby event occurrence (step S35). On the other hand, if the state is other than “registered”, the process returns to the original process.

「実行可」が特定されると、ステップS11と同様に、アクション実行状態判定を実施する(ステップS37)。これによって、「登録済み」「待機」「中断」「完了」「エラー」「開始」又は「再開」のいずれかが特定される。そして、「登録済み」又は「待機」であれば、開始イベント発生として、図2のアクション実行状態に「開始」を登録する(ステップS39)。そしてステップS43に移行する。一方、「登録済み」又は「待機」以外であれば、再開イベント発生として、図2のアクション実行状態に「再開」を登録する(ステップS41)。そしてステップS43に移行する。   When “executable” is specified, the action execution state determination is performed (step S37) as in step S11. As a result, “registered”, “waiting”, “suspended”, “completed”, “error”, “start”, or “resume” is specified. If it is “registered” or “standby”, “start” is registered in the action execution state of FIG. 2 as a start event occurrence (step S39). Then, control goes to a step S43. On the other hand, if it is other than “Registered” or “Standby”, “Resume” is registered in the action execution state of FIG. 2 as a resume event occurrence (Step S41). Then, control goes to a step S43.

そして、コマンド確定コールバック関数が図2のアクション要求情報構造体において登録されている場合には、コマンド確定処理を実施する(ステップS43)。コマンド確定コールバック関数の処理については、以下に詳細に説明するため、ここではコマンド確定コールバック関数については登録されていないものとして説明する。この場合ステップS43をスキップする。   If the command confirmation callback function is registered in the action request information structure of FIG. 2, command confirmation processing is performed (step S43). Since the processing of the command confirmation callback function will be described in detail below, the command confirmation callback function will be described here as not registered. In this case, step S43 is skipped.

そして、コマンドの実行対象モダリティの状態を図5の入出力ミドルウェア管理テーブルを参照してチェックし、コマンド実行中の場合はそのコマンドの処理を中断する(ステップS45)。コマンド実行中の場合には、図2のアクション実行状態に「中断」を登録する。なお、基本的には、ステップS21又はS23と同様のチェックを行う。   Then, the status of the command execution target modality is checked by referring to the input / output middleware management table of FIG. When the command is being executed, “suspend” is registered in the action execution state of FIG. Basically, the same check as in step S21 or S23 is performed.

コマンドの実行対象モダリティの状態が「エラー」や「ビジー」ではない場合には、アクションの実行を行う(ステップS47)。そして元の処理に戻る。   If the command execution modality state is not “error” or “busy”, the action is executed (step S47). Then, the process returns to the original process.

以上のような処理を実施しすることによって、図11に示すような処理が可能となる。例えば、アクションキューに、第1優先度のアクションとして音声出力というアクションと、第2優先度のアクションとしてアイコン出力というアクションとが登録されている場合を想定する。なお、ここでは重要度の閾値より各アクションの重要度は高いものとする。このような場合、図9及び図10のフローに従って第1優先度のアクションの出力調停を実施する(ステップS51)。ここでテキスト音声出力モダリティ(TextToSpeechモダリティ)がビジーでなければ、第1優先度のアクションの出力処理が実施され、音声合成モダリティによって音声出力が開始される(ステップS53)。   By performing the processing as described above, processing as shown in FIG. 11 becomes possible. For example, it is assumed that an action of voice output as an action of the first priority and an action of icon output as the action of the second priority are registered in the action queue. Here, it is assumed that the importance of each action is higher than the threshold of importance. In such a case, output arbitration of the first priority action is performed according to the flow of FIGS. 9 and 10 (step S51). If the text speech output modality (TextToSpeech modality) is not busy, the first priority action output processing is performed, and speech output is started by the speech synthesis modality (step S53).

ステップS53と並行して、図9及び図10のフローに従って第2優先度のアクションの出力調停が実施される(ステップS55)。第2優先度のアクションに係るモダリティが実行可(すなわち「空き」)状態であるか又は「割込制御無し」である場合には(ステップS57:Yesルート)、第2優先度の出力を開始させる(ステップS59)。すなわち、アイコン表示モダリティは「割込制御無し」であるので、音声とアイコンが重複出力される。一方、第2優先度のアクションに係るモダリティが実行可状態でなく且つ「割込制御無し」でもない場合には(ステップS57:Noルート)、第2優先度のアクションについて「待機」という状態を設定する(ステップS61)。   In parallel with step S53, output arbitration of the second priority action is performed according to the flow of FIGS. 9 and 10 (step S55). When the modality related to the action of the second priority is in an executable state (ie, “empty”) or “no interrupt control” (step S57: Yes route), the output of the second priority is started. (Step S59). That is, since the icon display modality is “no interrupt control”, the voice and the icon are output in duplicate. On the other hand, when the modality related to the second priority action is not in the executable state and is not “no interrupt control” (step S57: No route), the state of “waiting” is set for the second priority action. Set (step S61).

例えば第2優先度のアクションに係るモダリティが「アイコン表示」でなくとも、表示装置に画像を表示するものであったり、ビープ音を出力するものであっても同様に重複出力が行われる。   For example, even if the modality related to the action of the second priority is not “icon display”, duplicate output is similarly performed even if the image is displayed on the display device or the beep sound is output.

このようにフレキシブルに重複出力を可能とする構成であるため、短時間で多くの情報をユーザに提供することができるようになる。   Thus, since it is the structure which enables duplication output flexibly, much information can be provided to a user in a short time.

次に、コマンド確定コールバック関数について図12乃至図18を用いて説明する。上では図10におけるステップS43でコマンド確定コールバック関数が規定されていない場合を示したが、ここでは、図12のシナリオ1(311)において、図13に示すように、状態state1内のアクションaction1については、logic属性で指定された”st1”という文字列を接頭辞としたロジック群を使用するものとして規定されているとする。これにより、コマンド確定ロジックの場合、”st1_action(・・・)”という関数が指定されたことになる。   Next, the command confirmation callback function will be described with reference to FIGS. The case where the command confirmation callback function is not defined in step S43 in FIG. 10 is shown above. Here, in scenario 1 (311) of FIG. 12, as shown in FIG. 13, action action1 in state state1 is shown. Is defined as using a logic group prefixed with a character string “st1” designated by the logical attribute. As a result, in the case of the command confirmation logic, the function “st1_action (...)” Is designated.

シナリオエンジン11は、このようなシナリオ1(311)に基づき、図12に左下に示すアクション要求1をアクションコンダクタ13に出力する(ステップ(101))。アクション要求1には、開始イベントの書き込み先のイベントデータ変数名(イベントタイプ名)「$action01_start」、完了イベントの書き込み先のイベントデータ変数名(イベントタイプ名)「$action01_complete」などを含む。また、アクション要求1は、図12の中央下に示されているコマンド情報を含む。このコマンド情報では、命令先入出力ミドルウェア「TTS(TextToSpeechモダリティ)」と、コマンド「テキスト読み上げ」と、出力内容「今日の天気は晴れです」と、進捗状況通知先「$weather_progress」などのデータを含む。   Based on such scenario 1 (311), the scenario engine 11 outputs the action request 1 shown in the lower left in FIG. 12 to the action conductor 13 (step (101)). The action request 1 includes an event data variable name (event type name) “$ action01_start” to which the start event is written, an event data variable name (event type name) “$ action01_complete” to which the completion event is written. Further, the action request 1 includes command information shown in the lower center of FIG. This command information includes data such as an instruction destination input / output middleware “TTS (TextToSpeech modality)”, a command “text reading out”, an output content “Today's weather is sunny”, and a progress notification destination “$ weather_progress”. .

アクションコンダクタ13は、図9及び図10で説明したアクションの出力調停及び実行判定を実施し(ステップ(102))、アクション要求1の実行を決定すると、開始イベントの書き込み先として指定されている、イベントエンジン12のデータ管理テーブル内のイベントデータ変数「$action01_start」をFALSEからTRUEに変更する(ステップ(103))。そして、図10におけるステップS43でコマンド確定コールバック関数を呼び出す(ステップ(104))。コマンド確定コールバック関数として指定されているコマンド確定ロジック322は、コマンド情報で指定されている、イベントエンジン12のデータ管理テーブル内のイベントデータ変数「$weather_progress」を参照して0%となっていることを確認する(ステップ(105))。そうすると、コマンド確定ロジック322は、現在のコマンド情報について変更を行う必要がないと判断する(ステップ(106))。そこで、アクションコンダクタ13は、コマンド情報をTextToSpeechミドルウェア55に出力する(ステップ(107))。TextToSpeechミドルウェア55は、コマンド情報に従ってスピーカ74を介して「今日の天気は晴れです」の音声データを合成して出力する。さらに、その出力の進捗状態を、コマンド情報で指定されている、イベントエンジン12のデータ管理テーブル内のイベント変数「$weather_progress」を更新して、80%まで音声データを出力して、上記イベント変数を80%に変更するところまで来たものとする(ステップ(108))。   The action conductor 13 performs output arbitration and execution determination of the action described in FIGS. 9 and 10 (step (102)), and when the action request 1 is determined to be executed, it is designated as a start event write destination. The event data variable “$ action01_start” in the data management table of the event engine 12 is changed from FALSE to TRUE (step (103)). Then, the command confirmation callback function is called in step S43 in FIG. 10 (step (104)). The command confirmation logic 322 designated as the command confirmation callback function is 0% with reference to the event data variable “$ weather_progress” in the data management table of the event engine 12 designated by the command information. (Step (105)). Then, the command determination logic 322 determines that there is no need to change the current command information (step (106)). Therefore, the action conductor 13 outputs the command information to the TextToSpeech middleware 55 (step (107)). The TextToSpeech middleware 55 synthesizes and outputs the voice data “Today's weather is sunny” via the speaker 74 in accordance with the command information. Further, the event variable “$ weather_progress” in the data management table of the event engine 12 specified in the command information is updated to output the voice data up to 80%, and the above-described event variable is output. Has been changed to 80% (step (108)).

この段階で、図14に示すように、シナリオエンジン11が、シナリオ2(312)に従ってアクション要求2をアクションコンダクタ13に出力したものとする(ステップ(201))。なお、アクション要求2の優先度は、アクション要求1の優先度より高いものとする。そうすると、アクションコンダクタ13は、図9及び図10で示した出力調停を実施して、アクション要求1についてのコマンドの出力を中断させる(ステップ(202))。コマンドの出力先であるTextToSpeechミドルウェア55は、割込可であるから割り込みがなされることになる。割込不可であれば、アクション要求2は割り込みできない。そして、アクションコンダクタ13は、アクション要求2についてのコマンド情報2をTextToSpeechミドルウェア55に出力する(ステップ(203))。この例では、「前方の車に注意してください」という音声データが合成され、スピーカ74から出力される。   At this stage, as shown in FIG. 14, it is assumed that the scenario engine 11 outputs the action request 2 to the action conductor 13 according to the scenario 2 (312) (step (201)). Note that the priority of the action request 2 is higher than the priority of the action request 1. Then, the action conductor 13 performs the output arbitration shown in FIGS. 9 and 10, and interrupts the output of the command for the action request 1 (step (202)). The TextToSpeech middleware 55, which is the output destination of the command, is interrupted because it can be interrupted. If interrupt is impossible, action request 2 cannot be interrupted. Then, the action conductor 13 outputs the command information 2 for the action request 2 to the TextToSpec middleware 55 (step (203)). In this example, voice data “Please pay attention to the car ahead” is synthesized and output from the speaker 74.

このような出力が完了すると、図15に示すように、再開トリガーとなって(ステップ(301))、アクションキューに格納されたアクション要求1が再度出力調停の対象となり、アクションコンダクタ13は出力調停及び実行判定を実施する(ステップ(302))。そして、再度、図10のステップS43でコマンド確定コールバック関数を呼び出す(ステップ(303))。コマンド確定コールバック関数として指定されているコマンド確定ロジック322は、コマンド情報で指定されている、イベントエンジン12のデータ管理テーブル内のイベントデータ変数「$weather_progress」を参照して、出力されたデータの割合が80%以上であるか判断する(ステップ(304))。80%未満であれば、コマンド情報の変更は行わないが、この例では80%以上であるので、コマンド情報の出力内容を「NULL」に変更する(ステップ(305))。そして、アクションコンダクタ13は、変更されたコマンド情報をTextToSpeechミドルウェア55に出力する(ステップ(306))。TextToSpeechミドルウェア55は、コマンド情報の出力内容を出力しようとするが、「NULL」であるから出力するものが無く、直ぐに進捗状況通知先である、イベントエンジン12のデータ管理テーブル内のイベントデータ変数「$weather_progress」を80%から100%に変更する(ステップ(307))。そうすると、TextToSpeechミドルウェア55は、処理の終了を通知してアクションコンダクタ13の処理に復帰する(ステップ(308))。そうすると、アクション要求1で指定されている完了イベントの書き込み先イベントデータ変数「$action01_complete」をFALSEからTRUEに変更する(ステップ(309))。このようにして処理を完了する。   When such output is completed, as shown in FIG. 15, it becomes a resumption trigger (step (301)), the action request 1 stored in the action queue is again subject to output arbitration, and the action conductor 13 And execution determination is implemented (step (302)). Then, the command confirmation callback function is called again in step S43 of FIG. 10 (step (303)). The command confirmation logic 322 specified as the command confirmation callback function refers to the event data variable “$ weather_progress” in the data management table of the event engine 12 specified in the command information, and outputs the data It is determined whether the ratio is 80% or more (step (304)). If it is less than 80%, the command information is not changed, but in this example, it is 80% or more, so the output content of the command information is changed to “NULL” (step (305)). Then, the action conductor 13 outputs the changed command information to the TextToSpeech middleware 55 (step (306)). The TextToSpeech middleware 55 tries to output the output content of the command information, but since it is “NULL”, there is nothing to output, and the event data variable “in the data management table of the event engine 12 that is the progress status notification destination immediately” “$ Weather_progress” is changed from 80% to 100% (step (307)). Then, the TextToSpeech middleware 55 notifies the end of the process and returns to the process of the action conductor 13 (step (308)). Then, the write event data variable “$ action01_complete” of the completion event specified in the action request 1 is changed from FALSE to TRUE (step (309)). In this way, the process is completed.

図12乃至図15で示したような処理を行う場合、コマンド確定ロジック322は、図16のような処理を実施する。すなわち、アクション1(311)のコマンド情報を解釈し、参照すべきイベントデータ変数を特定する(ステップS71)。そして、$weather_progress<80%であれば特に処理を行わず終了する。一方、$weather_progress≧80%であれば、コマンド情報の出力内容、ここでは天気の発声を無効化する(ステップS73)。そして処理を終了する。   When performing the processes as shown in FIGS. 12 to 15, the command determination logic 322 performs the process as shown in FIG. 16. That is, the command information of action 1 (311) is interpreted, and the event data variable to be referred to is specified (step S71). If $ weather_progress <80%, the process ends without performing any particular processing. On the other hand, if $ weather_progress ≧ 80%, the output content of the command information, here, the utterance of the weather is invalidated (step S73). Then, the process ends.

また、TextToSpeechミドルウェア55は、図17に示すような処理を実施する。まず、コマンド情報に含まれる出力内容を参照し(ステップS81)、出力内容が「NULL」であれば、処理を行わず元の処理に復帰する。一方、出力内容に出力すべきテキスト(TEXT)が含まれている場合には、音声合成処理を実施し、出力バッファに格納する(ステップS83)。ここでは、テキストからPCM(Pulse Code Modulation)データを生成する。そして、出力バッファの終わりに到達した場合には元の処理に復帰する。一方、出力バッファに残りがある場合には、音声バッファ再生処理を実施し、スピーカ74を介して音声出力を行う(ステップS85)。そして、再生済みデータ量/音声データ全体を、コマンド情報で指定されている$weather_progressに格納する(ステップS87)。このような処理を出力バッファの終わりに到達するまで繰り返す。   Further, the TextToSpeech middleware 55 performs a process as shown in FIG. First, the output content included in the command information is referred to (step S81). If the output content is “NULL”, the process returns to the original process without performing the process. On the other hand, when the text to be output (TEXT) is included in the output content, speech synthesis processing is performed and stored in the output buffer (step S83). Here, PCM (Pulse Code Modulation) data is generated from the text. When the end of the output buffer is reached, the original processing is restored. On the other hand, if there is a remaining in the output buffer, an audio buffer reproduction process is performed, and audio is output via the speaker 74 (step S85). Then, the reproduced data amount / audio data as a whole is stored in $ weather_progress designated by the command information (step S87). Such processing is repeated until the end of the output buffer is reached.

80%は一例であって、コマンド毎に変更するようにしても良い。例えば、特定のキーワードが出力されるまでの割合を指定するようにしても良い。   80% is an example, and may be changed for each command. For example, you may make it designate the ratio until a specific keyword is output.

このような図12乃至図17に示した処理をまとめると、図18の処理フローのようになる。まず、第1のアクションに係る第1の情報が出力される(ステップS91)。その後、第1の情報の出力が完了する前に、割り込みが発生する(ステップS93)。ここで割り込みに係る第2のアクションの方が優先度が高いとして、第2のアクションに係る第2の情報が出力される(ステップS95)。但し、割込可のモダリティであるか確認した上で、第2の情報を出力するか否かは判断される。この第2の情報の出力が完了すると、第1の情報の出力調停を再度実施し、第1の情報の再出力を決定する(ステップS97)。そして、第1の情報の出力内容を所定割合以上を出力しているか判断する(ステップS99)。第1の情報の出力内容を所定割合以上出力完了している場合には、第1の情報の出力完了を登録する(ステップS101)。そして、第1の情報については出力せずに処理を終了する。一方、第1の情報の出力内容を所定割合未満しか出力していなかった場合には、第1の情報の再出力を実施する(ステップS103)。   The processing shown in FIGS. 12 to 17 can be summarized as shown in the processing flow of FIG. First, the first information related to the first action is output (step S91). Thereafter, an interrupt is generated before the output of the first information is completed (step S93). Here, assuming that the priority of the second action related to the interrupt is higher, the second information related to the second action is output (step S95). However, it is determined whether or not the second information is to be output after confirming whether the modality is interruptible. When the output of the second information is completed, the output arbitration of the first information is performed again, and the re-output of the first information is determined (step S97). And it is judged whether the output content of 1st information is outputting more than the predetermined ratio (step S99). When the output of the first information has been completed for a predetermined ratio or more, the completion of the output of the first information is registered (step S101). Then, the process ends without outputting the first information. On the other hand, when the output content of the first information is less than a predetermined ratio, the first information is output again (step S103).

以上のように、十分な割合の情報が出力済みであれば、出力を再開させる場合においても、再出力を抑制して、他の情報を出力することによって、短時間に多くの情報を出力することができるようになる。   As described above, if a sufficient amount of information has been output, a large amount of information can be output in a short time by suppressing re-output and outputting other information even when resuming output. Will be able to.

以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、モジュール構成は図1に示したものに限定されず、上で述べたような処理を実施できれば他の構成であってもよい。   Although the embodiment of the present invention has been described above, the present invention is not limited to this. For example, the module configuration is not limited to that shown in FIG. 1, and other configurations may be used as long as the processing described above can be performed.

なお、上で述べた車載端末は、コンピュータ装置であって、図19に示すように当該コンピュータ装置においては、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS)及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。但し、HDD2505については他の記憶装置によって代替される場合もある。また、ドライブ装置2513や通信制御部2517についても備えていない場合もある。車載端末には、図1に示した各種センサや出力装置も備えているが、図19では示していない。   The vehicle-mounted terminal described above is a computer device, and as shown in FIG. 19, the computer device displays a memory 2501 (storage unit), a CPU 2503 (processing unit), and a hard disk drive (HDD) 2505. A display control unit 2507 connected to the device 2509, a drive device 2513 for the removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519. Application programs including an operating system (OS) and a Web browser are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. If necessary, the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 to perform necessary operations. Further, data in the middle of processing is stored in the memory 2501 and stored in the HDD 2505 if necessary. Such a computer realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above with the OS and necessary application programs. However, the HDD 2505 may be replaced by another storage device. In some cases, the drive device 2513 and the communication control unit 2517 are not provided. The in-vehicle terminal also includes various sensors and output devices shown in FIG. 1, but not shown in FIG.

(付記1)
アクションキューに登録されている第1のアクションに係る第1の情報の出力が完了する前に、前記アクションキューに次以降に登録されている第2のアクションが、当該第2のアクションに係る第2の情報の出力に用いられる特定の出力機能が空き状態であるか又は割込制御無しの機能であるかという条件を含む所定の条件を満たしているか否か判断する判断ステップと、
前記第2のアクションが前記所定の条件を満たしていると判断された場合には、前記第1の情報の出力が完了しているか否かにかかわらず、前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求するステップと、
をコンピュータに実行させるための出力調停プログラム。
(Appendix 1)
Before the output of the first information related to the first action registered in the action queue is completed, the second action registered in the action queue after the next is the second action related to the second action. A determination step for determining whether or not a specific output function used for outputting the information of 2 satisfies a predetermined condition including a condition that the specific output function is a vacant state or a function without interrupt control;
When it is determined that the second action satisfies the predetermined condition, the second action related to the second action is performed regardless of whether or not the output of the first information is completed. Requesting the specific output function to output information;
Output arbitration program that causes a computer to execute

(付記2)
前記所定の条件が、
前記第2のアクションの重要度が、前記第1の情報及び前記第2の情報を知覚するユーザの負荷状態に連動する閾値以上であるという条件
を含む付記1記載の出力調停プログラム。
(Appendix 2)
The predetermined condition is
The output arbitration program according to supplementary note 1, including a condition that an importance level of the second action is equal to or greater than a threshold linked to a load state of a user who perceives the first information and the second information.

(付記3)
前記判断ステップが、
出力機能毎に割り込み種別及び状態を管理する管理テーブルを、前記第2のアクションに係る第2の情報の出力に用いられる前記特定の出力機能で検索するステップ
を含む付記1記載の出力調停プログラム。
(Appendix 3)
The determination step includes
The output arbitration program according to supplementary note 1, including a step of searching a management table for managing an interrupt type and a state for each output function by using the specific output function used for outputting the second information related to the second action.

(付記4)
前記第1のアクションの優先度が、前記第2のアクションの優先度より高いことを特徴とする付記1記載の出力調停プログラム。
(Appendix 4)
The output arbitration program according to appendix 1, wherein the priority of the first action is higher than the priority of the second action.

(付記5)
前記第2のアクションが前記所定の条件を満たしていないと判断された場合、前記第2のアクションの実行状態を待機状態に設定するステップ
をさらにコンピュータに実行させるための付記1記載の出力調停プログラム。
(Appendix 5)
The output arbitration program according to supplementary note 1, further causing the computer to execute a step of setting the execution state of the second action to a standby state when it is determined that the second action does not satisfy the predetermined condition. .

(付記6)
アクションキューに登録されている第1のアクションに係る第1の情報の出力中に、前記アクションキューに前記第1のアクションより優先度が高く且つ前記第1のアクションに係る第1の情報の出力に用いられる特定の出力機能が同じ第2のアクションが登録された場合、前記特定の出力機能による前記第1の情報の出力を停止させる停止ステップと、
前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求するステップと、
前記第2のアクションに係る第2の情報の出力が完了した後であって前記アクションキューに登録されている前記第1のアクションを再度処理する順番になった場合、前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していたか判断するステップと、
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していた場合には、前記第1の情報の出力をキャンセルさせるステップと、
をコンピュータに実行させるための出力調停プログラム。
(Appendix 6)
During the output of the first information related to the first action registered in the action queue, the first information related to the first action that has a higher priority than the first action is output to the action queue. When the second action having the same specific output function is registered, a stop step of stopping the output of the first information by the specific output function;
Requesting the specific output function to output second information related to the second action;
After the output of the second information related to the second action is completed, and when the first action registered in the action queue is processed again, the first action is related Determining whether the output of the first information has been completed to a predetermined portion;
Canceling the output of the first information when the output of the first information related to the first action has been completed up to a predetermined portion;
Output arbitration program that causes a computer to execute

(付記7)
前記停止ステップが、
出力機能毎に割り込み種別を管理する管理テーブルを前記特定の出力機能で検索して、前記特定の出力機能が割り込み可の出力機能であるか判断するステップと、
前記特定の出力機能が割り込み可の出力機能である場合、前記特定の出力機能に前記第1の情報の出力を停止させるステップと、
を含む付記6記載の出力調停プログラム。
(Appendix 7)
The stopping step comprises:
Searching the management table for managing the interrupt type for each output function with the specific output function, and determining whether the specific output function is an interruptable output function;
If the specific output function is an interruptible output function, the specific output function stops outputting the first information;
The output arbitration program according to appendix 6, including

(付記8)
前記予め定められた部分が、前記第1の情報の出力割合で特定される
付記6記載の出力調停プログラム。
(Appendix 8)
The output arbitration program according to appendix 6, wherein the predetermined portion is specified by an output ratio of the first information.

(付記9)
前記特定の出力機能が、前記第1のアクションによって指定された変数に前記第1の情報の出力割合を登録するステップ
をさらにコンピュータに実行させるための付記8記載の出力調停プログラム。
(Appendix 9)
The output arbitration program according to appendix 8, wherein the specific output function further causes the computer to execute a step of registering an output ratio of the first information in a variable designated by the first action.

(付記10)
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していない場合、前記第1の情報の出力を再度前記特定の出力機能に要求するステップ
をさらにコンピュータに実行させるための付記6記載の出力調停プログラム。
(Appendix 10)
If the output of the first information related to the first action is not completed up to a predetermined portion, the computer further executes a step of requesting the specific output function to output the first information again. The output mediation program according to appendix 6 for causing

(付記11)
アクションキューに登録されている第1のアクションに係る第1の情報の出力が完了する前に、前記アクションキューに次以降に登録されている第2のアクションが、当該第2のアクションに係る第2の情報の出力に用いられる特定の出力機能が空き状態であるか又は割込制御無しの機能であるかという条件を含む所定の条件を満たしているか否か判断する判断ステップと、
前記第2のアクションが前記所定の条件を満たしていると判断された場合には、前記第1の情報の出力が完了しているか否かにかかわらず、前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求するステップと、
を含み、コンピュータに実行される出力調停方法。
(Appendix 11)
Before the output of the first information related to the first action registered in the action queue is completed, the second action registered in the action queue after the next is the second action related to the second action. A determination step for determining whether or not a specific output function used for outputting the information of 2 satisfies a predetermined condition including a condition that the specific output function is a vacant state or a function without interrupt control;
When it is determined that the second action satisfies the predetermined condition, the second action related to the second action is performed regardless of whether or not the output of the first information is completed. Requesting the specific output function to output information;
An output arbitration method that is executed by a computer.

(付記12)
前記所定の条件が、
前記第2のアクションの重要度が、前記第1の情報及び前記第2の情報を知覚するユーザの負荷状態に連動する閾値以上であるという条件
を含む付記11記載の出力調停方法。
(Appendix 12)
The predetermined condition is
The output arbitration method according to appendix 11, including a condition that the degree of importance of the second action is equal to or greater than a threshold linked to a load state of a user who perceives the first information and the second information.

(付記13)
前記判断ステップが、
出力機能毎に割り込み種別及び状態を管理する管理テーブルを、前記第2のアクションに係る第2の情報の出力に用いられる前記特定の出力機能で検索するステップ
を含む付記11記載の出力調停方法。
(Appendix 13)
The determination step includes
The output arbitration method according to appendix 11, including a step of searching a management table for managing an interrupt type and a state for each output function with the specific output function used for outputting the second information related to the second action.

(付記14)
前記第1のアクションの優先度が、前記第2のアクションの優先度より高いことを特徴とする付記11記載の出力調停方法。
(Appendix 14)
The output arbitration method according to claim 11, wherein the priority of the first action is higher than the priority of the second action.

(付記15)
前記第2のアクションが前記所定の条件を満たしていないと判断された場合、前記第2のアクションの実行状態を待機状態に設定するステップ
をさらに含む付記11記載の出力調停方法。
(Appendix 15)
The output arbitration method according to claim 11, further comprising a step of setting the execution state of the second action to a standby state when it is determined that the second action does not satisfy the predetermined condition.

(付記16)
アクションキューに登録されている第1のアクションに係る第1の情報の出力中に、前記アクションキューに前記第1のアクションより優先度が高く且つ前記第1のアクションに係る第1の情報の出力に用いられる特定の出力機能が同じ第2のアクションが登録された場合、前記特定の出力機能による前記第1の情報の出力を停止させる停止ステップと、
前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求するステップと、
前記第2のアクションに係る第2の情報の出力が完了した後であって前記アクションキューに登録されている前記第1のアクションを再度処理する順番になった場合、前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していたか判断するステップと、
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していた場合には、前記第1の情報の出力をキャンセルさせるステップと、
を含み、コンピュータに実行される出力調停方法。
(Appendix 16)
During the output of the first information related to the first action registered in the action queue, the first information related to the first action that has a higher priority than the first action is output to the action queue. When the second action having the same specific output function is registered, a stop step of stopping the output of the first information by the specific output function;
Requesting the specific output function to output second information related to the second action;
After the output of the second information related to the second action is completed, and when the first action registered in the action queue is processed again, the first action is related Determining whether the output of the first information has been completed to a predetermined portion;
Canceling the output of the first information when the output of the first information related to the first action has been completed up to a predetermined portion;
An output arbitration method that is executed by a computer.

(付記17)
前記停止ステップが、
出力機能毎に割り込み種別を管理する管理テーブルを前記特定の出力機能で検索して、前記特定の出力機能が割り込み可の出力機能であるか判断するステップと、
前記特定の出力機能が割り込み可の出力機能である場合、前記特定の出力機能に前記第1の情報の出力を停止させるステップと、
を含む付記16記載の出力調停方法。
(Appendix 17)
The stopping step comprises:
Searching the management table for managing the interrupt type for each output function with the specific output function, and determining whether the specific output function is an interruptable output function;
If the specific output function is an interruptible output function, the specific output function stops outputting the first information;
The output arbitration method according to appendix 16, including:

(付記18)
前記予め定められた部分が、前記第1の情報の出力割合で特定される
付記16記載の出力調停方法。
(Appendix 18)
The output arbitration method according to claim 16, wherein the predetermined part is specified by an output ratio of the first information.

(付記19)
前記特定の出力機能が、前記第1のアクションによって指定された変数に前記第1の情報の出力割合を登録するステップ
をさらに含む付記18記載の出力調停方法。
(Appendix 19)
The output arbitration method according to appendix 18, further comprising the step of the specific output function registering an output ratio of the first information in a variable designated by the first action.

(付記20)
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していない場合、前記第1の情報の出力を再度前記特定の出力機能に要求するステップ
をさらに含む付記16記載の出力調停方法。
(Appendix 20)
The supplementary note 16 further comprising: requesting the specific output function to output the first information again when the output of the first information related to the first action is not completed up to a predetermined portion. The output arbitration method described.

(付記21)
アクションキューに登録されている第1のアクションに係る第1の情報の出力が完了する前に、前記アクションキューに次に登録されている第2のアクションが、当該第2のアクションに係る第2の情報の出力に用いられる特定の出力機能が空き状態であるか又は割込制御無しの機能であるかという条件を含む所定の条件を満たしているか否か判断する判断手段と、
前記第2のアクションが前記所定の条件を満たしていると判断された場合には、前記第1の情報の出力が完了しているか否かにかかわらず、前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求する手段と、
を有する出力調停装置。
(Appendix 21)
Before the output of the first information related to the first action registered in the action queue is completed, the second action registered next in the action queue is the second action related to the second action. Determining means for determining whether or not a specific output function used for outputting the information satisfies a predetermined condition including a condition that the specific output function is idle or a function without interrupt control;
When it is determined that the second action satisfies the predetermined condition, the second action related to the second action is performed regardless of whether or not the output of the first information is completed. Means for requesting the specific output function to output information;
An output arbitration device.

(付記22)
前記所定の条件が、
前記第2のアクションの重要度が、前記第1の情報及び前記第2の情報を知覚するユーザの負荷状態に連動する閾値以上であるという条件
を含む付記21記載の出力調停装置。
(Appendix 22)
The predetermined condition is
The output arbitration apparatus according to appendix 21, including a condition that the importance of the second action is equal to or greater than a threshold value linked to a load state of a user who perceives the first information and the second information.

(付記23)
前記判断手段が、
出力機能毎に割り込み種別及び状態を管理する管理テーブルを、前記第2のアクションに係る第2の情報の出力に用いられる前記特定の出力機能で検索する手段
を有する付記21記載の出力調停装置。
(Appendix 23)
The determination means is
The output arbitration apparatus according to appendix 21, further comprising means for searching a management table for managing an interrupt type and a state for each output function by using the specific output function used for outputting the second information related to the second action.

(付記24)
前記第1のアクションの優先度が、前記第2のアクションの優先度より高いことを特徴とする付記21記載の出力調停装置。
(Appendix 24)
The output arbitration apparatus according to appendix 21, wherein the priority of the first action is higher than the priority of the second action.

(付記25)
前記第2のアクションが前記所定の条件を満たしていないと判断された場合、前記第2のアクションの実行状態を待機状態に設定する手段
をさらに有する付記21記載の出力調停装置。
(Appendix 25)
The output arbitration apparatus according to appendix 21, further comprising means for setting the execution state of the second action to a standby state when it is determined that the second action does not satisfy the predetermined condition.

(付記26)
アクションキューに登録されている第1のアクションに係る第1の情報の出力中に、前記アクションキューに前記第1のアクションより優先度が高く且つ前記第1のアクションに係る第1の情報の出力に用いられる特定の出力機能が同じ第2のアクションが登録された場合、前記特定の出力機能による前記第1の情報の出力を停止させる停止手段と、
前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求する手段と、
前記第2のアクションに係る第2の情報の出力が完了した後であって前記アクションキューに登録されている前記第1のアクションを再度処理する順番になった場合、前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していたか判断する手段と、
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していた場合には、前記第1の情報の出力をキャンセルさせる手段と、
を有する出力調停装置。
(Appendix 26)
During the output of the first information related to the first action registered in the action queue, the first information related to the first action that has a higher priority than the first action is output to the action queue. Stop means for stopping the output of the first information by the specific output function when a second action having the same specific output function is registered,
Means for requesting the specific output function to output second information related to the second action;
After the output of the second information related to the second action is completed and the order of processing the first action registered in the action queue is reached again, the first action relates to the first action Means for determining whether the output of the first information has been completed up to a predetermined portion;
Means for canceling the output of the first information when the output of the first information related to the first action has been completed up to a predetermined portion;
An output arbitration device.

(付記27)
前記停止手段が、
出力機能毎に割り込み種別を管理する管理テーブルを前記特定の出力機能で検索して、前記特定の出力機能が割り込み可の出力機能であるか判断する手段と、
前記特定の出力機能が割り込み可の出力機能である場合、前記特定の出力機能に前記第1の情報の出力を停止させる手段と、
を有する付記26記載の出力調停装置。
(Appendix 27)
The stopping means is
Means for searching a management table for managing an interrupt type for each output function with the specific output function, and determining whether the specific output function is an interruptable output function;
When the specific output function is an interruptible output function, the specific output function causes the specific output function to stop outputting the first information;
27. The output arbitration device according to appendix 26.

(付記28)
前記予め定められた部分が、前記第1の情報の出力割合で特定される
付記26記載の出力調停装置。
(Appendix 28)
27. The output arbitration apparatus according to appendix 26, wherein the predetermined portion is specified by an output ratio of the first information.

(付記29)
前記特定の出力機能が、前記第1のアクションによって指定された変数に前記第1の情報の出力割合を登録する手段
をさらに有する付記28記載の出力調停装置。
(Appendix 29)
29. The output arbitration apparatus according to appendix 28, wherein the specific output function further includes means for registering an output ratio of the first information in a variable designated by the first action.

(付記30)
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していない場合、前記第1の情報の出力を再度前記特定の出力機能に要求する手段
をさらに有する付記26記載の出力調停装置。
(Appendix 30)
(Supplementary note 26) further comprising means for requesting the specific output function to output the first information again when the output of the first information related to the first action has not been completed up to a predetermined portion. The output arbitration device described.

本発明の実施の形態に係るエージェントフレームワークのアーキテクチャを示す図である。It is a figure which shows the architecture of the agent framework which concerns on embodiment of this invention. アクション要求のための情報構造体の一例を示す図である。It is a figure which shows an example of the information structure for action requests. アクションコンダクタのアクションキューを説明するための図である。It is a figure for demonstrating the action queue of an action conductor. アクションの出力状態の種別を説明するための図である。It is a figure for demonstrating the classification of the output state of an action. 入出力ミドルウェア管理テーブルの一例を示す図である。It is a figure which shows an example of an input / output middleware management table. 入力コマンドとチェック結果の対応テーブルの例を示す図である。It is a figure which shows the example of the correspondence table of an input command and a check result. 出力コマンドとチェック結果の対応テーブルの例を示す図である。It is a figure which shows the example of the correspondence table of an output command and a check result. チェック結果とアクション実行内容の対応テーブルの例を示す図である。It is a figure which shows the example of the corresponding | compatible table of a check result and action execution content. アクション出力抑制/出力調停のためのアクティビティ図である。It is an activity diagram for action output suppression / output arbitration. アクション実行判定のアクティビティ図である。It is an activity diagram of action execution determination. 本発明の実施の形態における第1のポイントを説明するための図である。It is a figure for demonstrating the 1st point in embodiment of this invention. 本発明の実施の形態における第2のポイントを説明するための図である。It is a figure for demonstrating the 2nd point in embodiment of this invention. シナリオとコマンド確定ロジックとの関係を説明するための図である。It is a figure for demonstrating the relationship between a scenario and command confirmation logic. 本発明の実施の形態における第2のポイントを説明するための図である。It is a figure for demonstrating the 2nd point in embodiment of this invention. 本発明の実施の形態における第2のポイントを説明するための図である。It is a figure for demonstrating the 2nd point in embodiment of this invention. コマンド確定ロジックのアクティビティ図である。It is an activity diagram of command confirmation logic. テキスト音声出力ミドルウェアのアクティビティ図である。It is an activity diagram of text voice output middleware. 本発明の実施の形態における第2のポイントを説明するための図である。It is a figure for demonstrating the 2nd point in embodiment of this invention. コンピュータの機能ブロック図である。It is a functional block diagram of a computer.

符号の説明Explanation of symbols

1 エージェントフレームワーク・ランタイム
3 アプリケーション層
5 基盤ミドルウェア層
7 デバイス層
9 エージェントフレームワークSDK
11 シナリオエンジン
12 イベントエンジン
13 アクションコンダクタ
31 シナリオ
32 シナリオロジック
33 イベントロジック
34 イベントデータテーブル
94 開発用API・ライブラリ
111 シナリオマネージャ
112 シナリオインタプリタ
121 イベントマネージャ
122 イベントアグリゲータ
131 アクション制御エンジン
132 マルチモーダルエンジン
1 Agent framework runtime 3 Application layer 5 Platform middleware layer 7 Device layer 9 Agent framework SDK
11 Scenario Engine 12 Event Engine 13 Action Conductor 31 Scenario 32 Scenario Logic 33 Event Logic 34 Event Data Table 94 Development API / Library 111 Scenario Manager 112 Scenario Interpreter 121 Event Manager 122 Event Aggregator 131 Action Control Engine 132 Multimodal Engine

Claims (8)

アクションキューに登録されている第1のアクションに係る第1の情報の出力が完了する前に、前記アクションキューに次以降に登録されている第2のアクションが、当該第2のアクションに係る第2の情報の出力に用いられる特定の出力機能が空き状態であるか又は割込制御無しの機能であるかという条件を含む所定の条件を満たしているか否か判断する判断ステップと、
前記第2のアクションが前記所定の条件を満たしていると判断された場合には、前記第1の情報の出力が完了しているか否かにかかわらず、前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求するステップと、
をコンピュータに実行させるための出力調停プログラム。
Before the output of the first information related to the first action registered in the action queue is completed, the second action registered in the action queue after the next is the second action related to the second action. A determination step for determining whether or not a specific output function used for outputting the information of 2 satisfies a predetermined condition including a condition that the specific output function is a vacant state or a function without interrupt control;
When it is determined that the second action satisfies the predetermined condition, the second action related to the second action is performed regardless of whether or not the output of the first information is completed. Requesting the specific output function to output information;
Output arbitration program that causes a computer to execute
前記所定の条件が、
前記第2のアクションの重要度が、前記第1の情報及び前記第2の情報を知覚するユーザの負荷状態に連動する閾値以上であるという条件
を含む請求項1記載の出力調停プログラム。
The predetermined condition is
The output arbitration program according to claim 1, further comprising: a condition that the importance of the second action is equal to or greater than a threshold linked to a load state of a user who perceives the first information and the second information.
前記判断ステップが、
出力機能毎に割り込み種別及び状態を管理する管理テーブルを、前記第2のアクションに係る第2の情報の出力に用いられる前記特定の出力機能で検索するステップ
を含む請求項1記載の出力調停プログラム。
The determination step includes
The output arbitration program according to claim 1, further comprising: searching for a management table for managing an interrupt type and a state for each output function by using the specific output function used for outputting the second information related to the second action. .
アクションキューに登録されている第1のアクションに係る第1の情報の出力中に、前記アクションキューに前記第1のアクションより優先度が高く且つ前記第1のアクションに係る第1の情報の出力に用いられる特定の出力機能が同じ第2のアクションが登録された場合、前記特定の出力機能による前記第1の情報の出力を停止させる停止ステップと、
前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求するステップと、
前記第2のアクションに係る第2の情報の出力が完了した後であって前記アクションキューに登録されている前記第1のアクションを再度処理する順番になった場合、前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していたか判断するステップと、
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していた場合には、前記第1の情報の出力をキャンセルさせるステップと、
をコンピュータに実行させるための出力調停プログラム。
While outputting the first information related to the first action registered in the action queue, the first information related to the first action is output to the action queue having a higher priority than the first action. When a second action having the same specific output function is registered, a stop step of stopping the output of the first information by the specific output function;
Requesting the specific output function to output second information related to the second action;
After the output of the second information related to the second action is completed and the order of processing the first action registered in the action queue is reached again, the first action relates to the first action Determining whether the output of the first information has been completed to a predetermined portion;
Canceling the output of the first information if the output of the first information related to the first action has been completed up to a predetermined portion;
Output arbitration program that causes a computer to execute
前記停止ステップが、
出力機能毎に割り込み種別を管理する管理テーブルを前記特定の出力機能で検索して、前記特定の出力機能が割り込み可の出力機能であるか判断するステップと、
前記特定の出力機能が割り込み可の出力機能である場合、前記特定の出力機能に前記第1の情報の出力を停止させるステップと、
を含む請求項4記載の出力調停プログラム。
The stopping step comprises:
Searching the management table for managing the interrupt type for each output function with the specific output function, and determining whether the specific output function is an interruptable output function;
If the specific output function is an interruptible output function, the specific output function stops outputting the first information;
The output arbitration program according to claim 4 including:
前記予め定められた部分が、前記第1の情報の出力割合で特定される
請求項4記載の出力調停プログラム。
The output arbitration program according to claim 4, wherein the predetermined part is specified by an output ratio of the first information.
アクションキューに登録されている第1のアクションに係る第1の情報の出力が完了する前に、前記アクションキューに次に登録されている第2のアクションが、当該第2のアクションに係る第2の情報の出力に用いられる特定の出力機能が空き状態であるか又は割込制御無しの機能であるかという条件を含む所定の条件を満たしているか否か判断する判断手段と、
前記第2のアクションが前記所定の条件を満たしていると判断された場合には、前記第1の情報の出力が完了しているか否かにかかわらず、前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求する手段と、
を有する出力調停装置。
Before the output of the first information related to the first action registered in the action queue is completed, the second action registered next in the action queue is the second action related to the second action. Determining means for determining whether or not a specific output function used for outputting the information satisfies a predetermined condition including a condition that the specific output function is idle or a function without interrupt control;
When it is determined that the second action satisfies the predetermined condition, the second action related to the second action is performed regardless of whether or not the output of the first information is completed. Means for requesting the specific output function to output information;
An output arbitration device.
アクションキューに登録されている第1のアクションに係る第1の情報の出力中に、前記アクションキューに前記第1のアクションより優先度が高く且つ前記第1のアクションに係る第1の情報の出力に用いられる特定の出力機能が同じ第2のアクションが登録された場合、前記特定の出力機能による前記第1の情報の出力を停止させる停止手段と、
前記第2のアクションに係る第2の情報の出力を前記特定の出力機能に要求する手段と、
前記第2のアクションに係る第2の情報の出力が完了した後であって前記アクションキューに登録されている前記第1のアクションを再度処理する順番になった場合、前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していたか判断する手段と、
前記第1のアクションに係る前記第1の情報の出力が予め定められた部分まで完了していた場合には、前記第1の情報の出力をキャンセルさせる手段と、
を有する出力調停装置。
During the output of the first information related to the first action registered in the action queue, the first information related to the first action that has a higher priority than the first action is output to the action queue. Stop means for stopping the output of the first information by the specific output function when a second action having the same specific output function is registered,
Means for requesting the specific output function to output second information related to the second action;
After the output of the second information related to the second action is completed, and when the first action registered in the action queue is processed again, the first action is related Means for determining whether the output of the first information has been completed up to a predetermined portion;
Means for canceling the output of the first information when the output of the first information related to the first action has been completed up to a predetermined portion;
An output arbitration device.
JP2007027814A 2007-02-07 2007-02-07 Output arbitration program and device Expired - Fee Related JP4935392B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007027814A JP4935392B2 (en) 2007-02-07 2007-02-07 Output arbitration program and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007027814A JP4935392B2 (en) 2007-02-07 2007-02-07 Output arbitration program and device

Publications (2)

Publication Number Publication Date
JP2008191074A true JP2008191074A (en) 2008-08-21
JP4935392B2 JP4935392B2 (en) 2012-05-23

Family

ID=39751299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007027814A Expired - Fee Related JP4935392B2 (en) 2007-02-07 2007-02-07 Output arbitration program and device

Country Status (1)

Country Link
JP (1) JP4935392B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110125948A1 (en) * 2008-08-07 2011-05-26 Nec Corporation Multi-processor system and controlling method thereof
JP2019527387A (en) * 2016-06-24 2019-09-26 マイクロソフト テクノロジー ライセンシング,エルエルシー Situation-aware personal assistant
KR20210002724A (en) * 2018-05-07 2021-01-08 구글 엘엘씨 Deciding whether to automatically resume the 1st automation assistant session when the 2nd session interrupt is interrupted
WO2024058027A1 (en) * 2022-09-13 2024-03-21 株式会社デンソー Onboard device, center device, vehicle control program, and vehicle control method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0440532A (en) * 1990-06-06 1992-02-10 Matsushita Electric Ind Co Ltd Real time processor
JPH04302035A (en) * 1991-03-29 1992-10-26 Nec Corp Interruption controller
JPH056280A (en) * 1991-06-27 1993-01-14 Nec Corp Interruption control system
JPH05233318A (en) * 1992-02-18 1993-09-10 Nec Corp Microprocessor
JPH10104003A (en) * 1996-09-30 1998-04-24 Mazda Motor Corp Navigation apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0440532A (en) * 1990-06-06 1992-02-10 Matsushita Electric Ind Co Ltd Real time processor
JPH04302035A (en) * 1991-03-29 1992-10-26 Nec Corp Interruption controller
JPH056280A (en) * 1991-06-27 1993-01-14 Nec Corp Interruption control system
JPH05233318A (en) * 1992-02-18 1993-09-10 Nec Corp Microprocessor
JPH10104003A (en) * 1996-09-30 1998-04-24 Mazda Motor Corp Navigation apparatus

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110125948A1 (en) * 2008-08-07 2011-05-26 Nec Corporation Multi-processor system and controlling method thereof
US8583845B2 (en) * 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof
JP2019527387A (en) * 2016-06-24 2019-09-26 マイクロソフト テクノロジー ライセンシング,エルエルシー Situation-aware personal assistant
US11636305B2 (en) 2016-06-24 2023-04-25 Microsoft Technology Licensing, Llc Situation aware personal assistant
JP7195931B2 (en) 2016-06-24 2022-12-26 マイクロソフト テクノロジー ライセンシング,エルエルシー Situational personal assistant
JP7135114B2 (en) 2018-05-07 2022-09-12 グーグル エルエルシー determining whether to automatically resume the first automated assistant session upon termination of the interrupting second session;
US20220108696A1 (en) 2018-05-07 2022-04-07 Google Llc Determining whether to automatically resume first automated assistant session upon cessation of interrupting second session
JP2021522613A (en) * 2018-05-07 2021-08-30 グーグル エルエルシーGoogle LLC To decide whether to automatically restart the first automatic assistant session at the end of the interrupting second session.
EP4130975A1 (en) * 2018-05-07 2023-02-08 Google LLC Determining whether to automatically resume first automated assistant session upon cessation of interrupting second session
KR102508338B1 (en) * 2018-05-07 2023-03-10 구글 엘엘씨 Determining whether to automatically resume the first automated assistant session when the second session interrupts
KR20210002724A (en) * 2018-05-07 2021-01-08 구글 엘엘씨 Deciding whether to automatically resume the 1st automation assistant session when the 2nd session interrupt is interrupted
JP7384976B2 (en) 2018-05-07 2023-11-21 グーグル エルエルシー determining whether to automatically resume the first automated assistant session upon termination of the interrupting second session;
US11830491B2 (en) 2018-05-07 2023-11-28 Google Llc Determining whether to automatically resume first automated assistant session upon cessation of interrupting second session
WO2024058027A1 (en) * 2022-09-13 2024-03-21 株式会社デンソー Onboard device, center device, vehicle control program, and vehicle control method

Also Published As

Publication number Publication date
JP4935392B2 (en) 2012-05-23

Similar Documents

Publication Publication Date Title
CN110149402B (en) Providing communication channels between instances of automated assistants
US20160189444A1 (en) System and method to orchestrate in-vehicle experiences to enhance safety
JP4955943B2 (en) Information terminal and computer resource management method
US9201693B2 (en) Quota-based resource management
WO2018126935A1 (en) Voice-based interaction method and apparatus, electronic device, and operating system
KR101618476B1 (en) Distributed resource management in a portable computing device
JP4935392B2 (en) Output arbitration program and device
US10691472B2 (en) User interface execution apparatus and user interface designing apparatus
CN110399576B (en) Page switching method and device, readable medium and electronic equipment
EP2820543A1 (en) Cross-extension messaging using a browser as an intermediary
US10089159B2 (en) Processing non-spatial input by multiple program elements of a computer program executed on a computer
CN103201720A (en) Virtual computer control apparatus, virtual computer control method, virtual computer control program, and integrated circuit
JP2003076543A (en) Device, method for generating program and program for making computer execute the same program
US20130061235A1 (en) Method and system for managing parallel resource requests in a portable computing device
JP4112511B2 (en) Task management program and task management device
WO2023051315A1 (en) Application control method and apparatus, electronic device, and storage medium
WO2022160612A1 (en) Interaction method with vehicle-mounted system of vehicle, storage medium, and mobile terminal
JP7310705B2 (en) AGENT CONTROL DEVICE, AGENT CONTROL METHOD, AND AGENT CONTROL PROGRAM
CN111552537B (en) Theme switching method and device, computer equipment and storage medium
CN115373869A (en) Process processing method and device based on AAR and electronic equipment
WO2018110169A1 (en) Output processing device and output processing method
CN110704782A (en) Page response method and device, electronic equipment and storage medium
JP3349547B2 (en) Scheduling system
US11966756B2 (en) Method for scheduling feature services with a distributed data flow service framework
CN114416381B (en) Processing resource over-partitioning method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111212

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4935392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees