In this work, we view conversations as the means of representing the conventions adopted by agents when interacting through the exchange of utterances[3, 4] --''utterance suggests human speech or some analog to speech, in which the message between sender and addressee conveys information about the sender''. More precisely, such conventions define the legal sequence of utterances that can be exchanged among the agents engaged in conversation: what can be said, to whom and when. Therefore, conversation protocols are coordination patterns that constrain the sequencing of utterances during a conversation.
Interagents mediate the interaction between an agent and the agent society wherein this is situated. As explained in Section 3, the main task of an interagent is the management of conversation protocols. Here we differentiate two roles for the agents interacting with an interagent: customer, played by the agent exploiting and benefiting from the services offered by the interagent; and owner, played by the agent endowed with the capability of dynamically establishing the policies that determine the interagent's behavior. Needless to say that an agent can possibly play both roles at the same time. Moreover, several owners can even share their property (collective ownership), whereas several customers can make use of the same interagent (collective leasing).
In what follows we provide a detailed account of the full functionality of interagents --mostly from the point of view of customers-- to illustrate how they undertake conversation management. An interagent is responsible for posting utterances of its customer to the corresponding addressee and for collecting the utterances that other agents address to its customer. This utterance management abstracts customers from the details concerning the agent communication language and the network protocol. Each interagent owns a collection of relevant conversation protocols (CP) used for managing its customer conversations. When its customer intends to start a new conversation with another agent the interagent instantiates the corresponding conversation protocol. Once the conversation starts, the interagent becomes responsible for ensuring that the exchange of utterances conforms to the CP specification.
Before setting up any conversation the interagent must perform a CP negotiation process with the interagent of the addressee agent. The goal of CP negotiation is to reach an agreement with respect to the conversation protocol to be used (see 3.6). Moreover, before starting a conversation, the interagent performs a CP verification process. This process checks whether the CP to be used verifies the necessary conditions (liveliness, termination, deadlock and race condition free) for guaranteeing the correct evolution of an interaction. Finally, an interagent allows its customer to hold several conversations at the same time. This capability for multiple conversations is important because, although in the paper we consider only conversations with two participants (dialogues), conversations with any number of participants are built as a collection of simultaneous CP instances. In other words, the agent views a conversation as involving n participants while its interagent views such conversation as a collection of simultaneous dialogues represented as multiple CP instances.
Figure 1: Interagents conform the infrastructure of the agents composing a multi-agent system. This figure shows the Fishmarket, an electronic auction house where interactions among agents (trading agents and market intermediaries) takes place through their corresponding interagents.
Next we introduce an example of multi-agent conversation extracted from FM[6, 7], an agent-mediated electronic market that will serve to illustrate both the use and functionality of interagents. FM is an electronic auction house based on the traditional fish market auctions in which trading (buyer and seller) heterogeneous (human and software) agents can trade. The main activity within FM, the auctioning of goods, is governed by the auctioneer who makes use of the so-called downward bidding protocol (DBP). When the auctioneer opens a new bidding round to auction a good among a group of agents, he starts quoting offers downward from the chosen good's starting price. For each price called, three situations might arise during the open round: i) several buyers submit their bids at the current price. In this case, a collision comes about, the good is not sold to any buyer, and the auctioneer restarts the round at a higher price; ii) only one buyer submits a bid at the current price. The good is sold to this buyer whenever his credit can support his bid. Whenever there is an unsupported bid the round is restarted by the auctioneer at a higher price, the unsuccessful bidder is punished with a fine, and he is expelled out from the auction room unless such fine is paid off; and iii) no buyer submits a bid at the current price. If the reserve price has not been reached yet, the auctioneer quotes a new price which is obtained by decreasing the current price according to the price step. If the reserve price is reached, the auctioneer declares the good withdrawn and closes the round.
The conventions that buyer agents have to comply with when interacting with the auctioneer during a bidding round are represented by means of a conversation protocol managed by the so-called trading interagents. These are owned by the institution, the auction house, but used by trading agents. Section 5 provides a more thorough discussion about the role played by interagents in FM.