멀티 에이전트 시스템(Multi-Agent Systems: MAS)에서 에이전트들이 서로 협상하기 위해서 에이전트들은 공통의 에이전트 통신 언어(Agent Communication Language: ACL)를 사용하여야 하며, 일치에 도달할 수 있도록 설계된 협상 프로토콜을 따라야 한다. 그러므로 에이전트는 위의 요구사항들을 수용할 수 있는 적당한 구조를 가져야 한다. 이 논문에서는 예제에 사용되는 간단한 ACL을 정의하고, 이것과 다른 ACL들(FIPA(Foundation for Intelligent Physical Agents) ACL, KQML(Knowledge Query Manipulation Language))을 간단히 비교한다. 특히, 에이전트를 ALE음 ,소망, 의도, 그리고 협상 라이브러리로 구성된 논리 프로그램으로 표현한다. 마지막으로, 협상 라이브러리에 포함된 계획자(planner)가 행위들의 계획을 어떻게 제공하는가 그리고 ALE음을 어떻게 갱신하는가를 보인다.