Second Edition
Barcelona 1998
Market Interagent

This page will be permanently under construction... Sorry about that mates
Market Interagent Protocol
If we intend to make our buyer agents participate in this tournament, we also need to know the communication protocol between our buyer agents and the market interagents provided by the institution, the FishMarket. The tables below specify the syntax of the messages that your buyer agents and the market interagents can interchange.
Messages that buyers are allowed to send
|
Message number |
Predicate |
Parameters |
|
1 |
admission |
login password |
|
2 |
bid |
|
|
3 |
exit |
Messages that buyers can receive through their interagents
|
Message number |
Predicate |
Parameters |
|
4 |
deny |
deny_code |
|
5 |
accept |
|
|
6 |
open_auction |
auction_number |
|
7 |
open_round |
round_number |
|
8 |
good |
good_id good_type starting_price resale_price |
|
9 |
buyers |
{buyerlogin}* |
|
10 |
goods |
{good_id good_type starting_price resale_price}* |
|
11 |
offer |
good_id price |
|
12 |
sold |
good_id buyerlogin price |
|
13 |
sanction |
buyerlogin fine |
|
14 |
expulsion |
buyerlogin |
|
15 |
collision |
price |
|
16 |
withdrawn |
good_id price |
|
17 |
end_round |
round_number |
|
18 |
end_auction |
auction_number |
|
19 |
closed_market |
NOTE: It is important to say that the message numbers along the first columns do not actually belong to the messages' syntax.
Messages will be built as strings according to the following syntax:
predicate {blank space} parameters \n
Notice that messages will be ending with CR LF. Nevertheless, you won't have to get into message handling since our templates will make that work for you. Next, we provide some examples of messages in the table below:
|
Message |
Semantics |
| admission akira d3456784g | Buyer akira requests admission in the market by submitting as password d3456784g. |
| deny 1 | Error: message not accepted by the interagent. Error code = 1. |
| open_auction 2 | Auction number 2 has been opened. |
| open_round 3 | Round number 3 has been opened. |
| good g1 cod 1500 1700 | The next good to be auctioned is good g1 of type cod, and its starting price will be 1500 ptas. whereas the resale price will be 1700 ptas. |
| buyers warakaman akira fishbroker tindalos ... | The buyers taking part in the next bidding round will be: warakaman, akira, fishbroker,... |
| goods g1 cod 1500 1700 g2 haddock 2000 2800 g3 cod 1200 1600 | Lot of goods to be auctioned. |
| offer g1 1500 | Good g1 is offered at price 1500. |
| sold g1 akira 1300 | Good g1 has been sold to akira at price 1300. |
| sanction tindalos 400 | Buyer tindalos has been sanctioned with 400 ptas. |
| collision 1200 | Collision at 1200 ptas. Several buyers sumitted their bids at 1200 ptas. |
| withdrawn g2 800 | Good g2 has been declared out of market by the auctioneer when the offer price reached 800 ptas. |
| end_round 3 | Round number 3 has been closed. |
| end_auction 2 | Auction number 2 has been closed. |
The tables above provide the set of legal messages. However, they do not tell us how these messages integrate into a structured conversation. In other words, we must also describe how a buyer agent and his interagent coordinate when holding a conversation. We choose a finite state machine to represent the communication states of a buyer when interacting with his interagent (click here to download a postcript version of this finite state machine). Notice, however, that this diagram displays the interaction between a buyer agent and his interagent from the agent's view. Therefore message numbers followed by / stand for messages sent by a buyer agent (f.i. 1/), while message numbers preceded by / stand for messages received by a buyer agent.
This diagram assumes that whenever a buyer agent attempts to illegally send a message, he will be kept at the same communication state after receiving an error message from his interagent.
[
IIIA | IIIA
Agents |
Fishmarket Project ]