Artifact: Agent Interaction Model
This work product describes the interactions between agents, including the protocols used, message formats, etc.
Domains: Agent Interaction
Relationships
Description
Main Description

Interactions between agents is often equated with agent communication. While this is not entirely accurate (indirect feedback of the actions of one agent to others is also a form of agent interaction), direct communication requires a number of provision that need to be captured in an appropriate artefact.

Communication Media, Addressing, and Security

The minimum requirement for successful communication between agents is that they agree on a common medium. Depending on the system implemented, this can be a network, visual information, sounds, or the physical environment. In most cases, regular networks will be used and each agent will be identifiable in that network with a globally unique identifier. In case a TCP/IP network ist used, each agent can be reachable under a different IP address. Many multi-agent systems use more sophisticated ways of addressing the agents and provide, e.g., directory services to look up addresses.

If a shared medium is used, addressing is more difficult since message are visible to all participants. This can be intended, e.g., when cooperative robots exchange information but can also lead to security problems if private information has to be submitted. In general, designers of open systems should work under the assumption that none of the exchanged information is private. Messages can be intercepted or senders or receivers could be impersonated by others. If such attacks can be a problem, additional measures to ensure confidentiality, integrity, and authenticity (CIA) have to be taken. Such measures should also be described in the interaction model and potentially have effects on other parts of the architecture as well.

Agent Communication Languages

To ensure that agents can syntactically and semantically comprehend messages exchanged between them, an agent communication language must be used. Please refer to Agend Communication Language (ACL) for more details on these issues.

Protocols

Usually, interactions occur as part of a protocol. A protocol in this context is an ordered sequence of messages exchanged by at least two agents to achieve a certain aim. In many cases, negotiations are conducted using the contract-net protocol [1]. Other protocols, e.g., for auctions and voting can be found in the FIPA Protocol Specification Repository.

Alternative Forms of Interaction

This work product also captures forms of interactions that do not use messages for information exchange. In such cases, the medium has to be described in detail, the meaning of information has to be described, similar to how ACL are specified, and the validity of information in certain circumstances must be defined.

References

[1] Davis, R., & Smith, R. G. (1983). Negotiation as a metaphor for distributed problem solving. Artificial intelligence, 20(1), 63-109. DOI

NotationUML sequence diagrams can be used to abstractly describe protocols. UML state machines can model the internal state of the agents during the execution of a protocol and thus define the correct sequence of messages.
Key Considerations
Not all interactions between agents must be based on the exchange of messages. Interactions can also be stigmergic, i.e., by manipulation of the environment, or by sensory data. Robots can, e.g., use cameras to detect changes in position of other robots. Such interactions should be described here as well.