コンテキストに基づいた情報家電の連携を実現するためのフレームワークおよびルールベース言語の提案
7
0
0
全文
(2) ルール設定時にルールの整合性を自動的にチェックす. いて実装した医療用コンテキストアウェアシステムを. る.また,上記 (1),(4) の目的を達成するために,複. 評価している.JCAF は Java ベースのインフラとプ. 数ユーザのルールが同時に発火し,単一デバイスの使. ログラミング API を提供し,コンテキストアウェア. 用に競合が生じる場合を自動的に検出し,コンテキス. アプリケーションを容易に開発することができる.さ. トに応じた優先度を設定できる機能を持つ.. らに,文献 [6] では,モバイルコンテキストアウェア. (5) の目的を達成するために,システムの実装には 標準仕様である UPnP を用い,UPnP 対応のデバイ スであればどのようなデバイスでも使用可能とする. 以降,2 章で関連研究について述べた後,3 章では, 始めにコンテキストアウェアシステムの例を挙げて問 題点と解決策を示し,その後,ルールの記述を容易に するためのルール記述言語である CADEL と,ルール の記述を容易にし機器間の連携の設定を容易にするフ レームワークについて述べる.次に 4 章では,フレー ムワークの実装方法について述べる.最後に 5 章では, まとめと今後の課題について述べる.. アプリケーションの開発について述べており,そこで. 2. 3. 関連研究 近年,ユビキタスコンピューティングの研究が盛ん. 提案しているフレームワークでは,異種のセンサから のデータを融合させてアプリケーションコンテキスト を表し,コンテキストについて効率的に判断すること を,複雑なコードを書くことなしに可能にする.また, センサとアクチュエーターおよびアプリケーションコ ンポーネントの間の疎結合をサポートする.これらの 研究は,システムやアプリケーションの開発者をター ゲットにシステムの開発を容易化することが目的であ り,コンテキストアウェアシステムにおけるルール設 定の容易化を目的とする本研究とは対象が異なる.. 3.1. に行われており,パーソナライゼーションやコンテキ ストアウェアコンピューティングは,ユビキタスコン. 提案手法 コンテキストアウェアシステムの例. コンテキストアウェアシステムの例として,以下の ようなシーンを考える. 私:リビングルームのステレオで音楽を聴きたい (s1).. ピューティングを実現するための重要な要素となって. その時ライトは薄暗くしたい (l1).蒸し暑く(気温 26. いる. パーソナライゼーションに関して,文献 [3] では, より複雑になっていく生活を支援するには,各デバイ. ℃以上,湿度 55 %以上)なったら,エアコン(設定 気温 25 ℃,湿度 50 %:a1)を起動したい. 父:リビングルームのテレビで野球を見たい (t2).. スのパーソナライゼーションが有効であることを述べ ている.それには個人情報が必要であるが,個人情報. テレビで野球を見ることができないなら録画したい. は,プライバシーを守るために他者から隠す必要があ. でも様々なデバイスを発見し,ユーザの好みや状況に. (r2).蒸し暑く(気温 24 ℃以上,湿度 55 %以上)なっ たら,エアコン(設定気温 23 ℃,湿度 50 %:a1)を 起動したい. 母:リビングルームのテレビで水戸黄門を見たい (t3).テレビの音声はステレオから聞きたい (s3).そ のときライトは明るくしたい (l3).蒸し暑く(気温 28. 応じてデバイスをコントロールすることができる.こ. ℃以上,湿度 60 %以上)なったら,エアコン(設定. の研究は,パーソナライズされたデバイスの操作とい. 気温 27 ℃,湿度 55 %:a1)を起動したい.. る.そこで,自身のパーソナルホームサーバを持ち運 ぶ,といったアプローチが採用されている.パーソナ ルホームサーバはデバイスの使用をパーソナライズし, 家と同様に駅,自動車および通りのようなどんな場所. このとき,図 1 のように制御することが考えられる.. う点で我々の提案と類似点があるが,我々の目的はデ バイスの自動的な連携および設定の容易化であり,そ の点が異なる.. このシナリオでは, 「父が仕事から帰宅した」という. また,コンテキストアウェアコンピューティングの. コンテキストでは, 「父がテレビを見ること」が「私が. 研究には様々なものがある.例えば,文献 [4] では,ロ. ステレオを聞く」より優先順位が高い.そのため,父. ケーションセンシティブな大学キャンパスガイドを実. が仕事から帰宅すると,私はヘッドフォンに切り替え. 装し評価している.さらに,コンテキストアウェアシ. るか,ステレオをオフするかを選択させられる.同様. ステムを容易に実装するための研究に関して,文献. に, 「母が買い物から帰宅した」というコンテキストで. [5] では,The Java Context Awareness Framework. は,他の誰よりもリビングルームにおけるデバイスの. (JCAF)というフレームワークを提案し,JCAF を用. 優先度が高いと仮定している.そのため,ステレオお. 2 −22−.
(3) / 2. Z. [ / . E. して, “ 蒸し暑い ”のような複合コンテキストを定義 X /. P. する際には,関係のあるコンテキスト群を検索できる Y. ようにする. X. さらに,一般家庭においてコンテキストアウェアシ. / 103254(6 7+98;:<#<=?>[email protected]. ステムを実現するには,自分自身の手で(もしくは家. / DCFE. 4%GIH?JLKNM5O. / CQP. 45R%SUTVJ?KWMLO. 族の手で)システム(各コンテキストでどんなアクショ . . . . )*. . ンを実行したいのかを表したルールの集合)を構築で. . きなければならない.一般家庭では,新しいデバイス.
(4) .
(5). を買ったり買い換えたりすることはよくある.また,. . 一度システムを構築した後,新しいルールを追加した. . り,ルールを更新したいといった要求も考えられる.. !"+. ,.-. . "!"#%$ &('. . . そうした場合,誰でもコンテキストアウェアシステム. . を構築できるようにするために,容易にルールを記述 して,デバイスの設定を行えることが重要である. 図 1: シナリオ(タイムチャート) よびテレビは母の見たい番組に自動的に切り替わる. そして,テレビが母に占有されてしまったので,自動 的に DVD レコーダが野球を録画する. 一方,蒸し暑さを感じる時の気温・湿度,快適な気. これらをふまえ,ルールの記述を容易にするための 言語と,ルールの記述を容易にし,機器の設定を容易 にするフレームワークを提案する.次節以降に提案の 内容を詳しく説明する.. 温・湿度は人により異なる.よって,個々に設定した いが,複数の人が同じ場所にいる場合は設定が競合し てしまう.その場合,誰かの設定を優先しなければな. 3.3. CADEL. らない.この例では,母が私や父より体が弱く,寒い のが大変苦手であると想定し,蒸し暑さやエアコンの. ルールの記述を容易にするためのルール記述言. 気温・湿度の設定については母が最も優先順位が高く. 語 CADEL(Context Awareness DEfinission Lan-. 設定されている.. 3.2. 問題点と解決策. 3.1 節で挙げた例でみたように,(1) 同じデバイスに 対する制御はユーザ毎に異なる,(2) 同じ状況下でデ バイスの使用の競合が起きることがある,という問題 が発生する.これらを解決するするために,(1) ユー ザ毎にルールを設定する,(2) ユーザ間でルールの矛 盾が生じる場合には,コンテキスト毎にユーザ間で優 先順位を定義することでこれを回避する,という手法 を採用する.例では「父が仕事から帰宅した」という. guage)を提案する.CADEL で記述された文書(以 下,CADEL 記述)は通常,3.4 節で説明するフレー ムワークを用いて自動生成され,ユーザがテキストを 直接編集することはない.また,フレームワークを用 いる際にユーザ ID によりログインすることで,ユー ザ毎の CADEL 記述が生成される. CADEL は自然言語風のルール記述言語で,システ ムの動作を,条件と対応するアクションからなるルー ルの集合として記述することができる(“ 気温が28 ℃以上なら冷房 ”など). 条件設定文は,以下のように記述される.. コンテキストで私より父の優先順位が高く, 「母が買い. 条件設定,. 物から帰宅した」というコンテキストで母が誰よりも. <(デバイス),条件>,. 優先順位が高く設定されているが, 「私の誕生日であ. なら,. る」というコンテキストでは,私の優先順位を誰より. <(デバイス),アクション>,. も高く設定することもできる.. 設定終わり ここで,<>は複数可, ()は省略可を意味する.条. また,例の中ではユーザ毎に異なる温度・湿度を条 件にエアコンを制御しているが,複数のコンテキスト. 件には,デバイスの各項目に対する大小関係比較のみ,. で定義される複合コンテキストをそのまま条件として. あるいは,線形不等式に制限される.複数の条件また. 並べて設定することは煩雑である.そこで, “ 蒸し暑. はアクションを記述する場合,間に“ かつ ”を記述す. い ”といった一つの言葉で表現できるようにする.そ. る.次に例を示す.. 3 −23−.
(6)
(7)
(8) . 条件設定,. . 気温,28℃以上,. . !#"%$'&)(* +, #-/.102(*. なら, エアコン,冷房,28℃, 設定終わり デバイスを指定しないで条件だけ指定した場合,フ レームワークによるルール設定完了時に,条件が成立. . . 6 + 34#"%$'& +5, #-/.10. する(気温だったら温度計を持つデバイス)デバイス 群を探し出し,その中から選択する.同様に,デバイス を指定しないでアクションだけ指定した場合,フレー ムワークによるルール設定完了時に,アクションの実 行が可能な(冷房だったらエアコンや冷風機など)デ バイス群を探し出し,その中から選択する.. 図 2: ルール設定I/Fイメージ の設定を行うためのものである.ルールは CADEL を. ルールの記述は, “ 条件設定 ”から始まる.キーワー. 用いて記述される.フレームワークによって,CADEL. ド“ なら ”以前が条件で, “ なら ”以降が条件を満た. はユーザとのインタフェースとして出力され,同時に. したときに実行されるアクションとなる.ルールの終. システムが理解できるルールオブジェクトが生成され. わりは“ 設定終わり ”と記述する.さらに,複数セン. る.以降,ルールを記述し,ルールに基づいた機器間. サの情報を組み合わせた,抽象的な言葉を定義するこ. の連携を設定することを, “ ルールを設定する ”と表. とができる(“ 気温が28℃以上かつ湿度が60%以. 現する.本フレームワークは,ユーザに対してルール. 上なら蒸し暑い ”など).定義された語は,以降,条. を設定するためのガイドを行う. 本フレームワークは,以下のガイド機能を有する.. 件設定文中で条件として用いることができる.条件定 条件定義,. (1) 現在のコンテキストの検索が可能である.すなわ ち,コンテキストを構成する各センサのタイプおよび. <(デバイス),条件>,. 値の表示およびルールの設定に必要なセンサの選択が. なら,. できる.. 義文は,以下のように記述される.. 定義語, 定義終わり ここで,<>は複数可, ()は省略可を意味する.複 数の条件を記述する場合の例を次に示す. 条件定義, 湿度,60%以上, かつ, 気温,28℃以上, なら,. (2) 複合コンテキスト(複数のセンサの値(の範囲) の組で表される)に名前を付けて定義することができ る. (3) アクションの種別(例えば,冷房)を指定して,そ れを実行可能な近隣デバイスを検索したり,デバイス (例えばエアコン)を指定して,そのデバイスが実行 可能なアクションのリストを表示することができる. (4) ルールの矛盾を判定することができる. (5) ルール間の競合を判定することができる. (6) ユーザ間のルールの競合を検出し,優先順位を設 定することができる.. 蒸し暑い, 定義終わり 言葉の記述は, “ 条件定義 ”から始まる.キーワー. ルールの設定は以下の手順で行われる.. ド“ なら ”以前が条件で, “ なら ”以降が定義語とな る.文の終わりは“ 定義終わり ”と記述する.. 3.4. 3.4.1. フレームワーク. ルールの設定. 本フレームワークは,ルールを設定するI/Fを提. ルールの記述を容易にし,機器間の連携の設定を容. 供する(図 2).I/FとしてはGUIベースのダイア. 易にするフレームワークを提案する.本フレームワー. ログを用い,音声入力にも対応する.ルールを設定す. クは,コンテキストアウェアシステムを構築するため. るI/Fは,機能的に,条件を設定するI/Fとアク. に,ルールを記述し,ルールに基づいた機器間の連携. ションを設定するI/Fとに分けられる.条件を設定. 4 −24−.
(9) . "!
(10) #$&%('*),+.-/ 01 %(243657-/. (ii) コンテキストの定義 条件設定I/Fでは,複数のコンテキストの集合を 指して,それを言葉で定義することができる.例えば, 湿度が60%以上かつ温度が28℃以上を, “ 蒸し暑 い ”と定義することができる.定義された言葉は,以 降,条件設定I/Fにおいて,コンテキストとして使 用することができる. (iii) アクションの検索と設定 アクション設定I/Fでは,アクションとアクショ ンを実行するデバイスを検索することができる(図 3). 検索は,以下の検索方法を単独でもしくは組み合わせ て行う. (1) キーワードを入力することで,キーワードに関連 するアクションを検索する. (2) コンテキストから関連するアクションを検索する. (3) アクションからデバイスを検索する..
(11)
(12) .
(13)
(14) . 図 3: アクション・デバイス選択イメージ. . +,3 *+,3. . . . 2 * !#"%$'&)( *,+ "%-/.10. (i) コンテキストの検索と条件の設定 条件設定I/Fでは,条件を設定するためのコンテ. (4) デバイスからアクションを検索する. (5) エリア(リビング,子供部屋など)からデバイス を検索する. センサおよびデバイスの検索範囲は,エリアを指定し ない場合は家庭内ネットワークに接続される全てとす る.また,ホームサーバがインターネットに接続して いる場合,インターネット上のアクション・デバイス およびコンテキスト・センサを検索することもできる. (iv) ルールのインポート ホームサーバにある他のユーザの設定をインポート し,それを元にカスタマイズしてルールの設定を行う ことができる.例えば,他のユーザによって“ 蒸し暑 い ”と定義されたコンテキストをインポートし,カス タマイズ(気温の設定を変更するなど)して使うこと ができる. さらに,ホームサーバがインターネットに接続して いる場合,他のユーザの設定を集めて統計的に処理 たものをインポートし,それを元にカスタマイズして. キストと関連するセンサを検索することができる(図. ルールの設定を行うこともできる.. 図 4: コンテキスト・センサ選択イメージ するI/Fは,コンテキストおよびセンサ機能を持っ たデバイスのガイドを行う.アクションを設定するI /Fは,アクションを実行できる機能を持ったデバイ スのガイドを行う. ユーザはルールを設定するI/Fを起動後,条件 またはアクションのどちらかのI/Fに対して設定を 行う.. 4).検索は,以下の検索方法を,単独もしくは組み合 わせて行う.. (1) キーワードを入力することで,キーワードに関連 するコンテキストを検索する.. (2) アクションから関連するコンテキストを検索する.. 3.4.2. 矛盾の判定. CADEL では,各設定における条件式は一次不等式 の論理積なので,解が存在するかどうかは,LP の解 法などを使って高速に判定可能である.. (3) コンテキストからセンサを検索する. (4) センサからコンテキストを検索るる.. ルールの矛盾判定. (5) エリア(リビング,子供部屋など)からセンサを. ルールに矛盾が生じる場合は警告する.警告にもかか. 検索する.. 入力された設定は,随時,整合性の判定が行われ, わらず,設定の変更が行われずに矛盾が解消されない 場合は,設定を完了することができない. ルール間の競合判定. 5 −25−.
(15)
(16)
(17) . <. ;. :. . !#"%$'&)(6* 7 , - 34"%$'& 9 +-, #.0/21(*
(18)
(19) 5 +-, 4.0/21 =->@?@ACBED-FHGIAKJLFNMPORQTS UV-WYXZ [ \ ?EA]BD-FHGPATJLFNMPO^Q_Sa`bLcedfd g Q ahi ZFHGPAKJLFkjlMIOnmLSaopWLd 8. GIHIJ. DFE 2! #2"%3&. K 3LF OPOQO M N DFE "! #$"%'&
(20) . (') * ,+ - !'1 /.0 2!3. A B8C. 図 5: 優先順位設定イメージ また,設定完了時には,他のルールとの競合の判定. 5 6 7 !98 :+;=<?>@#. . . (3)4* %+ - !'1 /.0 "! . . OQOPO . 定されている.優先順位は,ルール設定時に設定され. 図 6: システム構成図 (2) デバイス情報の入手, (3) 入手した情報に基づいたデバイスの制御, (4) デバイスの情報が変化したときのイベント通知, が可能になる.これらの機能は,コントロールポイン トと呼ばれるソフトウェアコンポーネントによって実 現される.また,UPnP において,デバイスはサービ スコンテナでありネストされたデバイスである.ここ で,サービスとは,UPnP ネットワークにおける制御 の最小ユニットであり,サービスはアクションを生み 出し,状態変数を使ってその状態をモデリングする. デバイスを発見するにはサーバまたは SSDP(Simple Service Discovery Protocol) を用いる.また,制御メッ セージの転送には SOAP(Simple Object Access Protocol) を,イベントの通知には GENA(General Event Notification Architecture) を用いる.また,デバイス 情報は XML で記述される.. るだけでなく,ルールが実行されているときに変更す. 4.2. を行う.ここで,r を新たに追加するルールとする.r に登場するあるデバイスについて,r と r’ が同時に実 行可能となる状況が存在する時,r と r’ は競合すると いう.競合判定は,r と同じデバイスを持つ各ルール との条件の論理積を構成し,解が存在するかどうかを 判定すればよい. 他のルールと競合が生じる場合は警告し,設定を完 了することができない.ユーザ間で優先順位を付与す ることで回避できる場合は,優先順位の設定I/Fを 起動し,優先順位の設定を実行できる.また,優先順 位は実行時にも再設定できる.. 3.4.3. 優先順位の設定. 優先順位設定I/F(図 5)では,ルール間の優先順 位を設定する.例えば,3.1 節の例においては,コンテ キストに応じて,私,父,母のルールの優先順位が設. システムの構成と詳細. ることもできる.あるデバイスの使用に対して幾つか. システムは,入力インタフェース,ホームサーバお. のルールが競合し,優先順位が適用される際には,本. よび家電機器,センサ,アクチュエータなどのデバイ. フレームワークは,競合するルールのリストおよび現. スから構成される. (図 6).入力インタフェースとホー. 在設定されている優先順位を表示するとともに,現在. ムサーバは互いに通信可能であり,ホームサーバと家. の設定に従うかあるいは優先順位を変更するかをユー. 電機器・センサ・アクチュエータなどのデバイスは,. ザに選択させることができる.変更する際には,優先. UPnP に対応した通信が可能であると想定している. 入力インタフェースは,GUI・キーボード・音声入. 順位設定 I/F が起動する.. 4. 力などのルールの設定を行うためのインタフェースで. 実装方法. 4.1. あり,ホームサーバ上のルール設定ガイドソフトウェ. UPnP. アと通信する.ここでの入力インタフェースは,マイ. UPnP[1] は,家庭内のパソコンや周辺機器,AV 機 器,電話,家電製品などの機器を,ネットワークを通. ク,リモコン,キーボード,タブレットなどの入力デ バイスに相当し,あちこちに置くことができる.. じて接続し相互に機能を提供しあうための技術仕様で. ホームサーバはシステムの中心であり,ルール設定. ある.UPnP を用いることで,. ガイドソフトウェアが置かれ,UPnP コントロールポ. (1) デバイスの発見,. イントを用いてデバイスの検索を行いユーザのガイド. 6 −26−.
(21) を行いながらルールの設定を行う.設定されたルール. クトは,ルールに記述された条件が達成されるかどう. は,ルールオブジェクトとして存在し,ルールに従い. かを監視し,条件が達成されればルールに記述された. UPnP コントロールポイントを用いてイベントの受信, デバイスの操作を行う.また,ホームサーバはホーム ゲートウェイとして機能し,インターネットと接続さ れる.. アクションを実行する.. 4.3. ルに基づいてサービスのイベントをサブスクライブし,. ソフトウェアの構成と詳細. コンテキストの変化を監視しアクションを実行する ために,ルールオブジェクトは UPnP コントロールポ イントを持つ.UPnP コントロールポイントは,ルー イベントの通知を受ける.よって,ルールオブジェク. ルール設定ガイドソフトウェア ルール設定ガイドソフトウェアは,ユーザのルール 設定をサポートする.ルール設定ガイドソフトウェア は,入力インタフェースからは独立した実装であり, 任意の入力インタフェースを用いることができる.入 力インタフェースは,3.4 節で述べたように GUI およ. トはルールに記述されたコンテキストの変化を監視す ることができる.また,UPnP コントロールポイント は,ルールに基づいてサービスを制御するアクション を呼び出す.よって,ルールオブジェクトは,ルール に基づいてデバイスを制御することができる.. 5. び音声入力を想定している.. おわりに. ルール設定ガイドソフトウェアは,入力インタフェー. 本稿では,一般家庭において,個々人が自分のニー. スから入力された条件やアクションに応じてガイドを. ズに従ってコンテキストアウェアシステムを利用でき. 入力インタフェースに出力する.同時に,ルールを表. るようにするために,ルールの記述やセンサ・デバイ. 現した CADEL 記述を出力する.ここで,CADEL は,. スの連携の設定を容易にするためのフレームワークの. Visual Basic の様にツールを用いて記述され,基本的 にユーザが直接テキストを編集しない. ガイドを行うための情報を得るために,家電機器・ センサ・アクチュエータなどのデバイスを検索するに は,UPnP(SSDP)を用いる.ルール設定ガイドソ フトウェアは,ルール設定開始時に UPnP コントロー ルポイントを作成し,デバイスディスクリプションを 取得して,関連サービスのリストを取得する.そし て,リストから必要なサービスのサービスディスクリ. 提案を行った.今後,プロトタイプの実装を行うとと もに実験および評価を繰り返し,問題点を洗い出して, 本フレームワークの改善および拡張を行っていく予定 である.. 参考文献 [1] [2] [3]. プションを取得する.ルール設定ガイドソフトウェア は,サービスディスクリプションを用いてガイドを作 成する. ルール設定ガイドソフトウェアにより作成される. [4]. ルールは,CADEL を用いてテキストとして作成され るだけでなく,ルールオブジェクトとして作成される. ルールオブジェクトはルールを実行するソフトウェア. [5]. であり,コンテキストの変化に応じてルールに基づい たアクションを実行する.また,ルール設定ガイドソ フトウェアは,CADEL で記述されたテキストファイ ルを読み込むことにより,ルールオブジェクトを作成. [6]. することができる.このことにより,他の環境で作成 されたルールをインポートすることができる. ルールオブジェクト ルール設定ガイドソフトウェアを用いて設定された ルールは,CADEL で記述されたテキストファイルだ けでなく,同等のルールを持ったルールオブジェクト としてホームサーバ上に生成される.ルールオブジェ. 7 −27−. http://www.upnp.org/ http://wwws.sun.com/software/jini/ Tatsuo Nakajima and Ichiro Satoh : Personal Home Server: Enabling Personalized and Seamless Ubiquitous Computing Environments, Proceedings of 2nd IEEE International Conference on Pervasive Computing and Communications (PerCom2004), pp.341-345, March (2004). Jenna Burrell and Geri K. Gay and Kiyo Kubo and Nick Farina : Context-Aware Computing: A Test Case, Proceedings of UbiComp 2002: Ubiquitous Computing: 4th International Conference, pp.1-15, September (2002). Jakob E. Bardram : Applications of context-aware computing in hospital work: examples and design principles, Proceedings of the 2004 ACM symposium on Applied computing (SAC2004), pp. 1574– 1579 (2004). Gregory Biegel and Vinny Cahill : A Framework for Developing Mobile, Context-aware Applications, Proceedings of 2nd IEEE International Conference on Pervasive Computing and Communications (PerCom2004), pp.361-365, March (2004)..
(22)
関連したドキュメント
議論を深めるための参 考値を踏まえて、参考 値を実現するための各 電源の課題が克服さ れた場合のシナリオ
本文書の目的は、 Allbirds の製品におけるカーボンフットプリントの計算方法、前提条件、デー タソース、および今後の改善点の概要を提供し、より詳細な情報を共有することです。
2008 “The BioScope corpus: annotation for negation, uncertainty and their scope in biomedical texts,” Proceedings of the Workshop on Current Trends in Biomedical Natural
個別の事情等もあり提出を断念したケースがある。また、提案書を提出はしたものの、ニ
層の項目 MaaS 提供にあたっての目的 データ連携を行う上でのルール MaaS に関連するプレイヤー ビジネスとしての MaaS MaaS
Google マップ上で誰もがその情報を閲覧することが可能となる。Google マイマップは、Google マップの情報を基に作成されるため、Google
3.仕事(業務量)の繁閑に対応するため
そのため、ここに原子力安全改革プランを取りまとめたが、現在、各発電所で実施中