It claims to provide a framework for interoperability programming, whereby the system adapts to run-time interoperability issues. Ambassadors are explicitly created by negotiation between service providers and consumers. There is an autoupdate design pattern built-in to their framework, whereby anytime an object changes its interface, all its ambassadors are automatically notified. There is some notion of state associated with ambassadors, although a compelling case is not made for why. A Network-Centric Framework for Interoperability Programming A Negotiation Model for Dynamic Composition of Distributed Applications Both Hadas and Software Dock show a fairly strong influence of agent ideas into the software engg community.
Bots communicate by sending structured messages to each other via e-mail.
Separation of taskbots from userbots is useful, and allows the task algorithm to evolve independently of communication with the user. Rather like the model-view paradigm, but for the agent world. They experienced some problems that I anticipated as well, in my e-mail prototype experiment. Folks will not like bots mucking around with their email. Their solution to allow bots to read but not modify e-mail was the one I gravitated to as the most tolerable.