Abstract
The support for automatic interoperation of software components can reduce cost and provide greater functionality. This paper describes a novel approach to software interoperation based on specification sharing. Software components, called agents, provide machine processable descriptions of their capabilities and needs. Agents can be realized in different programming languages, and they can run in different processes on different machines. In addition, agents can be dynamic — at run time agents can join the system or leave. The system uses the declarative agent specifications to automatically coordinate their interoperation. The architecture supports anonymous interoperation of agents, where each agent has the illusion that the capabilities of all the other agents are provided directly by the system. The distinctive feature of this approach is the expressiveness of the declarative specification language, which enables sophisticated agent interoperation, e.g. decomposing complex requests into a collection of simpler requests, and translating between the interface of a requesting agent and the interface of an agent that can service the request. The agent-based interoperation scheme relies on a shared vocabulary, and it is our thesis that more effective software interoperation is made possible by agreeing to a shared declarative vocabulary, than by agreeing to procedural interface specifications that do not address the semantics of the software component (e.g. object interface specifications in an object-oriented programming environment).
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have