180 likes | 397 Views
マスター輪講. An Architecture for Interactive Context-Aware Applications. 坂井勇介. Context-Awareness とは?. “ 状況( Context )を認識できる ” という特性 Context には以下のようなものが挙げられる 存在 人がいる,ものがある,等 動作 何をした,している,等 環境 室温,湿度,明るさ,等. 従来の問題点. 従来の Context-Aware Application の問題点 ユーザの利益を推定するための仮定を ユーザに知らせない
E N D
マスター輪講 An Architecture for Interactive Context-Aware Applications 坂井勇介
Context-Awareness とは? • “状況(Context)を認識できる” という特性 • Contextには以下のようなものが挙げられる • 存在 • 人がいる,ものがある,等 • 動作 • 何をした,している,等 • 環境 • 室温,湿度,明るさ,等
従来の問題点 • 従来のContext-Aware Applicationの問題点 • ユーザの利益を推定するための仮定を ユーザに知らせない • ある処理が された/されなかった 理由の フィードバックがない • ユーザコントロールを提供しない
本研究の目的 • 問題の生じる理由 • ビジュアル化することをためらっている • 技術的な難しさがあるため • 対話モデルが提唱されていない 研究の目的: Context-Aware Application における 対話モデルとアーキテクチャを提案
Application Environment Change of context Domain model Sensors Implicit interaction Context Context Explicit interaction Context 対話モデル
Context とは • アプリケーションになにを求めているかという理論構成のこと • 情報の断片ではない • “もし x なら y”から “x である限り、それに関連付けられた方法で要求を処理(解釈)せよ” へ
アーキテクチャの決定 • MVC パラダイムがベース • Model-View-Controller • ソフトウェアアーキテクチャの一つ
M 出力 V 変更通知 V M 表示制御API C C 入力 編集API MVC パラダイムについて Model アプリケーションで扱うデータと操作 View データの描画(ユーザインタフェース) Controller 入力を受け取り、M と V に コマンドを発行 機能別に明確にブロック化するため UI 部の取替えが容易
アーキテクチャ Events from the backend Context Context Context C C C C C C C C ■データ ■物理的な装置 M M M V V V
Context の変化の様子 Events from the backend Context Context Context C C 評価 C C C C C C M M M V V V
本アーキテクチャの利点 • Context の実生活に近い理解 • 情報の断片でなく、理論構成である • 現在の Context がなにであるかが常に可視 • システムの状態が常にフィードバックされる
実装例 • Location-aware application • 研究室内の移動先にユーザのデスクトップを移動させる • ユーザはヘッドマウントディスプレイを装着 • Augmented Reality によるフィードバック • 位置の検知に“Active Bats”を使用 • ユーザが“Bat”と呼ばれるデバイスを持ち歩くことで位置を検知 • 2つのボタンを持ち、入力デバイスとしても機能
MyDesktop1 MyDesktop2 MyDesktop3 動作例 Teleportingregion 1. Region 内に移動 2. 上のボタンを押下 (サーバへ接続) 3. 下のボタンを押下 (サービスの 有効/無効の切り替え) TeleportingisOn Desktop>> TeleportingisOn TeleportingisOff HMD と Bat を装着したユーザ
アプリケーションの特徴 • アプリケーションの動作を決定する要素 • サービスは on/off どちらか • ユーザは teleporting region の 内/外どちらか • コンピュータがサーバに接続しているか • 以下の3つのモデルを作成 • Bat model • Desktop model • Teleport service model
Controller のデザイン If active and connected, maximize view: If active and not connected, minimize view: If not active, deactivate view;
利点 • Monolithic に実装してしまうと • すべてのコンディションの組み合わせをネストしたIFステートでチェックする必要がある • なにかアクションをするたびに現在の Context をチェックする必要がある
まとめ • まとめ • Context とはなにか議論 • Context-aware application とユーザとの対話モデルの提案 • Visualization という面から見たアーキテクチャの設計 • 以上の実装例 • 今後の課題 • 階層的な Context コンポーネントを持つアーキテクチャの設計