![]()
|
|
A Representation Language Extension for Agent Communication |
![]()
|
Plural Noos
is an extension of the
knowledge representation language
Noos for intelligent agent communication. The research reported here has been
developed at the IIIA.
Plural provides a seamless extension of Noos that supports a distributed scoping and reference for all the basic constructs in Noos. An agent in Plural is a particular knowledge system developed in Noos that has a network address. The acquaintances of an agent are those agents with known address---as in the actors model. Three main capabilities of Plural Noos are: Using Plural Noos, arbitrary Noos descriptions (of entities and methods) can be transmitted over the network from one agent to another. In particular, cases and CBR methods can be transmitted from a CBR agent to another.For a concrete application of Plural see our page on Cooperative Case-based Reasoning. |
Figure 1. The fearure term of an experment in the protein
purification domain (see CoopCBR).
Alien references avoid the problem of maintaining state when objects with state are copied over the network. State is local to agents, and when a description is referenced by another agent, an alien reference is transmitted* regarding the fact that alien references are local to a site (here, an agent).
In essence, if we view a Noos description as a labeled graph, transmission of a description starts at the graph root and ``copies'' the graph in the destination in the following way: if a graph node is constant (like a number or a string) a fresh copy is produced, otherwise an alien reference to that node is created. Since Noos performs lazy evaluation, not all the nodes in a graph are transmitted when the root is referenced, but only those needed by alien references. Path equality (sharing) and circularities in the graph are preserved.
[*] Our approach is similar to that of the distributed
object-oriented language
Obliq
A major difference is
that Plural transmit terms over the net while
Obliq
transmit closures.
(jump (define (mobile-method-k)
(description (>> description of problem-13)))
(requirements (>> of mm-requirements at agent-j)))
to agent-j)
When a method jumps to a remote agent, the whole task/method decomposition
of the mobile method is ``copied'' in the following sense: the name of the
built-in of which the method is a refinement is transmitted, as well as its
subtasks. Recursively, the methods defined in the originating agent for
those subtasks are also ``copied''. The references of the mobile method in
the originating agent are transformed to alien references in the way we
explained before. In the example shown, reference
[Cooperative CBR] [Agents Page] [Feature Terms] [Federated Learning] [Noos] [Team Members]
http://www.iiia.csic.es/Projects/FedLearn/plural.html