18
LOIS 2012/11/21 静静 CS27 Lab. Kobe University 静静静静静静静静静静静静静静静 MashMap 静静静静静静 神神神神神神神 神神神神神神神神神神 神神 神神 神神 神神 神神 神神

201211 LOIS koupe

Embed Size (px)

Citation preview

Page 1: 201211 LOIS koupe

LOIS 2012/11/21 @静岡CS27 Lab. Kobe University

ライフログ可視化フレームワークMashMap の実装と評価

神戸大学大学院システム情報学研究科

高橋 昂平柗本 真佑中村 匡秀

Page 2: 201211 LOIS koupe

2

ライフログとそのマッシュアップ ライフログ

人間の行いをデジタルデータとして記録したもの様々な目的に利用されている

ex. 自己の振り返り , 生活改善 , 意思決定 ...それらに応じた多くのライフログサービスが提供されている

ライフログのマッシュアップ集約・連携することで更に付加価値が上がる

食事の写真 + 体重ログ = 食習慣の振り返り・改善先行研究 : ライフログマッシュアッププラットフォーム [1]

ライフログ標準データモデル( LLCDM )マッシュアップ API ( LLAPI )

まつ本真佑,下條彰,鎌田早織,中村匡秀,“異種ライフログ統合のための標準データモデルとマッシュアップ api” 電子情報通信学会論文誌, vol.J95-D , p.758–768 , April 2012 .

FoodLogBETAManage your photos of foods LLCDM

TransformAggregate

LLAPI

PerlLifeLoggerPerlLifeLogger

BodyLog

Page 3: 201211 LOIS koupe

3

位置付きライフログ位置情報

緯度・経度の組や住所ライフログの種類に依らない汎用的なデータ様々なライフログに紐付けできる

位置付きライフログ ライフログの内,位置情報を含むもの

[34.729198, 135.234526]” 神戸市灘区六甲台町 1-

1”

Page 4: 201211 LOIS koupe

4

位置付きライフログを用いたサービス誰がいつどこで何をしたかを地図上で振り返ることができる

ウェザーリポート Ch.→エンドユーザによるピンポイントな天気

みんなでつくる放射線量マップ→ 参加型センシングによる放射線量測定

Page 5: 201211 LOIS koupe

5

先行研究: MashMap フレームワーク ライフログを束ねて (Mashup) ,地図 (Map) 化する 様々な形式の位置付きライフログを地図上に可視化する

ための汎用的な枠組み ライフログを地図上に可視化する際の共通した処理をフ

レームワークで処理する様々な形式の位置付きライフログを標準形式 (LLCDM) で保存,

アプリケーションに必要なデータを選別して,地図上へ可視化する.

地図上での容易なライフログマッシュアップを実現効率的なサービス開発を支援

MashMap FrameworkMashMap1

MashMap2

MashMap3

Page 6: 201211 LOIS koupe

6

MashMap フレームワークのアーキテクチャ

LLCDM

Map Renderer

MashMap API

DisplayFormatFilter

DataSource 1

MashMap1 

LLAPI

DisplayFormatFilter

DataSource 2…

1.DataSource を定義 Filter: 可視化するログを選別す

る DisplayFormat: どのような

表示形式で地図上に表示するかを定義

…2.MashMap オブジェクト作

成 同一地図上に表示する

DataSource を紐付ける3.GoogleMap 上に可視化 MashMap Renderer から

MashMapAPI を利用

MashMapFrameWork

0.位置付きライフログのインポートと変換

Page 7: 201211 LOIS koupe

7

現状の課題 フレームワークの提供する API を実行するプログラム自

体を,開発者が自ら作成しなければならず,手軽に試すことができない.

先行研究において,実際に開発を行った検証がされておらず,どの程度の効果が得られるのか評価されていない.

Page 8: 201211 LOIS koupe

8

研究の目的とアプローチ 目的

MashMap API を気軽に使い,試せるような仕組みを開発することで MashMap フレームワークを便利に使えるようにする

MashMap フレームワークの有用性を確かめる

アプローチMashMap Builder の開発

MashMap API を介して提案フレームワーク上に既に作成したオブジェクトを一覧しながら,各オブジェクトを画面上の簡単な操作で作成できる GUI フロントエンド

評価実験を行う複数の種類の位置付きライフログを地図上に可視化する「旅行振り

返りマップ」を開発する.提案フレームワークを用いる場合,用いない場合とでの開発工数の差を比較する.

Page 9: 201211 LOIS koupe

9

MashMap Builder MashMap API の開発者向け GUI フロントエンド 既に作成された MashMap フレームワーク上のオブジェ

クトを一覧しながら,各オブジェクトを画面上の簡単な操作で作成できる

利用例シナリオ「ユーザ (koupe) が 2012年 9 月 13日に GARMIN で取得したGPS ログを,赤色の線で地図上に可視化したい」場合

2012年 9 月 13日 koupe

Page 10: 201211 LOIS koupe

10

MashMap Builder 利用例 : Filter の作成 Filter 作成ページ

Filterは DB からデータを選別するクエリを持つ

各フォームに以下のように値を入力し, createボタンを押す

description: “沖縄旅行 3 日目の GARMIN ログ” start date : “2012-09-13” end date : “2012-09-14” start time : “00:00:00” end time : “00:00:00” user : “koupe” application: “GARMIN”

