*MOD—A Language for Distributed Programming

Distributed programming is characterized by high communications costs and the inability to use shared variables and procedures for interprocessor synchronization and communication. *MOD is a high-level language system which attempts to address these problems by creating an environment conducive to efficient and reliable network software construction. Several of the *MOD distributed programming constructs are discussed as well as an interprocessor communication methodology. Examples illustrating these concepts are drawn from the areas of network communication and distributed process synchronization.

[1]  Robert Metcalfe,et al.  Ethernet: distributed packet switching for local computer networks , 1988, CACM.

[2]  Melvin E. Conway,et al.  A multiprocessor system design , 1899, AFIPS '63 (Fall).

[3]  Robert Balzer,et al.  PORTS: a method for dynamic interprogram communication and job control , 1971, AFIPS '71 (Spring).

[4]  Mary Shaw,et al.  Abstraction and verification in Alphard: Defining and specifying iteration and generators , 1977, Commun. ACM.

[5]  Jerome A. Feldman,et al.  High level programming for distributed computing , 1979, CACM.

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

[7]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[8]  Brian A. Wichmann,et al.  Rationale for the design of the Ada programming language , 1979, SIGP.

[9]  James H. Morris,et al.  Early experience with Mesa , 1977 .

[10]  A. Retrospective,et al.  The UNIX Time-sharing System , 1977 .

[11]  James W. Havender Avoiding Deadlock in Multitasking Systems , 1968, IBM Syst. J..

[12]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[13]  Richard William Watson,et al.  Timesharing system design concepts , 1970 .

[14]  Melvin E. Conway,et al.  Design of a separable transition-diagram compiler , 1963, CACM.

[15]  Niklaus Wirth The use of modula , 1977, Softw. Pract. Exp..

[16]  Robert P. Goldberg,et al.  Survey of virtual machine research , 1974, Computer.

[17]  David Lorge Parnas,et al.  Use of the concept of transparency in the design of hierarchically structured systems , 1975, CACM.

[18]  John H. Howard,et al.  A virtual machine emulator for performance evaluation , 1980, CACM.

[19]  Niklaus Wirth Design and implementation of modula , 1977, Softw. Pract. Exp..

[20]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

[21]  R. P. Goldberg,et al.  Virtual Machine Technology: A Bridge From Large Mainframes To Networks Of Small Computers , 1979 .

[22]  Karsten Schwan,et al.  TASK Forces: Distributed Software for Solving Problems of Substantial Size , 1979, ICSE.

[23]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[24]  J. J. Horning,et al.  Report on the programming language Euclid , 1977, SIGP.

[25]  Barbara Liskov,et al.  Primitives for distributed computing , 1979, SOSP '79.

[26]  Craig Schaffert,et al.  CLU Reference Manual , 1984, Lecture Notes in Computer Science.

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

[28]  J. E. Ball,et al.  Preliminary ZENO language description , 1979, SIGP.

[29]  David Lorge Parnas,et al.  A technique for software module specification with examples , 1972, CACM.