The POLYLITH software bus
- 1 January 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 16 (1) , 151-174
- https://doi.org/10.1145/174625.174629
Abstract
We describe a system called POLYLITH that helps programmers prepare and interconnect mixed-language software components for execution in heterogeneous environments. POLYLITH's principal benefit is that programmers are free to implement functional requirements separately from their treatment of interfacing requirements; this means that once an application has been developed for use in one execution environment (such as a distributed network) it can be adapted for reuse in other environments (such as a shared-memory multiprocessor) by automatic techniques. This flexibility is provided without loss of performance. We accomplish this by creating a new run-time organization for software. An abstract decoupling agent, called thesoftware bus, is introduced between the system components. Heterogeneity in language and architecture is accommodated since program units are prepared to interface directly to the bus and not to other program units. Programmers specify application structure in terms of a module interconnection language (MIL); POLYLITH uses this specification to guidepackaging(static interfacing activities such as stub generation, source program adaptation, compilation, and linking). At run time, an implementation of the bus abstraction may assist in message delivery, name service, or system reconfiguration.Keywords
This publication has 21 references indexed in Scilit:
- An environment for developing fault-tolerant softwareIEEE Transactions on Software Engineering, 1991
- Lightweight remote procedure callACM Transactions on Computer Systems, 1990
- Constructing distributed systems in ConicIEEE Transactions on Software Engineering, 1989
- A simple system for constructing distributed, mixed-language programsSoftware: Practice and Experience, 1988
- Distributed programming in ArgusCommunications of the ACM, 1988
- Interconnecting heterogeneous computer systemsCommunications of the ACM, 1988
- The V distributed systemCommunications of the ACM, 1988
- Fine-grained mobility in the Emerald systemACM Transactions on Computer Systems, 1988
- IDL: sharing intermediate representationsACM Transactions on Programming Languages and Systems, 1987
- The GANDALF projectJournal of Systems and Software, 1985