ユビキタスコンピューティングのための仮想空間シミュレータの開発

奈良先端科学技術大学院大学情報科学研究科
ソフトウェア基礎学講座助教授

安本 慶一
yasumoto@is.naist.jp
http://ito-lab.naist.jp/~yasumoto1

ユビキタスコンピューティング

提唱者Mark Weiser（故人）による定義


スマートスペース，スマートホーム

人間の生活環境の中にコンピュータチップとネットワークが組み込まれ、ユーザーはその場所や存在を意識することなく利用できるコン
ピューティング環境

多数のデバイスやセンサーが埋め込まれた空間において、ユーザの位置、好み、周辺の状況に応じて情報家電などのデバイス群を適切に制御する環境
例）Aliceがリビングに入室→気温，湿度，照明を好みに調整し，音楽を流す，など

近年，スマートスペースの実現に関する研究が盛ん

要素技術：多数のデバイス・センサーを繋ぐ通信方式，センサーネット
応用技術：デバイス群の連携による高度なサービスの提供
2

スマートスペース実現のための技術

情報家電（デバイス）をつなぐネットワーク

応用層

アプリケーション（ミドルウェア）無線：ZigBee，Bluetooth，IEEE802.11
有線：PLC（電灯線）， Ethernet

中間層

UPnP, Jiniなど

下位層

ZigBee，Bluetooth，PLCなど



デバイス間通信・連携のための枠組・プロトコル

UPnP（Universal Plug & Play）
Jini
DLNA（Digital Living Network Alliance）


幾つかの対応デバイス（ハイブリッドレコーダなど）が既に市販

アプリケーションソフトウェア


センサーから得たデータおよびユーザの好み情報などをもとに，デバイスを適切に制御するためのソフトウェアが必要
3

アプリケーションとテストベッド


アプリケーションの動作
センサーなどから情報を取得
 シナリオ（ユーザがどのようなサービスを望むか）通りにデバイス群を制御


システムが正しく（想定通りに）動作するかテストが必要

センサー，デバイスを埋め込んだテストベッドが必要
リビングでは，暗めの照明で映画を見たい

暗めの照明
TVでは映画をRFID
RFID
readerServer

センサー値
取得・デバ
イス制御
4

テストベッドの例


ユビキタスホーム（情報通信研究機構）


多数のセンサー，デバイスを組み込んだ住宅“ユビキタスホーム”を構築し，実際にユーザを住まわせてデータを収集・評価

GAIA（米国イリノイ大）

5～6台の大画面モニタ，音声認識を介したデバイス制御，正確な位置検出センサを持つテストベッド．ユーザの生活・仕事を支援する様々なアプリケーションを開発

ユビキタスホーム（情報通信研究機構webページより抜粋）

GAIAテストベッド（イリノイ大GAIA研究チームのwebページより抜粋）
5

実環境におけるテストの問題点
 高コスト

センサ，デバイスの配置
 様々なユーザの行動 あらゆるコンテキストに対するテストは不可能

センサの設置個所
 ユーザの行動




空間の形状

シミュレータによるアプリケーションのテスト
6

UbiREAL – スマートスペースシミュレータ

ユーザ・（デバイスやスマートホームの）販売者
情報家電の快適な動作のための配置・制御シナリオ作成
 デモンストレーション


開発者
ソフトウェアの正しさ，信頼性のテスト
 新しいデバイスの開発，動作確認，デモ

7シミュレータに必要な機能（ユーザまたは販売者の立場）
リハーサルによる試行錯誤→最適な制御シナリオ・配置

シミュレータ上に実空間に近い環境を容易に構築

システムの動作の直感的な把握GUIを用いて仮想デバイスを空間に配置
デバイス間の通信（無線通信）
環境の変化を再現（気温，明るさなどの物理量の変化）
仮想空間上でのデバイスの動作，環境の変化を可視化したい

シミュレーションでは知覚が困難なケース


音量など，仮想空間上でデバイス制御の効果を知覚しにくいものは，実デバイスを仮想空間のシミュレーションと連動させて制御したい

8

シミュレート困難な状況


音量などの物理量は，PC上のシミュレーションだけでは把握しにくい

Example case:

62 dB

電話が鳴った時，テレビの音量を自動的に下げる

PC上だけでは感覚的にはわかりにくい
実際のデバイスの音量を聞く必要がある
48 dB
実デバイスと仮想デバイスを用いたシミュレーション
9

シミュレータに必要な機能（開発者の立場）
開発したソフトウェア/ハードウェアの動作の確認・正しさのテストスマートスペースの構築

デバイスの動作・デバイス間通信

物理量（気温，明るさなど）を変化させるデバイスの影響を再現したい