既に作成した Filterはフォームの下に表示されている

Page 11: 201211 LOIS koupe

11

MashMap Builder 利用例 : DataSource 作成Filter 同様,それぞれの作成ページのフォームを利用する DisplayFormat 作成

DiplayFormatは,各データの表示形式を定義する今回の例では,フォームには以下のように入力するDisplayType : “Line”Options : “StrokeColor:red”

Options項目には GoogleMapsAPI の知識を要する

DataSource 作成Filter と DisplayFormat の組み合わせにより定義される作成した Filter, DisplayFormat の ID を同一ページに表示され

ているリストを見て入力するFilterID : “f1”DisplayFormatID : “d1” DataSource

Page 12: 201211 LOIS koupe

12

MashMap Builder 利用例 : MashMap完成 MashMap オブジェクト作成

MashMap オブジェクトは,同一の地図上へ可視化するDataSource を持つ

まずは,その MashMap オブジェクト自体の情報を入力し,新たな MashMap オブジェクトを作成する

Name : “沖縄旅行 3 日目” description: “2012年 9 月 13日分の沖縄旅行時ログまとめ”

MashMap オブジェクトへの DataSource追加

作成した MashMap オブジェクトと DataSource の ID を入力する MashMapID : “mm1” DataSourceID : “ds1”

⇒リストから MashMap を確認できる

クリック

Page 13: 201211 LOIS koupe

13

デモ : MashMap BuilderWeb アプリケーション

HTML+JavaScript で作成以下の JavaScript ライブラリを使用

jQuery 1.8.2MashMap Renderer (提案フレームワークに含まれる)

有効行数HTML:761 行 (7 ファイル )JavaScript:334 行

デモ映像「ユーザ (koupe) が 2012年9 月 13日に GARMIN で取得したGPS ログを,赤色の線で地図上に可視化したい」場合に必要な操作

Page 14: 201211 LOIS koupe

14

「旅行振り返りマップ」 振り返り地図の目的

沖縄旅行に行った中の 1 日分、 2012年 9 月 13日分のログを一つの地図上に可視化したい。

可視化したいログLogG: 2012年 9 月 13日にユーザ koupe が GARMIN で取得

した GPS ログLogT: 2012年 9 月 13日にユーザ koupetiko が Twitter で取得したツイートのログ

可視化の方法LogG :移動した軌跡を赤色の線で表示したいLogT :フキダシで表示したい

ツイートした地点にフキダシアイコンを表示それをクリックすると大きなフキダシが現れ,アカウント名とア

イコン、ツイート内容が表示される

Page 15: 201211 LOIS koupe

15

評価実験 目的

MashMap フレームワークを使う・使わない場合で,どれだけ開発工数に差が出るかを確かめる

被験者 システム開発経験はあるが, GoogleMaps API については経験

のない男性 1 名 内容:「旅行振り返りマップ」を二つの方法で開発

<提案手法> <従来手法>LLCDMLLAPI

MashMapRenderer

MashMap API

MashMap  

MashMapBuilder

LLCDMLLAPI

MapsAPIGoogle

MapsAPIGoogle

Page 16: 201211 LOIS koupe

16

実験の結果A+B:開発工数

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

提案法 従来法

実施後アンケート提案手法により開発が楽になりましたか?( 5 段階)5(とても楽になった)

⇒ 大幅な工数削減ができた

評価項目 提案手法 従来手法

A: 学習に要した時間 57分 43秒 92分 57秒

B: 開発に要した時間 26分 53秒 64分 37秒

A+B: 開発工数 84分 37秒 157分 34秒

C:ソースコード行数 8行 139 行

D: 可視化されたデータレコードの正確性 100% 100%

A

A

B B

←←←←

Page 17: 201211 LOIS koupe

17

実験の結果(アンケート結果) 肯定的な意見

GoogleMaps API をほとんど覚えなくてよかったLLAPI からのデータ取得のために RPC の方法を覚えなくてよかった作成した地図をクリックで確認できてよかった更に別のライフログを組み合わせる場合でも,提案法であれば煩わ

しいプログラミングが不要で,楽だと感じた慣れればもっと工数が削減できそうだ

⇒ 学習コスト・コーディング量の削減に貢献できた

否定的な意見MashMap Builder で作成したオブジェクトが ID番号で管理されて

いたため,番号を直接入力しなければならず,混乱がある過去に作ったオブジェクトの手直しができず,作り直さなければな

らなかった

⇒ MashMap Builder の機能改善により対応可能

Page 18: 201211 LOIS koupe

18

まとめと今後の課題 まとめ

MashMap Builder を実装したMashMap API を介して画面上の簡単な操作で提案フレームワーク上

のオブジェクトを一覧・作成できる開発者向け GUI フロントエンド提案フレームワークの評価を行った

「旅行振り返りマップ」開発実験⇒大幅な開発工数削減を実現した

今後の課題MashMap Builder の操作性向上

ID入力をクリックで行う既に作成したオブジェクトの編集機能

フレームワークのもつ機能の強化位置付きライフログと位置情報を含まないライフログとのマッシュ

アップと可視化を実現する機能地域による絞込みや,データの集計・分析を支援する機能