Evolving Protocols and Agents in Multiagent Systems
Abstract
We consider multiagent systems that involve two or more business partners interacting via autonomous software agents. A (business) protocol describes the messages exchanged by the agents in high-level terms. Such systems pose a major challenge with requirements evolution. Current approaches couple agent and protocol designs, requiring coordinated changes. In contrast, we propose an approach that decouples agent and protocol designs, while maintaining interoperability. We build on the well-known architectural construct of an interceptor. We introduce interaction refactorings to transform interactions in response to evolving requirements, with each refactoring incrementally changing agents, interceptors, and the protocol. We identify three main forms of requirements evolution and propose an extensible library of refactorings that help address each form. We demonstrate the approach through examples and a JADE prototype.