Components
This document is meant to give an overview of the components in Sender
and Receiver
.
Sender
Sender agents have 6 components:
- SenderMemory: Keeps track of the suitable protocols and the number of conversations
- SenderTransporter: Manages the low-level communication between agents
- Querier: Sends a natural language query to the Receiver
- SenderNegotiator: Negotiates a protocol with the Receiver
- ProtocolPicker: Decides, among a list of protocols, which protocol should be used to perform a given task
- SenderProgrammer: Implements a protocol as a Python routine
Receiver
Receiver agents have 5 components:
- ReceiverMemory: Keeps track of known protocols and the number of conversations
- Responder: Replies to natural language queries from the Sender
- ReceiverNegotiator: Negotiates a protocol with the Sender
- ReceiverProtocolChecker: Verifies that a protocol (proposed by the Sender) is suitable for the Receiver
- ReceiverProgrammer: Implements a protocol as a Python routine
in addition to ReceiverServer, which serves a Receiver as a Flask server.