研究概要 |
単一のプログラムとして記述された集中制御型ソフトウェアを,自動的に分割し,複数の端末で動作する分散協調型ソフトウェアに変換する,自動分散化手法を確立し,その動作検証を行った.本手法は特に,リソースが制限された低レベルデバイスを対象としている.本手法では,入力された機能配置情報を元に,入力プログラムの各命令文(ステートメント)を実行に適した端末に分配し,端末間のメッセージ通信処理を生成することにより行う.この際に,プログラムの処理やデータの流れを解析することにより送信すべきメッセージの内容を抽出する.この自動分散化手法を,TinyOSを搭載したセンサ端末(センサ,無線通信機能,マイコン等を内蔵した小型端末)向けのプログラミング言語であるnesC言語に対して実装した.また実装したプロトタイプシステムを,複数のTinyOSエミュレータノード上で実行し,その動作検証と評価を行った. また,Java言語でソフトウェアを開発できるセンサノードであるSentillaノード(加速度センサを搭載)や,近年急速に普及しつつあるiPhone, Android端末(加速度センサ,地磁気センサ,マイクなどを搭載)など,TinyOS以外のプラットフォームに対するソアトウェア開発の容易化についても検討を行った.これらの様々なプラットフォーム間の差異を吸収し,クロスプラットフォーム開発を行うための手段として,(1)Webブラウザ上で動作するWebアプリケーションとして実装する方法,および(2)APIの差異を吸収したラッパーライブラリを開発し,異なるプログラミング言語間のトランスレータを用いる方法を検討した.これらについて,プロトタイプシステムの実装,プラットフォーム間の差異の調査,関連技術の調査などを行った.
|