If agents are to negotiate automatically with one another they must share a negotiation mechanism, specifying what possible
actions each party can take at any given time, when negotiation terminates, and what the resulting agreements will be. The
current state-of-the-art represents this as a negotiation protocol specifying the flow of messages. However, they omit other
aspects of the rules of negotiation (such as obliging a participant to improve on a previous offer), requiring these to be
represented implicitly in an agent’s design, potentially resulting in compatibility, maintenance and re-usability problems.
In this paper, we propose an alternative approach, allowing all of a mechanism to be formal and explicit.We present (i) A
taxonomy of declarative rules which can be used to capture a wide variety of negotiation mechanisms in a principled and well-structured
way. (ii) A simple interaction protocol, which is able to support any mechanism which can be captured using the declarative
rules. (iii) A software framework for negotiation, implemented in JADE [3] that allows agents to effectively participate in negotiations defined using our rule taxonomy and protocol.