High-level language support for programming distributed systems

  • Authors:
  • J. S. Auerbach;D. F. Bacon;A. P. Goldberg;G. S. Goldszmidt;M. T. Kennedy;A. R. Lowry;J. R. Russell;W. Silverman;R. E. Strom;D. M. Yellin;S. A. Yemini

  • Affiliations:
  • IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY;IBM T. J. Watson Research Center, Yorktown Heights, NY

  • Venue:
  • CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 1991

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a strategy for simplifying the programming of heterogeneous distributed multiapplications. A multiapplication is a distributed system or a collection of autonomous applications which occasionally interact, such as a bank and its customers. Our approach is based on designing a machine-and language-independent process model, and integrating the abstract primitives for process creation, connection, and communication into programming languages. Our goal is to make it easy for non-experts to write multiapplications and multiapplication components, and to produce software which is portable across different machine and operating system environments. The complexity of managing address spaces, name spaces, buffers, communications connections, and recovery in such environments is hidden inside the implementation of a small number of high-level language constructs.We discuss our process model, and two language efforts based on this model: Hermes, a secure, representation-independent language designed explicitly around the process model, and Concert-C, a minimal set of extensions to C to support the process model while allowing reuse of existing C code. We discuss the status of the Hermes and Concert-C prototype implementations.