【2002年度 森泰吉郎記念研究振興基金 研究助成金報告書】
 
 

視覚的な分散アプリケーション構築ツールの開発研究

 
 
政策・メディア研究科・ 博士課程 1 年
 
 
岩井将行
 
 
 
共同研究者  
 
  • 岩井 将行  [政策・メディア研究科・博士課程1 ソフトウエア設計,開発,評価]
  • 中澤 仁    [政策・メディア研究科・博士課程3 開発アドバイザ]
  • 徳田 英幸  [環境情報学部 教授 研究指導]
 
     
研究概要  
  近年,ネットワークインタフェースを持つ情報家電機器やサンサの小型化により,数多くのセンサや情報家電機器を室内の壁や家具に埋め込んだユビキタス環境が実現可能になってきている.しかし,家電メーカ等が,このようなユビキタス環境をターゲットとする製品を製造する時に,他の目的や仕様の製品との連携を想定することは,開発コストを押し上げてしまい非常に重荷になる.また,利用者は,このようなユビキタス空間において,ますます個々のソフトウエアの管理が煩雑になり,利用者自身がユビキタス環境全体を把握しておくことが困難になりつつある.我々は,情報家電機器やセンサ間の分散イベントミドルウエアおよび,分散アプリケーションの構築を視覚的に支援するブラウザによって上記の課題を解決する研究を行った.  
     
1.  研究概要
 
 

近年,ネットワークインタフェースを持つ情報家電機器やサンサの小型化により,数多くのセンサや情報家電機器を室内の壁や家具に埋め込んだユビキタス環境が実現可能になってきている.
しかし,家電メーカ等が,このようなユビキタス環境をターゲットとする製品を製造する時に,他の目的や仕様の製品との連携を想定することは,開発コストを押し上げてしまい非常に重荷になる.また,利用者にとってみれば,このようなユビキタス空間において,ますます個々のソフトウエアの管理が煩雑になり,利用者自身がユビキタス空間全体を把握しておくことが困難になりつつある.
 私は,上記の課題を解決できる分散イベントミドルウエアの研究開発および,ユーザによる分散アプリケーションの構築を視覚的に支援するブラウザうBlocksの研究開発を開始した.
本機構は,情報家電開発者提供するミドルウエアとユーザに提供するグラフィカルインタフェースからなる.

uBlocksと関連製品との違いを以下に述べる.Java Beans(Sun Microsystems)やVisual Studio(Microsoft)などのGUIベースのアプリケーション開発ツールとは異なり,uBlocksは,実行中の分散アプリケーションを簡略な操作で,即興的に組み替えることが可能である.また,AV情報家電機器に特化したHAVi Event Service(HAVi group),UPnP(Microsoft)などのミドルウェアがあるが,いずれも複数の情報家電機器(サービス)間での協調について考慮されていない.このため,一つのサービスに関する構成の柔軟性に乏しく,多様な協調作業を実現できない. 我々のuBlocksは,複数の仲介者がイベントを中継し,目的の異なったソフトウェア同士を接続するための適応性を持った分散アプリケーションを構築できる.さらにuBlocksは,携帯端末やブラウザ,Javaなどの豊富なインタフェースを提供する.

【図 uBlock Browserでの分散アプリケーション操作をおこなってる場面】

研究開発A:分散イベントミドルウエア開発[4月〜11月期]
家庭内の情報家電機器は,研究所やオフィスの計算機環境とは異なり,頻繁に電源が切断されたり新たな機器が頻繁に追加される.その様な環境でも効率的に障害と発見を検知する分散プラグランドプレイをもつ分散的なミドルウエアを提供する.さらにメーカや利用目的が多種多様なセンサや情報家電機器が偏在する次世代のホームネットワークにおいて機器間の協調が課題となる.機器間のメッセージの差異を吸収する適応的なイベント伝達手法を開発した.

研究開発B: アプリケーション構築ブラウザ開発[10月〜3月期]
次世代のホームネットワークにおいても高度の知識有するプログラマは想定できない.そのため一般的なユーザ臨機応変に設定でき,且つユーザによる設定が容易に行えるブラウザが要求される.ユーザが直感的に,かつ,容易に思い描く機器のコラボレーションを実現するブラウザインタフェースを提供した.

以上のA,Bの2点を開発するなかで,論文を複数執筆した.

 


 
     
2.  研究開発A  
 

分散ミドルウエアDragonの開発

分散されるサービス間の制御情報(イベント)は, Dragonを通しJavaオブジェクトのイベント配送によって協調動作を行う.多様なサービスが偏在するユビキタス空間では,単純に制御情報は,一方通行ではなく,配送形態も多様である.分散イベント配送ミドルウェアDragonは,push型配送,実時間性がありかつ信頼性のあるput型配送,pull型配送,callback型配送,callbackpull型配送などのサービス間通信手法を実現した.