ユーザの移動・行動
実デバイス用に開発したソフトウェアをそのまま動作させたい仮想空間上で，距離や障害物を考慮した無線通信を再現したい

物理量変化


現実空間を模した空間を設計し，多数のデバイスを自由に配置したい

仮想空間上でユーザの移動，行動（スイッチを入れるなど）を再現したい

系統的なテスト

システム全体があらゆる状況下において正しく（予期どおり）動作
10

UbiREALで実現する機能
 スマートスペース設計支援
 デバイス間通信のシミュレーション 実デバイスと仮想空間デバイスの連携
 物理量のシミュレーション
 可視化
 系統的なテスト

11

UbiREAL 構成

物理量
シミュレータネットワークシミュレータ

Socket stub

可視化機能，GUI

テスト機能

Socket stub

デバイス制御用 デバイス制御用
ソフトウェア
ソフトウェア（アプリケーション）（アプリケーション）

12

シナリオ例（条件，アクション）

家電はネットワークに接続，ルールベースのアプリケーションにより制御
アプリケーションはホームサーバ上で実行
アリス（ユーザ）はRFID tagを持っていて，部屋にはRFID readerが設置
ルール例
アリスが部屋にいる時,•ランプがON•TVでは映画

RFID
RFID
readerServer13

シミュレータの動作例（1/4）
各デバイスの位置情報が可視化モジュールに送られる
 ネットワークシミュレータは位置情報，空間の形状から，デバイス間の通信が可能かを判断
RFID
物理量
シミュレータRFID
reader

ネットワークシミュレータ

RFID tag

Server

可視化機能，GUI

RFID
reader14

シミュレータの動作例（2/4）


ネットワークシミュレータを介してデバイス間でパケットを交換

RFID
物理量シミュレータ

RFID
reader

ネットワークシミュレータ

RFID tag

Server

可視化機能，GUI

RFID
reader

パケット交換15

シミュレータの動作例（3/4）• RFID tag のユーザ情報がネットワークシミュレータを経由してホームサーバに送られる

RFID
物理シミュレータ

RFID
reader

ネットワークシミュレータRFID
reader

可視化機能，GUI

ServerServerルール
検索16

シミュレータの動作例（4/4）


ルールが存在すれば，ルールのアクション（ランプON，TVをON）を実行

RFID

パケット送信
物理シミュレータ

RFID
readerServerServer

Lamp

ネットワークシミュレータ可視化機能，GUITV

デバイスの変化を促すシグナル
17

UbiREALの機能群の詳細
 可視化，スマートスペース設計支援 ネットワークシミュレータ
 物理量シミュレータ
 系統的なテスト

18スマートスペース設計支援（GUI）


3Dデータ（仮想空間，オブジェクト）

一般的なモデリングソフトのデータを使用可

オブジェクト静止物 家電，家具，etc
 移動物
 人，ロボット，etc

オブジェクトの配置
静止オブジェクトは，任意の位置に配置
 移動オブジェクトは，軌跡を指定

19

スマートスペースの可視化 デバイスや物理量の変化を可視化

デバイスの形状，色や空間の見え方を変化 視点

3D view
 2D view (bird-eye)
20

ネットワークシミュレータ
 デバイス間の通信をシミュレート

セッション層/プレゼンテーション層: UPnP (SOAP，SSDPなど)
 トランスポート層：TCP，UDPなど
 ネットワーク層：IP，経路制御プロトコル(OSPF, AODVなど)
 データリンク層・物理層： Ethernet，IEEE 802.11など


屋内の無線通信をシミュレート（障害物などを考慮）

line-of-sight, ray-tracingなど実デバイスコードを使用可能（ソースレベル互換）


コンパイル時に，シミュレータ用通信ライブラリをリンク
Socket Stub
Application
ProgramBind()
Connect()
Send()
Recv()

Network
Simulator21物理量シミュレータ

一般的な物理量を部屋ごとにシミュレート

初期値は部屋ごとに与えられる各物理量は物理学の公式に基づいて変化

外気温，デバイスの動作を考慮

例：温度シミュレータは外気温やエアコンにより熱量が与えられ変化
熱量: -Q(t)式
ΔT(t)=Q(t)/C32C

エアコンON（25C）

25C

ΔT: 温度変化,
Q: 与えられる
熱量,
C: 熱容量数分後
22

系統的テスト機能（１）正しくデバイスが制御

例：アリスが入室後, 本当にTVはCNNか？

（２）正しい物理量の変化


例：アリスが入室後, 気温が25度になったか？
CNN??

アリスが部屋に入れば,TVをON（CNN）,エアコンをON（25C）

ON
アリス

