Interoperability

Peter W. Wegner · ACM Computing Surveys · 1996

Interoperability is the ability of two or more software components to cooperate despite differences in language, interface, and execution platform. It is a scalable form of reusability, being concerned with the reuse of server resources by clients whose accessing mechanisms may be plug-incompatible with sockets of the server. Plug compatibility arises most literally with electrical appliances that require both static compatibility of shape and dynamic compatibility of voltage and frequency. If there is no direct match, interoperability of electrical appliances can be achieved by adapters and transformers. The client-server software paradigm is a plug and socket paradigm with static compatibility specified by types and dynamic compatibility by protocols. As with electrical appliances, incompatibility of software plugs and sockets can be mediated by adapters. Static compatibility between calling and called procedures in strongly typed languages can be determined by type checking. Type compatibility guarantees that the plug of the caller fits the socket of the server but not that the service provided is that expected by the caller. But some of the most powerful systems of interoperation, like UNIX pipes and

Read the paper · More papers on PaperTik