●[push(A,B,evt)] AからBに通知を非同期で通知を行う(drg.core.service.exports.EventOutPutModule)
●[pushR(A,B,evt)] AからBに信頼性をもって非同期で通知を行う(drg.core.service.exports.EventOutPutModule)
●[pull(A,B)] BからAに対してイベントを同期的に要求する(package drg.event.datatype.newtype.DropetEvent)
●[callBack(A,B)] AがBに対して自らの参照を送付,BがAに対してイベントを送付する(drg.event.rmitype.DAsyncBack)
●[callBackPull(A,B)] AがBに対して自らの参照を送付,BがAに対してイベントを要求する(drg.event.rmitype.DPullEvts)

これらの配送モデル定義はユーザから隠蔽され, Dragonミドルウェア内部ですべて吸収される.Dragonで定義するAPIにより開発者は,ユビキタスサービスを低コストで実装できた.

Event supplier、Event Cunsumer、Event Mediatorの構成を以下に示す。
各サービスコンポーネントは,Eventを生産するもの, Eventを消費するもの,Eventを変換するものの3つに分類される.
これらのコンポーネントが協調して接続される.


 
     
3.  研究開発B  
 

マルチモーダルユーザインタフェースの開発

マルチモーダルインタフェースは、いつでも,どこでも分散ミドルウエアを操作可能にする.特に携帯端末向けインタフェースは,Javaの実行環境がない環境においても操作環境を提供できる.
マルチモーダルインタフェース機能を実現するために我々は,HTTPと連動させる形でuBlock-Browserを開発した.図に示すように,uBlock-Browserは, HTTPなどによって遠隔から接続されることを要求するインタフェースに現時点での操作可能なサービス群をユビキタス環境から集め表示する.この際,UI-Baseは,分散サービス間の接続を行列式モデルによって保持する.ユーザからの分散アプリケーションを設定を受けつけると,UI-Baseは,各サービスを接続させる命令を発行する.接続命令には,分散ミドルウェアDragonのAPIを利用する.

●i-mode user inteface
携帯電話により,uBlockサーバに接続を行い,接続元サービス一覧を表示させる.その中から,接続したいサービスを選択すると,そのサービスから接続可能なサービスの一覧が表示される.一覧には,現在接続されているか切断されているかも表示されている.あるサービスについて切断を選択すると,そのサービスとの接続が切断される.
これらの操作は,図\ref{fig:ubb-imode2}に示すように,Java/SwingのuBlock-Browserと連携できる.
i-modeやEZWEBなどのWEB-BASEDの携帯電話などから操作可能になった.
外出先などから入出後の処理などを記述できる,


【図imodeと通常Swingの強調動作】

imodeによって分散コンポーネント間を接続する場合は以下の画面遷移で動作を行う。


【図imodeにより画面遷移の様子】

 

●Java2D Browser

マウスによる操作でアイコン間を接続するブラウザである.
効率よく、詳細な分散サービスが構築できる.

 

各マルチモーダリティは図に示すようにLUSの集中管理にとってモデル化を行っている。
サービス間の接続は行列にとって保持される。

 
     
4.  アプリケーション  
 

本ソフトウェアの普及という点から,高価なハードウェアをなるべく必要としないアプリケーションを提案,実装した.「リモコン一括機器制御システム」のそれぞれのアプリケーションはuBlocks配布のパッケージに含まれており,ユーザが選択して利用できる.以下にアプリケーションの詳細を述べる.

【一括家電制御アプリケーション】

家電などを一括して携帯電話などから操作させたい場合複雑な操作は面倒である.
一括で家電などを制御できるアプリケーションを開発した.

 

●【必要機材】
PC1台以上,制御要リモコン1個以上(ハルコーポレーション製を推奨)

●【目的と概要】
家庭内のリビング等にはリモコンで操作できる家電機器が数多くある.しかし,数多くのリモコンをそれぞれ使いこなさなければならないことはユーザにとって大きな負担である.
本アプリケーションでは,まとまった処理を「モード」として表現し,それを選択するだけで家電の一括制御を行う.これにより,複数のリモコンを使って,複雑な操作をすることがなくなる.
たとえば,「テレビとビデオとアンプの電源を同時に入れる/同時に切る」といった作業や,「エアコンを切って扇風機をつける/扇風機を入れてエアコンを切る」などの一連の動作のリモコン操作を一括で行うようにユーザは設定できる.

●【実行手順】
1. 各PCでuBlockを起動し,さまざまな機器サービスや,モード選択サービスを読み込むと,uBlock-Browser上に各サービスが表示される.
2 . uBlock-Browser上で,モード選択サービスから各機器サービスに接続を行うことで,一括制御設定を行う.
3. モード選択を行うことで,一括して機器制御を行うことができる.

 

 

 

 
     
5.  開発成果  
 

本プロジェクトは以下のスケジュールでおこなった.今後も成果を公開して更なる研究の発展につなげる.

開発成果の配布方法やライセンスについて述べ,製品化する際の注意事項を示す.
また,本開発成果によって実現される世界や,今後の展望についての述べる.

