Inter-agent Communication
One of the obstacles in designing agents is to find a common language for them to use to communicate with each other and other people’s agents. Right now each designer writes a communications system for her own agents, so they can only talk to each other, much like people who speak only one language can only speak with others who speak the same language. Several ideas have been put forth and these are the most promising.
KQML (Knowledge Query Markup Language) messages carry information about the type information they are transmitting; assertion, request, query. Performatives are the primitives which define permissible operations agents may do in effort to communicate with each other.
It uses special agents called facilitators that handle many tasks: Track locations of agents by specific identity or type of service; Track services available and needed by agents; Act like post offices, holding, forwarding, receiving messages for agents; Translate between agent communication languages; Break complex problems in to parts and distribute tasks to agents that can handle them; Monitor the agents.
KQML uses categories or levels for agent communication content the content of the message, text, binary strings etc. communication sender, recipient, message ids. message identifies protocols for message transfer, handles encoding, and de scriptions of content
Requirements of KQML
form simple, declarative, and easily understood by humans
semantics Should be familiar, unambiguous, well grounded in theory
implementation Needs to be efficient and backward compatible
networking Platform independent across networks and support synchronous and asynchronous.
environment will be distributed, dynamic and non-heterogeneous.
reliability must be reliable and secure
content the language should be layered, like all networked software.
There are still some difficulties with KQML. There are ambiguities and vagueness and misdirections, misclassifications and some things that are needed but not yet in existence, in statements known as performatives (statements that work just by declaration).
KSE (Knowledge Sharing Effort) is sponsored by the Advanced Research Projects Agency. It is a project to put together a uniform method for agents to communicate with each other. KQML is one of the projects being developed. The two main subproblems are: translating from one representation language to another; content sharing among applications. Communication protocols must develop: an interaction protocol; a communication language; and a transport protocol (SMTP, HTTP, …).
ACL (Agent Communication Language) has three pieces; vocabularies, KIF, and KQML. The vocabulary uses an open ended dictionary of terms that can be referenced by agents.
KIF (Knowledge Interchange Format) is particular syntax format, similar to Lisp, for first predicate calculus communication between agents. KIF can perform translation from one language format to another. It can also be used to communicate between agents. KIF is a first order predicate calculus using prefix format. It supports the definition of objects, functions, relations, rules and meta knowledge. It is not a programming language. KIF has three main parts; variables, operators, and constants. KIF has two types of variables; individual (begin with ?) and sequences (begin with @). It has four operators; term (objects), rule (legal logical inference steps), sentence (facts), definition (constants). A form is a sentence, rule or definition.
Telescript is an object orientated remote programming language for use with mobile agents developed by General Magic. It has three main parts: a language for developing agents and environments; an interpreter for the Telescript language; and communication protocols (TCP/IP). The entire application can be written in Telescript but usually a combination of Telescript and C/C++ is used.
KAoS (Knowledgeable Agent-orientated System) differs from the other inter agent communication methods in that it considers not only the message but the sequence of messages in which it occurs. This enables agents to coordinate frequently recurring interactions. KAoS makes use of ‘agent orientated programming’ which is an extension of object orientated programming. This provides a consistent structure for the agents and an easier way to do agent programming. The agents contain: Knowledge (facts, beliefs); Desires; Intentions; and Capabilities. From birth the agent goes into a loop of ‘updating the structure’ and ‘formulating and acting on intentions’, unless it is in a cryogenic state, until its death.
Communication takes place with messages containing verbs, and informa tion. The messages are structured much like the KQML messages. Communication between agents takes place only within the domain the agents are in. Proxy agents communicate between domains in a given environment. Mediation agents communicate with outside agents.
Instances of agents of particular classes are created to work in various do mains. Using inheritance specialized agents are created. Domain managers control entry and exit of agents in a domain, and matchmaker agents give ac cess and information about services in the domain they are in.
More information:
Robots evolve and learn how to lie
See also:
Ant Algorithms
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
You must log in to post a comment.