The Gofish Multi-Agent System

a multi-agent system to simulate Gofish Post Office
 

Task:

Improve Gofish's Lightning Mail (which guarantees delivery within 48 hours of dropoff)
 

Package Lifecycle Events
  • DropOff: Describes the package being dropped off to a Gofish’s Lightning mail collection point.
  • DistCenter: Refers to the arrival of the package at the distribution center closest to the destination.
  • Truck: Refers to the loading of the package into a truck at the destination center. The truck will deliver the package to the destination.
  • Delivery: Refers to the delivery of the package to the destination.



Gofish Agents
  • Package Agent (PA):
    Manages the package database.
  • Notification Agent (NA):
    Inform customers about estimated arrival time on Dropoff (optional), DistCenter(email), and Truck events (phone call, simulated).
    NA must obtain the phone number by interaction with PA, and has direct query access to statistic databases.
  • Zip Monitor Agent (ZMA):
    Send email messages to all managers responsible for a certain zip code if it is not served well.
    ZMA accesses directly centertohouse and manager databases.
  • Event Manager Agent (EMA):
    An event management agent maintains, updates, and uses the events database. It also maintains the statistics databases.
    EMA receives messages with events from the Dispatcher Agent and sends them to the other GoFish Agents.
  • Dispatcher Agent (DA):
    Processes incoming package drop off messages. Maintains small status DB through which it generates update events for the Event Manager Agent.
  • Package Dropper Agent (PDA):
    Creates packages for drop off, using an address table, and sents “DropOff” message to the Dispatcher Agent for processing.

 

Interaction and Message Protocol
  • Asynchronous interaction via message exchange
  • Encode service commands in message content:
    • command name
    • Parameters: marshalling using tokenstring (ts) format

 


Gofish message protocol
 
                                      

 



Gofish Databases

   
Lightning Mail has several databases, stored in relations.
  • package(Pid,TYpe, Wt,. . . ): information about each package.
  • events(Package,Event,Time): events occurring for each package.
  • ziptozip(Zip1,Zip2,Time,Number,Tot): statistics on past delivery
  • centertohouse(Zip,Time,Number,Tot): Statistics on past delivery from
  • distribution center.
  • trucktohouse(Street,Time,Number,Tot,Avg): Statistics on truck delivery.
  • managers(Zip,Manager,Email): manager email address

BACK