Software agent is an emerging system-building paradigm, it is now
widely used in information retrieval, distributed systems, database
and knowledge base, and many other aspects of AI. Some researchers
believe, like expert systems in the middle of 80's and object oriented
techniques at he beginning in 90's, agent will also become a
revolutionary technology in computer science.
A software agent is a process characterized in the following ways:
The properties of agents make them useful in many diffenrent kinds of
applications, as well as in security area.
As we mentioned above, agents can communicate with each other by their
own language, so they can cooperate to fulfil a common goal. There are
several kinds of common agent communication language, such as: KQML, KIF
(Knowledge Interchange Format), Ontolingua (a language for defining
sharable ontologies), Protolingua (a language for defining protocols
based on communicative primitives). The most common language is KQML.
KQML is a high level language intended for the run time exchange of
information between agents. There are three layers involved in KQML:
the content layer, the message layer and the communication layer.
The content layer contains the actual content of the message. The
communication layer describes the lower level communication parameters,
such as the identity of the sender and the receiver. The message
layer forms
the core of KQML, and determines the kinds of interactions one agent
may have with another.
The syntax of KQML is based on a balanced paranthesis list. The initial
element is called the performative, the remaining elements are the
performatives arguments (as keyword and value pairs). The following is an
example:
tell:
:sender customer
:content (123 456 7890)
:receiver retailer
:in-reply-to credit-card-number
:language LPROLOG
:ontology NYSE-TICKS
In this message, the KQML performative is ``tell''. The content is ``123
456 7890'', this is the content level. The values of the :sender, :receiver,
:in-reply-to keywords form the communication layer. The performative, with
the contents of :language and :ontology form the message layer. From this
example, we can also realize the necessity of a security machanism in
agent communication.