25C??

ON

テスト方法



系統的に可能な限りのコンテキストを生成
仮想空間上でアプリケーションを実行
デバイス，物理量の状態変化を観測

仮想空間の状態（オブジェクトの位置・状態，物理量の値，時刻など）
23アプリケーションのテスト


入力



アプリケーションの実装
仮想空間（部屋，デバイス）
アプリケーションの仕様（ルールの集合，物理量の性質の集合）＊ルール：コンテキストの条件とデバイスを制御するアクションにより構成


アプリケーションの実装の正しさの定義(1) 全てのルールにおいて条件を満たした時，必ずアクションが発火


ルール: アリスが部屋1にいた時, ランプ2がON,(2) アプリケーション実行後，物理量に関する満たすべき性質が成立
性質: アリスが部屋1にいる時, 部屋の温度が25度に調節される（対応ルール：アリスが部屋1にいる時，エアコンを温度設定25度でオン）
24

テストの方法(1)各ルールが正しく実装されているか各ルールに対して

コンテキストの条件を満たすパラメータの組を生成
実行
気温,
アクションが実行されたか観測
ユーザの位置, 時間, etc(2)各物理量の性質が成立するか物理量シミュレータと連動させてテスト各性質に対して

物理量の初期値を与える
実行
定期的に物理量の変化をチェック または，タイムアウトにより終了（1），（2）を満たせば正しく実装されているとみなす
25

性能評価


評価
テストの性能評価
 可視化を伴ったシミュレーションの性能評価


ルールベースアプリケーションCADEL framework

温度センサ

ホームサーバ

エアコン•デバイスは仮想のイーサネットハブに接続•セッション層 (UPnP)以上をシミュレート
使用したPC

CPU: AMD Athlon 64×2 Dual Core Processor 4200+
メモリ: 2GB
グラフィックカード: ATI Radeon X1300Pro
OS: Windows XP Professional SP3+J2SE1.5
26

１ルールのテストに必要な時間
ルール（ホームサーバ）•

室温が25度以上の時エアコンをON

Temp sensor
App on Home server

Air conditioner

計測値
 温度センサの値を更新（25度以上）してから，エアコンがONになるまで
 計測時間 センサとホームサーバの通信 ホームサーバでのルールの処理 ホームサーバとエアコンとの通信
27

１ルールのテストに必要な時間
 結果：


100回のシミュレーションの平均: 20ms

 一般的なスマートホームにおけるテストに必要な時間：
ユーザ：5人，デバイス：100個
 各デバイス，ユーザに対して１つのルール
 1つのルールに対して100回テスト
 テストかかる時間: 5*100*100*0.020 ≅ 17 min28

可視化を伴ったシミュレーションの性能
 フレームレートを計測


可視化を伴いアプリケーションをシミュレーション

 実験環境デバイスの数: 0 ～ 25
 各デバイスに対して2つのルールをセット
 最大50個のルールが発火

29

可視化を伴ったシミュレーションの性能

リアルタイムシミュレーションには十分な結果

30

まとめ

スマートスペースシミュレータUbiREAL
 仮想空間においてユビキタスアプリケーションをシミュレート GUI（デバイスの設置 etc）
 可視化
 ネットワークシミュレータ
 物理量シミュレータ
 系統的なテスト機能



今後の課題
 様々なアプリケーション，デバイスの開発
 下位層のプロトコルのサポート（特に無線通信）
 物理量シミュレータが扱う物理量の拡充・正確化
 系統的テスト機能の実装
31

研究成果の対外発表西川，山本，玉井，西垣，木谷，柴田，安本，伊藤：“系統的なテストを可能にするユビキタスアプリケーションシミュレータの提案，” 第36回モバイルコンピューティ
ングとユビキタス通信・第10回ユビキタスコンピューティングシステム合同研究会，
pp.239-244 (Feb. 2006).

西川，山本，玉井，西垣，木谷，柴田， 安本，伊藤：“スマートスペースシミュレー
タUbiREALの提案，” マルチメディア，分散，協調とモバイルシンポジウム(DICOMO 2006)論文集，pp.945-948 (July 2006).

Nishikawa, H., Yamamoto, S., Tamai, M., Nishigaki, K., Kitani, T., Shibata,N., Yasumoto, K., and Ito, M.: “UbiREAL: Realistic Smartspace Simulator for
Systematic Testing,” Proc. of the 8th International Conference on
Ubiquitous Computing (UbiComp2006), LNCS4206, pp. 459-476 (Sep. 2006).


採択倍率：232/30=7.7倍，日本からは2件の採択

UbiREALプロジェクトのホームページ（近日公開予定）


http://www.ubireal.org/32