本言語は拡張Prolog言語の形態をとっており、マルチプロセス、マルチスレッドの環境で稼働するマルチエージェントシステムを記述するためのプログラミング言語となっている。想定しているエージェントとはオブジェクト指向におけるオブジェクトと類似しているが、自律機能、判断機能を持ち自身の環境下で活動する高機能オブジェクトととらえている。実行時に動的に複数のエージェントを生成したり、消去することが可能で、生成された複数エージェントはマルチプロセス、マルチスレッド環境のもと並行実行され協調計算を行うこととなる。この他フィールドと呼ばれる機構が導入されている。フィールドはプログラムの形で知識を格納できる静的なオブジェクトでエージェントはフィールドに属することにより、フィールドの持つ知識を利用できる。またエージェントは属しているフィールド内の知識を実行時に更新できる。フィールドは状況を表しているともいえ、エージェントはフィールドに属したり、離脱することにより、多様な状況依存計算の実行が可能となっている。フィールドを用いることにより、複数エージェント間の知識の共有、エージェント間通信、エージェントのグループ化が可能となっている。エージェント群の協調およびフィールド機能を応用してソフトウェアの発展進化の研究を行った。
|