The matchmaker expects a KQML message of the 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:
To construct an advertisement, see Advertising with
the Matchmaker.
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.
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>)
Retrieving Agent Names and Advertisements
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
(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)
Copyright 1999 © Software Agents Group
Send questions and comments to:
Pleiades
<pleiades@cs.cmu.edu>
Software Agents Group
Internal Site
Robotics Institute