Polylingual systems: an approach to seamless interoperability
Daniel J. Barrett, Jack C. Wileden · 1998
If software components are written in different programming languages, communication between the components can become problematic. The study of multilanguage interoperability attempts to bridge the communication barriers that arise between software components due to language differences. Many approaches to multilanguage interoperability, foreign type systems (e.g., CORBA), and databases with application programming interfaces for different languages. A significant shortening of such approaches is their lack of seamlessness, or transparency of interoperability. Components may require heavy modification in order to interoperate via these approaches; and after integration, the components may be riddled with interoperability-based code, adversely affecting their readability, maintenance, and cohesion. This dissertation proposes a far more transparent approach to interoperability, called the polylingual systems approach, in which, under certain assumptions, software components need not be modified in order to be made interoperable. The approach is explained using a general framework, called PolySPIN, in which issues of multilanguage interoperability are addressed through the use of formal type theory, statistical analysis, experimentation, and comparison to other approaches. The advantages, disadvantages, and tradeoffs of PolySPIN are examined in detail. Finally, an implementation of PolySPIN, called PolySPINner, provides automated support for creating polylingual systems, and it is compared with CORBA, approach to interoperability in industry.