Algorithm Bidder
loop
 WAIT-FOR-MESSAGE
msg  GET-MESSAGE
      Messages of unknown type are silently ignored.
timer  SET-TIMER
while  NOT-EXPIRED    (timer)
  if  MESSAGE-TYPE (msg) = “AUCTION-ANNOUNCEMENT”   then
   auction-id, auction-type, auction-data
          PARSE-ANNOUNCEMENT-MESSAGE (timer)
   if  MESSAGE-TYPE (msg) = “SINGLE
   bid   CREATE-BID (auction-id, auction-type, auction-data)
    SEND-BID (bid)
  else if  MESSAGE-TYPE (msg) = “MULTIPLE
    NEGOTIATE-BID (bid)
  end if
  else if  MESSAGE-TYPE (msg) = “AUCTION-WINNER”   then
   auctioneer   GET-SENDER (msg)
   auction-id, auction-data PARSE-WON-MESSAGE (msg)
          Note that we acknowledge regardless of whether or not we find the bid.
   SEND-WIN-ACKNOWLEDGEMENT (auctioneer, auction-id)
   bid    FIND-BID (msg)
   if   bid nil  then
    ADD-TASK (auction-data)
    CLOSE-BID (bid)
   end if
  end if
  FREE-MESSAGE (msg)
end while
 START-SELF-DETERMINATION
end loop
Algorithm 1: Bidder agent response to auctioneer in LAAF.