1 This work was supported in part by the DoD, the Air Force Office of Scientific Research under contract F49620-92-J-0174, and by the Advanced Research Projects Agency monitored under USAF contracts F30602-93-C-0177 and F30602-93-C-0028 by Rome Laboratory.

2 For additional information, contact: Tim Finin, Computer Science and Electrical Engineering, University of Maryland Baltimore County, 5401 Wilkens Ave., Baltimore MD 21228. finin@umbc.edu.

3 This work was done while the author was at UMBC.

4 How does it find it? Well, our current implementation assumes an environment variable which points to it. An alternative convention are possible, such ...

5 An alternate is possible, such as one based on URLs. For example, we might choose to represent an agent using "agent://<domain>.<domain>...<domain>/<local name>" as in the example "agent://umbc.edu.kqml/colossus".

6 In the 1980's it was very common to see complicated email addresses that might involve several intervening gateways, such as foo@quux%bar@umbc.edu. For the most part, the necessity for these has gone away.

7 i.e., its local name followed by a dot followed by the fully qualified name of its agent name server.

8 How does an agent know the address of its agent name server? Since the process has to ground out somewhere, we assume that an agent knows at least the address of its agent name server upon creation or can access it via some standard environment variable, as is done in the KATS framework.

9 Of course, some agents, such as agent name servers, will know transport addresses and some agent components (such as a router sub-agent) will have to know and use transport addresses. Moreover, we would expect a such sub-agents to remember the transport address for a given agent name and to use it for an extended session.

10 This will allow the agents to recognize, for example, that messages delivered to P's address but addressed to A were not sent, delivered or addressed in error.

11 A careful specification of the requirements for an agent name server would include the performatives register, unregister, ask-one, ask-all, stream, subscribe and deny.

12 This ontology is only now being articulated by defining it using the Ontolingua language.