N. Singh et al., A DISTRIBUTED AND ANONYMOUS KNOWLEDGE SHARING APPROACH TO SOFTWARE INTEROPERATION, International journal of intelligent and cooperative information systems, 4(4), 1995, pp. 339-367
The support for automatic interoperation of software components can re
duce cost and provide greater functionality. This paper describes a no
vel approach to software interoperation based on specification sharing
. Software components, called agents, provide machine processable desc
riptions of their capabilities and needs. Agents can be realized in di
fferent programming languages, and they can run in different processes
on different machines. In addition, agents can be dynamic - at run ti
me agents can join the system or leave. The system uses the declarativ
e agent specifications to automatically coordinate their interoperatio
n. The architecture supports anonymous interoperation of agents, where
each agent has the illusion that the capabilities of all the other ag
ents are provided directly by the system. The distinctive feature of t
his approach is the expressiveness of the declarative specification la
nguage, which enables sophisticated agent interoperation, e.g. decompo
sing complex requests into a collection of simpler requests, and trans
lating between the interface of a requesting agent and the interface o
f an agent that can service the request. The agent-based interoperatio
n scheme relies on a shared vocabulary, and it is our thesis that more
effective software interoperation is made possible by agreeing to a s
hared declarative vocabulary, than by agreeing to procedural interface
specifications that do not address the semantics of the software comp
onent (e.g. object interface specifications in an object-oriented prog
ramming environment).