[Glue!] Message routing system


Glue Logic を用いることによって、エージェントを名前で仮想化することもできる。 Glue Logic 内にひとつのエージェントを代表する名前を決め、 これをアンカーと呼ぶことにする。

あるエージェントへ他のエージェントから作業の依頼などのメッセージを送る場合を考える。 発信側のエージェントは受信側のアンカーになっている名前に、 その値として依頼メッセージを書き込む。 受信側エージェントは自分のアンカーとする名前に対して変更通知依頼を登録しておけば、 この名前にメッセージに書かれたことを変更通知メッセージで通報される。 この後、受信側エージェントは自分でアンカーの中身を読み出し、要求された作業を行なう。

このような通信を行なうと発信側エージェントは、 受信側エージェントがどの CPU で稼働している何という名前のアプリケーションかといった事について、一切知る必要がない。 すなわち、アンカーとなっている名前を私書箱のように使って、 他のエージェントと素性を知らずにやりとりを行なう事ができる。 なお、 Glue Logic では、 二つのエージェントの間での依頼メッセージと応答メッセージのやりとりを "Handshake Protocol" として paradigm に規定し、 その利用を強く推奨する。

 [M.T. HomePage]  [written & copyrighted by Masayuki Takata]