Glossary of terms
E
events slot is a mechanism used by bond to
deliver messages. TODO more ... IMPORTANT !!!
G
migration is a mechanism used by bond to
move an object from one resident to another.
K
KQMLKnowledge query manipulation language. A well established, preferred acommunication language for agent systems. Bond uses KQML by default to format all the messages.
Typically, the parameters of a KQML performative (especially :content
parameter) are statements written in a specialized language, specified by the :language
parameter
TODO MORE
L
bondLoader is a component of the system that allows you to specifiy the name of the classes you want to be loaded. This way the code will have an additional degree of freedom, being able to run methods on objects not specified or available at compiling time.
EXAMPLE
M
Messaging Subprotocol is a module that is
able to understand and react to messages sent by a party that speaks the same
subprotocol. The subprotocol layer is implemented above the communication layer
and provides semantic information (meaning) to the objects involved in the
communication. Examples TODO ...
Model of the world Is an object that contains data used by
the agent
P
probe it is an object that "speaks" a certain messaging protocol.
property - a new object, dynamically added to the object (after the creation). It makes it easy to extend functionality of the object, by enhancing its capabilities with new fields and methods. This is done by creating for each bondObject a hashtable, called values, and by using set and get methods on this hashtable, to add/retrieve the dynamic component objects.
performative - is a component of a message that gives a broad meaning of the message. Example: ask-one
(request that needs answer), tell
(response to a question) .
Performative is the name given to the KQML messages. There are several classes of performatives:
- informative ones: tell, deny
- database type: insert, delete
- basic queries: evaluate, reply,ask-if, ask-one,ask-all,sorry
- effector performatives: achieve, unachieve
- notification ones: subscribe, discard
- networking performatives: register, unregister, forward, broadcast, pipe
- facilitator types: broker-one, broker-all, reccomend-one,recommend-all,recruit-one,recruit-all
See all the KQML performatives here
TODO : why are they needed. Where did they come from
R
resident - the bondObject that contains all other objects,
and registered in teh directory with the alias "Resident"
S
shadow - the abstraction of some remote object. It is used for sending messages to the remote object, by calling the say(bondMessage m, bondObject sender) method. It acts similarly to the stub defined in RMI and CORBA. Shodowns are not registered in the local directory TODO: WHY ???
X
XMLExtensible Markup Language - is ageneral purpose scripting language. An XML text is
composed of a block describing the valid rule, by a Document Type
Definition (DTD) and a series of potentially embedded
elements. Elements are defined by a starting and an ending tag. In
the starting tag, a number of parameters can be specified, in the
name = value format. This feature allows sets of name-value
pairs to be easily translated into XML format.
Example of an XML message:
<?xml encoding="US-ASCII"?>
<!-- Document type definition for Bond messages -->
<!ELEMENT message>
<!ATTLIST message
performative CDATA #REQUIRED
content CDATA #REQUIRED
sender CDATA #REQUIRED
destination CDATA #REQUIRED
subprotocol CDATA #REQUIRED
reply-with CDATA
in-reply-to CDATA
>