ContractNet protocol
The ContractNet protocol has two parts --- the agent (manager) that
announces the intention to receive bids, and the agents (bidders)
making the bids. There are a number of variations of this protocol,
and here let us discuss a very simple one. Basically, the protocol
starts by with the manager making an announcement, and then waits for
some time to collect the bids, and based on the bids it received, it
awards the contract to one of the bidder. The bidders can choose not
to make a bid, of course.
This sounds trivial, but when you design the FSM for it, you still
need to be careful.