Facilitating Mixed Language Programming in Distrbuted Systems

An approach for facilitating mixed language programming in distributed systems is presented. It is based on adding a generic remote procedure call facility to each language, and the use of a type system to describe procedural interfaces, as well as data to be transferred between procedures. This type scheme also specifies a machine-independent representation for all data. By defining standard mappings for each programming language, the data conversions required for cross-langauge calls may be performed, automatically in most cases, by active agents that provide the interface between program components written in different languages. When necessary, explicit control of the conversation is possible. A prototype implementation of a system based on this approach has been constructed on a collection of machines running Berkeley UNIX®.

[1]  Niklaus Wirth,et al.  Modula: A language for modular multiprogramming , 1977, Softw. Pract. Exp..

[2]  John H. Williams,et al.  Data Types , 1976, Design and Implementation of Programming Languages.

[3]  Brian T. Smith,et al.  Matrix Eigensystem Routines — EISPACK Guide , 1974, Lecture Notes in Computer Science.

[4]  Michel Raynal,et al.  Types in a mixed language system , 1981, BIT Comput. Sci. Sect..

[5]  D. Stevenson A Proposed Standard for Binary Floating-Point Arithmetic , 1981, Computer.

[6]  Henry Ledgard,et al.  Reference Manual for the ADA® Programming Language , 1983, Springer New York.

[7]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[8]  Alan J. Demers,et al.  Data types, parameters and type checking , 1980, POPL '80.

[9]  B. S. Garbow,et al.  Matrix Eigensystem Routines — EISPACK Guide , 1974, Lecture Notes in Computer Science.

[10]  Gregory R. Andrews,et al.  The distributed programming language SR—Mechanisms, design and implementation , 1982, Softw. Pract. Exp..

[11]  Bo Einarsson,et al.  Mixed language programming , 1984, Softw. Pract. Exp..

[12]  Niklaus Wirth,et al.  Modula: A language for modular multiprogramming , 1977, Softw. Pract. Exp..

[13]  Ralph E. Griswold,et al.  The Icon programming language , 1983 .

[14]  Alfred Z. Spector,et al.  Performing remote operations efficiently on a local computer network , 1981, SOSP.

[15]  Maurice Herlihy,et al.  A Value Transmission Method for Abstract Data Types , 1982, TOPL.