Glue Logic は、 並列に動作する各種の機器制御プロセス間を取り持ち、 それらが互いに協調して動作できる「場」を提供する事を目的としている。
また、作成したソフトウェアのモジュール性を高め、 あるモジュールの変更が他のモジュールに可能な限り影響を与えない様にする事によって、 ソフトウェアの life cycle を延長し、その開発コストを低減すると同時に、 生産システムの運用中にその制御ソフトウェアの改良を行なえるようにする事によって、 制御している生産システムで製造しようとする製品の仕様変更や 新製品の追加などに動的に追随できるようにする事をもねらっている。
なお、 Glue Logic では計算機上で機器制御のために稼働するプロセスの事を 「分散エージェント」あるいは単に「エージェント」と呼び、 製造工程等を表現する「プロセス」と混乱しない様にしている。
データベース内の情報は全て名前を付けられており、 エージェントはこの名前を使って情報を指し示す。 名前はその指定の仕方によって構造を表現する事もでき、 互いに関連のある情報を組織的に表現する事ができる。
また、エージェント同士のやりとりは、 全てプログラミング言語とは独立した Glue Logic を介して行なわれるので、 複数のプログラミング言語で記述されたエージェントを混在させる事ができる。
Glue Logic では、 あるエージェントが主たるメッセージの受け口として subscribe している名前の事を "anchor name" あるいは「アンカー名」または単に「アンカー」と呼んでいる。
サーバ・エージェントは、 同じアンカー名に書き込まれたメッセージに反応する事ができる限り、 ネットワーク内のどの計算機上で稼働していてもかまわないし、 さらにはエージェントがネットワーク内で移動する事すら可能である。 また、一つのアンカー名に書き込まれたメッセージに対して 複数のサーバ・エージェントがサービスする事も可能であり、 この場合には機能の追加を既存のエージェントの変更によってではなく、 同じアンカー名を持つエージェントの追加によって実現する事になる。
すなわち、 Glue Logic においては、 アンカー名によってサーバ・エージェントそのものを仮想化しているのである。