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
|