1. A method for conducting a negotiation among a plurality of participants, comprising: specifying a plurality of components to perform the negotiation; each component being a participant, a coordinator, or both; providing each component with a conversion table that maps a set of parameters between invocation patterns instantiated by the participants; providing each coordinator with a negotiation graph that it modifies to coordinate its neighborhood of negotiation graphs and each participant with a negotiation graph that it modifies for each invocation pattern it instantiates; and sending a first message type and a second message type between components that communicate directly with each other in each neighborhood of negotiation graphs; the first message type specifying a request for notification of changes to an aspect of a parameter at a node in the negotiation graph of the component sending the message; the second message type specifying an assertion expressing a decision by a component concerning a property of an aspect of the parameter at a node in the negotiation graph of the component sending the message; wherein the first message type and the second message type are sent between the components to collaboratively mirror their negotiation graphs using their conversion tables in each neighborhood of negotiation graphs so that each participant only views information concerning those aspects in its negotiation graph that relate to the parameters of the invocation patterns it instantiated.