Matchmaker Programmer Guide


Index | Overview | Actions Performed by the Matchmaker
Advertising with the Matchmaker | Javadocs | Bug Report | A-Match Website

Actions Performed by the Matchmaker

The matchmaker expects a KQML message of the form:

Basic KQML Message Form
(tell
   :operation <name of operation>
   :advertisement <advertisement here>)

The set of operations allowed by the Matchmaker is listed below, along with their arguments. The performative "tell" is not significant, and it is ignored by the agent, while the keywords and their arguments are important and the Matchmaker will generate an error message (or, in some extreme cases, crash) if the operations are not specified properly.

The public actions performed by the Matchmaker are organized by action type:

Advertising and Unadvertising | Retrieving Agent Names and Advertisements
Receiving Feedback | Monitoring Advertisements


Advertising and Unadvertising

VARIABLE DESCRIPTION FORM
advertise This operation directs the Matchmaker to add a new agent advertisement to the system. "Advertise" and "register" are interchangeable.
(tell
   :operation advertise 
   :advertisement <advertisement here>)
unadvertise This operation directs the Matchmaker to remove an agent advertisement from the system. Note that "unadvertise" and "unregister" are interchangeable.
(tell
   :operation unadvertise 
   :advertisement <advertisement here>)

To construct an advertisement, see Advertising with the Matchmaker.


Retrieving Agent Names and Advertisements

To retrieve an agent name from the Matchmaker, a service requesting agent sends the Matchmaker a query with the advertisement of the ideal service provider agent. The Matchmaker matches the advertisement of the ideal agent with the advertisements of other agents in the system, and returns information about the matching agents.

The requesting agent can leave some details of the advertisement under-specified. This is useful if an agent wants to increase the chances of a match by avoiding an over-committed request. For instance, if an agent wants to find another agent that reports the weather independent of the input constraints requested by that agent, it should send to the matchmaker a message whose advertisement contains no input and "weather" as output. (To construct an advertisement, see Advertising with the Matchmaker.)

If more than one match is possible, then the selection of the best match will be up to the Matchmaker or performed by the agent. To delegate the choice to the Matchmaker, the agent should ask for just one agent (using the operations getAgent or getAgentAdv). To delegate the choice to the agent making the request, the agent should request all matching advertisement (using the operations getAgents or getAgentsAdv), then select from the list returned to the agent by the Matchmaker.

VARIABLE DESCRIPTION FORM
getAgent This operation directs the Matchmaker to return the name of the agent that matches the request. If there are two or more matches, the Matchmaker will select only one. Note that the advertisement may be underspecified.
(tell
   :operation getAgent 
   :advertisement <advertisement here>)
getAgentAdv This operation directs the Matchmaker to return one advertisement that matches the request. If there are two or more matches, the Matchmaker will select only one. Note that the advertisement may be underspecified.
(tell
   :operation getAgentAdv 
   :advertisement <advertisement here>)
getAgents This operation directs the Matchmaker to return a list of all agent names that match the request. Note that the advertisement may be underspecified.
(tell
   :operation getAgents 
   :advertisement <advertisement here>)
getAgentsAdv This operation directs the Matchmaker to return a list of all advertisements that match the request.
(tell
   :operation getAgentsAdv 
   :advertisement <advertisement here>)
sendAdvertisements This operation directs the Matchmaker to send the agent a list of all the advertisements stored in the system.
(tell
   :operation sendAdvertisements)
sendAgentsNames This operation directs the Matchmaker to send the agent a list of all the agent names advertised with the system.
(tell
   :operation sendAgentsNames)
getAdvertisement When used in conjunction with "agentName ," this operation directs the Matchmaker to return a list of all the specified agent's advertisements.
(tell
   :operation getAdvertisement)


Receiving Feedback

VARIABLE DESCRIPTION FORM
sendFeedback This operation directs the Matchmaker to provide the agent with feedback following each action it performs. Output is in the form of "success" or "failure."
(tell
   :operation sendFeedback)
stopSendFeedback This operation directs the Matchmaker to stop sending feedback to the agent. It is used in conjunction with "sendFeedback."
(tell
   :operation stopSendFeedback)


Monitoring Advertisements

VARIABLE DESCRIPTION FORM
monitorAdvertisements This operation directs the Matchmaker to notify the agent whenever a new agent is advertised with the system.
(tell
   :operation monitorAdvertisements)
stopMonitorAdvertisements This operation directs the Matchmaker to stop monitoring the system for new agents. It is used in conjunction with "monitorAdvertisements."
(tell
   :operation stopMonitorAdvertisements)



Return to Previous Page Go to Top of Page Go to Next Page


Copyright 1999 © Software Agents Group
Send questions and comments to:
Pleiades
<pleiades@cs.cmu.edu>
Software Agents Group
Internal Site
Robotics Institute