WISS2006

LISP を用いたユビキタスプラットフォームの設計と実装
Design and Implement of the LISP Programming Ubiquitous Platform.

藤田 直生∗

塚本 昌彦†

概要. 本研究では，ユビキタス環境向けに設計した LISP でプログラム可能な小型コンピュータの提案を行う．近年，ユビキタス環境が身近になってきており，ユビキタス環境で使用する組込み型コンピュータが注目されている．提案する LISP コンピュータは，組込みを意識した小型性や小電力性を考慮しており，さまざまな機器に埋め込むことを考慮している．また，通信機能を備えており，埋め込まれたすべての機器が連携して動作することが可能となる．LISP は記号処理が多言語であることから，人が用いる「言葉」を記号として表象し取り扱うことで，人とコンピュータが近づくユビキタス環境においてプログラムを直感的に書くことができるようになる．そして，インタプリタである LISP プログラムにより，ユビキタス環境で求められる多様な環境へ対応し，他の機器との連携を容易に行うことが可能となる．これにより，今後ユビ
キタス環境において，LISP 処理を行うユビキタスチップが，ユビキタスネットワークなどのユビキタス環境において中心的な役目を果たすコンピュータになると考えられる．

1

はじめに近年，いたる所に存在するコンピュータが，日常生活をサポートするユビキタスコンピューティングに対する注目が高まっている．ユビキタスコンピュー
ティングでは，環境情報を収集，処理，情報蓄積や実世界への働きかけを行い，人と共生していくことが求められている．人と共生していくユビキタスコ
ンピュータでは，いたる所に埋め込むため，機器に容易に埋め込むことができる小型のコンピュータが開発されている．
現在のユビキタスコンピューティングやセンサネッ
トワーク向け機器では，センサ情報などから得られるデータと実世界の関連づけを，開発者がプログラムの中で記述している．機器にプログラムを埋め込む時点では多くの機器がコンパイル・アセンブリ型の言語を利用するため，この関連づけ情報が消えており，運用中に利用することが難しい問題がある．
また，周辺環境が事前にプログラムを組み込まれている以上に変化した場合は，1 度取り出しプログラムを書き換えなければならないという問題がある．
これらの問題を解決するために，実世界情報を 1つのデータとして取り扱うのではなく，情報として何のデータであるか，どのような情報の集合体であるかを表せる必要があり，機器に埋め込み後も利用できる必要がある．このようにデータにメタ情報を付加し，プログラム中において取り扱える言語として，LISP がある．LISP は，実世界の多様な対象を記号で表象し，雑多な対象からなるデータ集合をリスト形式であらわし，S 式で扱うことができる言語
Copyright is held by the author(s).
Naotaka Fujita, 大阪大学大学院 経済学研究科†
Masahiko Tsukamoto, 神戸大学 工学部∗である．実世界情報を記号で表象し取り扱うことにより，ユビキタスコンピューティングにおける，複雑な実世界情報をより容易に取り扱えるのではないかと考えられる．また，インタプリタで LISP 動作させることにより，環境の変化にも柔軟に対応でき，ユビキタスコンピューティングに適しているのではないかと考えられる．
本研究では，人と共生していくユビキタスコンピューティングにおいて必要と考えられる実世界情報を容易に取り扱える LISP をもちいた，ユビキタスコンピューティング向けプラットフォームの開発を行う．

2

ユビキタス LISP チップに求められる要件

これまでにセンサネットワーク用プラットフォームとして提案されてきたクロスボウ社の MOTE[1] や，MIT により開発された PUSHPIN[2]，Smart-Its 等が開発されてきている．また，ユビキタスコンピュー
ティング向けプラットフォームとして，大阪大学により開発され，ECA ルールで動作する AhroD[3] がある．
本研究において提案する新しいプラットフォーム
である Ubiquitous LIsP chip (以下 ULIP) では，従来のプラットフォームで求められていた小型性，小電力性，通信機能に加え，人と共生していくユビ
キタスコンピューティングに必要とされるプログラムの容易性などを備えた LISP 処理エンジンを搭載しており，インタプリタでの動作を行う．
ユビキタスコンピュータとしてユビキタス環境において，どのようにして最適なプログラミングが行える環境を作り出すかは重要である．そのため，ユビキタス環境において適したプログラミング環境をWISS 2006
Lisp Engine
8bit CPU