【配布方法およびライセンス】

uBlocksは,ユーザが無料でダウンロードし使用できる.但し,Jini,JMF, JCAのバイナリは再配布できないのでSun Microsystemsよりダウンロードする.こちらも無料である.

【uBlocksを用いたソフトウェアの開発について】

本ソフトウェアは,オープンソースで,無償に情報家電開発者や研究者に公開する.
ソースコード公開により,バグフィックスができるだけでなく,開発者同士が双発的に意識しあいながらよい製品の開発が行える.そのため,主に開発者が利用できるAPIを提供し,さらに,本ソフトウェアはGNU Public License(以降,GPLライセンス)で配布する.本ソフトウェアのソースコードはWeb(\verb+http://www.uBlocks.org/+)での入手を可能にする.また,開発に関わる第三者の利用者のコミュニティへの参加として開発中のソースコードを管理するサーバへのアクセスも可能にする.

【 製品化する上での注意】

情報家電メーカによる製品化は大いに歓迎する.ただ,Jiniに対応した組み込みハードウェアを生産する場合は,Sun Community Source License (SCSL)によってロイヤリティが発生する場合がある.

 
     
6.  本年度の研究成果  
 

発表論文

1)"複数個インタフェースからの一貫性のある分散アプリケーション構築に関する研究 " 岩井 将行, 中澤仁, 徳田英幸 日本ソフトウェア科学会 ソフトウェアシステム研究会SPAサマーワークショップSPA-SUMMER 2002年8月


2)"uBlocks: Enabling User-side Composition of Distributed Ubiquitous Application "岩井 将行, 中澤 仁, 徳田 英幸 情報処理学会 情報家電コンピューティング研究会(IAC-4) Vol.4 2002年11月 pp.29-36

採択済み未発表論文

3)"分散アプリケーション構築を複数種類インタフェースから実現可能にする研究" 岩井 将行, 中澤仁, 徳田英幸 日本ソフトウェア科学会 ソフトウェアシステム研究会SPAワークショップ 2003年3月

公演

5)視覚的な分散アプリケーション構築ツールuBlockの開発 岩井、由良、望月@未踏14シンポジウム 2002年1月22日 国際フォーラム 東京有楽町

6)A Faint Hope of the Network and Networking Research 岩井 WNET第一回発表会矢上キャンパス2002年12月7日

7)ユビキタス環境における分散ミドルウエアの課題と取り組み 岩井 2003年3月20日予定 産総研@筑波学園都市

デモ
7 )デモ 「人と環境世界の相互協調空間 Post it」 2002年11月SFC-Open Research Forum

 

 
     
7.  現在までの主な研究成果  
  [1]2002年6月 情報処理学会論文誌,特集号 『分散コンポーネントによる即興的アプリケーション構成機構の実現』
[2]2001年9月 Roma, Italy 3rd International Symposium on Distributed Objects and Applications  『Flexible Distributed Event-Driven Programming Framework for Networked Appliances and Sensors 』
[3]2000年12月 Korea, Cheju. IEEE the Seventh International Conference on Real-Time Systems and Applications 『Dragon:Soft Real-Time Event Delivering Architecture for Networked Sensors and Appliances』
[4]2001年11月 石川 情報処理学会,第105回マルチメディア通信と分散処理研究会 『広域および小規模分散コンポーネント間通信機構の評価 』
[5]2000年5月 沖縄, 情報処理学会 システムソフトウェアとオペレーティングシステム研究会, 『情報家電機器間の動的なイベントバインディング機構の構築』
[6]1999年9月 岩手, 情報処理学会 第59回全国大会,『家電ネットワークにおけるサービスの動的提供機構』
(ソフトウエア開発プロジェクト3件)
『Dragon Event Binding Binding Editor Library』, Real-time Audio and Video Intelligent Operation (RAVIO) プロジェクト(2000)., http://www.coe.keio.ac.jp/project/dmbase/
『Event Driven Programming Toolkit for Embedded System』, Real-time Human Device Interactionプロジェクト (2000)., http://www.mkg.sfc.keio.ac.jp/HDI/
『動的適応支援ミドルウェア:Dragon1.0』, .Homeプロジェクト (2000-)., http://www.mkg.sfc.keio.ac.jp/dotthome/
 
     
8. まとめ  
  本研究報告書は,『視覚的な分散アプリケーション構築ツールの開発研究』の報告を述べた.本研究は,情報家電機器やセンサを自由に組み合わせてユーザが分散アプリケーションを視覚的に構築するためのミドルウエア及びGUIを提供する.これにより,プログラムの知識のない一般的なユーザが,ユビキタス環境をより容易にマウス操作で確認しながら構築できる.一般ユーザが利用しやすい基盤技術の提供は,家庭内の情報化にとって重要な研究である.
 本研究は,情報家電の即興的な組み合わせという新たな利用法を提案し,日本が強いとされる情報家電機及び組み込みソフトウエアの新たな発展につながる助走的研究である.