The teamwork structure defined in Section 4 is designed to be appropriate for all PTS domains. In the subclass of PTS domains with single-channel, low-bandwidth, unreliable communication during the periods of limited communication, such as the soccer server, the communication paradigm defined in this section is also appropriate. The communication paradigm further illustrates the use of the locker-room agreement within the team member agent architecture. Recall that PTS domains may have no communication possible during the ``on-line'' periods. In those cases, of course, the communication paradigm presented here does not apply.
Domains with single-channel, low-bandwidth, unreliable communication raise several challenges for inter-agent communication. The locker-room agreement can be used to make inter-agent communication more efficient and reliable. The five challenges addressed by our communication approach are:
Table 1: The characteristics and challenges of the type of communication environment considered in this thesis.
In order to meet these challenges, a team uses messages with the following fields, all of whose syntax and semantics are defined within the locker-room agreement:
In addition to the protocol defined within the locker-room agreement, some internal state variables need to be devoted to communication. When an agent hears a message, it interprets it and updates the world state to reflect any information transmitted by the message. It also stores the content of the message as a special variable last-message. Furthermore, based on the locker-room agreement, an internal behavior then updates the internal state. If the message requires a response, three variables in the internal state are manipulated by an internal behavior: response, response-flag, and communicate-delay. response is the actual response that should be given by the agent as determined in part by the locker-room agreement. All three of these variables are then referenced by an external behavior to determine when a response should be given. For example one condition-action pair of the top-level external behavior might be: if (response-flag set and communicate-delay==0) then say(response).
The remainder of this section details how these particular message fields and internal state variables can be used to meet the challenges summarized in Table 1.