Serial bus

I/O Management
Chip

Communication
Unit(Wired/Radio)

図 1. ULIP システム構成図実現するため，ユビキタス LISP チップに求められる要件を検討する．

2.1 ユビキタス環境と LISP
LISP は，処理を行う上で情報をすべて記号化して扱うことができる特徴を持っており，ユビキタスコンピューティングにおいて外部環境情報を記号化し抽象化された情報を処理することにより，数値をメタ情報とともに処理を行うことができ実世界との融合をすることが容易となる特徴がある．

3

ユビキタス LISP チップ

本研究では，前述の問題を解決するために図 1 に示すような 8 ビットの CPU3 個をもちいた構成のアプローチをとる．低速，低性能な CPU で並列処理することにより，LISP プログラムの処理を低コストで行うことをねらいとする．各部は独自の CPUを持ち，LISP を処理する演算部，実世界とつながるインタフェース部，通信部と分離している．それぞれを分離することにより，各部において最適化を行うことが可能となる．例えばインタフェース部分を特定のセンサ用に置き換えることによりさらなる省電力化をはかることが可能となる．また，通信部分も分離されているため，有線通信以外に，ZigBee等の無線通信などを搭載することも可能となり，環境に合わせた通信環境での使用を行うことができる．
このように，機能的に分離を行うことで様々な環境に適したユビキタスチップを実現可能となる．
インタフェースとしてアナログ入力とデジタル出力，通信部分には有線通信，無線通信を利用できるようにすることでさまざまなアプリケーションに対応できるものと考えられる．

4実装

LISP エンジン部，インタフェース部において 8 ビ
ットマイコンには，Atmel 社製 AVR マイクロコン
トローラ ATMega168 を採用した．無線通信部には2.4GHz 帯での通信を行う Nordic 社製 nRF24E1を採用した．無線通信は 2.4GHz 帯域での通信を行い， Nordic 独自の通信技術である Shock Burst での通信を行う．1 対 N の通信を行うことができ複数の機器と通信を行える機能を持ち合わせている．供図 2. ULIP 無線通信版基板

給電源として 3V 程度の電源を確保することが可能である，リチウムボタン電池 3V CR2032 を用いた．
図 2 に示す一辺約 3cm の基板上に実装を行った．

5

まとめと課題本研究では，ハードウェア LISP エンジン部，インタフェース部，通信部と 3 部に分けることにより低コストで LISP プログラムの処理が行えシステムの開発を行った．これにより将来的に必要な機能が追加する必要がある場合においても各部位を高機能化することにより対応することが可能となる．今回開発を行ったユビキタスチップ ULIP は従来のユビキタスチップ及びセンサネットワークノードとして様々な応用が可能であると考えられる．
また，LISP を採用することにより，実世界の情報を記号と組み合わせてリストとして処理を行うことが可能な環境が構築された．これにより，ユビキタス社会において実世界の情報をさらに利用しやすく，ユビキタスネットワークやセンサネットワークの中核となりえるシステムの開発を行った．
謝辞 末筆ながら，本研究を進める上で貴重なご意見を頂いた大阪大学経済学研究科小郷直言助教授に感謝する．なお本研究の一部は，文部科学省特定領域研究「情報爆発のための装着型入出力デバイスを用いた情報操作方式」（課題番号：18049058）によるものである．ここに記して謝意を表す．

参考文献[1] J. M. Kahn, R. H. Katz, and K. S. J. Pister.
Next Century Challenges: Mobile Networking for”Smart Dust”. International Conference on Mobile Computing and Networking (MOBICOM),
pp. 271–278, 1999.
[2] J. Lifton, M. Broxton, and J. A. Paradiso.
Distributed Sensor Networks as Sensate Skin.
In IEEE 2003 Sensors Conference,Toronto CA,2003.
[3] T. Terada, M. Tsukamoto, T. Yoshihisa,Y. Kishino, S. Nishio, K. Hayakawa, andA. Kashitani. A Rule-based I/O Control Device
for Ubiquitous Computing. 15th International
Comference on Ubiquitous Computing (UbiComp2003) Poster Session, pp. 213–214, 2003.