Groups of software agents can make decisions or form coalitions. If a group of people with complex time-constraints need to arrange a meeting, software agents can do it for them without requiring that a person bother with the intricate constraint balancing inherent in meeting-scheduling (and perhaps without anyone's feelings getting hurt).
In fact, meeting scheduling is the most popular software agent
negotiation application. [Maes and Kozierok, 1993][Kozierok, 1993] schedules group
meetings, [Kautz et al., 1994] schedules meetings between individuals, and
[Dent et al., 1992] does both (and more). The backbone of all of these
systems could be implemented in SodaBot. However, the actual
scheduling processes would require external applications. For
example, Kautz et al.'s VisitorBot requires use of CPlex - a
sophisticated integer programming package - which could be accessed
through the SodaBot system command.
There has also been much theoretical work on abstract agent negotiation protocols, as in [Rosenschein, 1993][Zlotkin and Roesnschein, 1994]. As we pointed out earlier with reference to the work of Doyle, it would be very interesting to ground this theoretical work in negotiation by implementing it in a realized system.