%%% %%% %%% www-J.html %%% %%% Copyright (C) 1998 Fumio Mizoguchi %%% %%% %%%
簡易エージェント言語R2は このようなロボット・センサー系(以下,ロボティックエージェント) を制御するための記述言語である. R2は並列論理型言語KL1を親言語としており, KL1処理系KLICを利用して実現されている. 論理プログラミングの宣言性の性質を引き継ぐことで, R2は実行可能な仕様言語になっている.
エージェント記述形式D2はロボティックエージェントの協調作業を, ある一定のパターンで記述するための形式をいう. これは協調型プログラムの設計指針を与える.
エージェント言語R2はKL1のシンタックスを拡張した. 具体的には,エージェント間通信をストリームで行なう際の通信チャネルを 省略することが可能になっている. これにより,エージェントの振舞いを簡潔に記述することができる. さらに,記述形式D2に従うことにより, 複合的なロボティックエージェント (複数のロボティックエージェントからなるもの)も容易に構成できる. KL1のもとでR2とD2を利用することによって, ロボット協調作業のどの部分を並列化し, 同期・非同期 (例えば,マニピュレータ間の受渡し作業時の同期・非同期など) をどう実現するかということを意識することなく, 制御プログラムを記述できることになる. なお,R2で記述されたプログラムはKL1プログラムに完全に変換することができる.
SOURCE KL1ソースプログラム +------ compile.kl1 R2-D2コンパイラ +------ util.kl1 ユーティリティ +------ machine.kl1 マシン名登録プログラム +------ library シミュレータ用ライブラリ Simulator 移動ロボット用シミュレータプログラム +------ JavaApplet シミュレータシステム +------ Server 制御用サーバシステム Sample サンプルプログラム +------ Arm 腕型ロボット用サンプルプログラム +---- ArmSimulator 腕型ロボット用シミュレータ +------ Mobile 移動ロボット用サンプルプログラム Doc ユーザマニュアル