Agent Communication Languages: Rethinking the Principles

  • Authors:
  • Munindar P. Singh

  • Affiliations:
  • -

  • Venue:
  • Computer
  • Year:
  • 1998

Quantified Score

Hi-index 4.12

Visualization

Abstract

In the true sense of the word, an agent is a persistent computation that can perceive its environment and reason and act both alone and with other agents. The key concepts in this definition are interoperability and autonomy. These concepts set agents apart from conventional objects, which always fulfill any methods invoked on them. Agents, in contrast, should be able to refuse an action. Thus, agents must be able to talk to each other to decide what information to retrieve or what physical action to take, such as shutting down an assembly line. The mechanism for this exchange is the agent communication language (ACL). Theoretically, an ACL should let heterogeneous agents communicate. None currently do: Although ACLs are being used in proprietary multiagent applications, nonproprietary agents cannot interoperate. The author agrees with those who lay the fault for this on the lack of a formal semantics. However, he is not convinced that the existing work on ACL semantics is heading in the right direction. Current work, he argues, is repeating the past mistake of emphasizing mental agency-the supposition that agents should be understood primarily in terms of mental concepts, such as beliefs and intentions. This approach supposes, in essence, that agents can read each other's minds. This supposition has never held for people, and for the same reason, it will not hold for agents. In this article, the author explains why an ACL's formal semantics should emphasize social agency. This approach recognizes that communication is inherently public, and thus depends on the agent's social context.