The fish market can be described as a
place where several scenes run simultaneously, at different places,
but with some causal continuity. The principal scene is the auction
itself, in which buyers bid for boxes of fish that are presented by an
auctioneer who calls prices in descending order - the downward
bidding protocol. However, before those boxes of fish may be sold,
fishermen have to deliver the fish to the fish market, at the
sellers' registration scene, and buyers need to register for the
market, at the buyers' registration scene. Likewise, once a box of
fish is sold, the buyer should take it away by passing through a
buyers' settlements scene, while sellers may collect their payments
at the sellers' settlements scene once their lot has been sold.

In [20, 19] we present the Fishmarket, our current
implementation of an electronic
auction house based on the traditional fish market metaphor,
subsequently extended to become a multi-agent
testbed[20]. This implementation allows to run auctions
over the Internet that permit both human and software agents to
participate. Thus, buyer and seller agents can trade goods as long as they comply with the
Fishmarketinstitutional conventions. Those conventions that affect
buyers and sellers have been coded into their interagents, which
constitute the sole and exclusive means through which each trading agent
interacts with the market institution. An interagent enforces its user (a
trading agent) conversation protocols that establish what
illocutions can be uttered by whom and when. Not only are interagents
utilized to allow trading agents to interact with the market institution,
but also to allow those agents working as market intermediaries to
coordinate their activities. Figure 1 depicts a conceptual view
of the Fishmarket system which differentiates trading interagents (attached to
buyers and sellers) from market interagents (attached to market
intermediaries). Both types of interagents communicate asynchronously
through TCP-stream sockets with their users, making use of the
communication services detailed in section 3.

For the current version of the system both trading and market
interagents instantiate the conversation protocols stored in their
libraries of conversation protocols. Nonetheless we must recall
from section 4.1 that the high flexibility of
interagents would permit to dynamically reconfigure Fishmarket\
without changing the implementation. For instance, say that the
boss of the market decides, during the system's run-time, that the
auctioneer employs new bidding protocols unknown by the trading
interagents. In that case, the boss would dynamically define the
conversation protocol required for the new bidding protocol in
the trading interagents so that buyer agents
were capable of bidding under the new auction rules.