Programming languages for distributed computing systems

@article{Bal1989ProgrammingLF,
  title={Programming languages for distributed computing systems},
  author={Henri E. Bal and Jennifer G. Steiner and Andrew S. Tanenbaum},
  journal={ACM Comput. Surv.},
  year={1989},
  volume={21},
  pages={261-322}
}
When distributed systems first appeared, they were programmed in traditional sequential languages, usually with the addition of a few library procedures for sending and receiving messages. As distributed applications became more commonplace and more sophisticated, this ad hoc approach became less satisfactory. Researchers all over the world began designing new programming languages specifically for implementing distributed applications. These languages and their history, their underlying… 
Parlog based real-time logic environment distributed
TLDR
A real-time distributed environment based on a concurrent logic language that can create and control remote processes in a very easy and efficient way and a tool for translating extended state machine specifications to the environment is described.
The Use of Interpreted Languages for Implementing Parallel Algorithms on Distributed Systems
TLDR
This work argues that the use of interpreted languages as a basis for parallel programming tools should be further investigated, and shows an example of use of an interpreted language in a classical application in parallel distributed programming, namely, that of detecting program termination.
A parlog based real-time distributed logic environment
Languages for configuration programming: a comparison
TLDR
The basic responsibilities of configuration languages are considered, a ten-point scheme of criteria for evaluating a language in terms of both ease of use and expressibility is deduced, and a proposal is put forward for a core set of features and for a standard terminology.
A comparative study of five parallel programming languages
  • H. Bal
  • Computer Science
    Future Gener. Comput. Syst.
  • 1992
The InterBase Parallel Language: Supporting Distributed Transaction Applications
TLDR
This paper presents the InterBase Parallel language (IPL) with examples to illustrate its many features such as communication, parallelism, and synchronization and shows how IPL can be used as a general purpose distributed programming language.
Phantom: An Interpreted Language for Distributed Programming
TLDR
Phantom provides many features found in object-based RPC systems and statically compiled languages, including automatic marshalling, transparent remote procedure call, secure authentication and concurrency support, and its interpreted nature permits the use of certain programming techniques, which are of increasing importance for distributed programming.
An Interpreted Language for Distributed Programming 1 Motivation 1.1 Object-based Rpc and Static Compilation
TLDR
The design of Phantom is presented, a new intepreted language for distributed programming that provides many features found in object-based RPC systems and statically compiled languages, including automatic marshalling, transparent remote procedure call, secure authentication and concurrency support.
Experience with distributed programming in Orca
TLDR
A report is given on experiences in using Orca for three parallel applications: the traveling salesman problem, the all-pairs shortest paths problem, and successive overrelaxation.
Parallel programming using shared objects and broadcasting
TLDR
Orca, a procedural language whose sequential constructs are roughly similar to languages like C or Modula 2 but which also supports parallel processes and shared objects and has been used to develop applications for the prototype system, is described.
...
...

References

SHOWING 1-10 OF 312 REFERENCES
Language Support for Loosely Coupled Distributed Programs
  • M. Scott
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1987
TLDR
Novel features of LYNX address problems encountered in the course of practical experience, writing distributed programs without high-level language support, and include a virtual circuit abstraction called the link, and an unconventional coroutine mechanism that allows a server to maintain nested contexts for interleaved conversations with an arbitrary number of clients.
Design and implementation of a distributed systems language
TLDR
Experience with L YN X indicates that the language IS a significant improvement over existing notations for interprocess communicallon, and an implementation on top of the Charlotte distributed operallng system presented several interesting problems and yielded unexpected insights into the nature of the language/operating system interface.
Design and implementation of a distributed systems language (crystal, charlotte, lynx, soda)
TLDR
Experience with LYNX indicates that the language is a significant improvement over existing notations for interprocess communication, and an implementation on top of the Charlotte distributed operating system presented several interesting problems and yielded unexpected insights into the nature of the language/operating system interface.
EMERALD: An object-based language for distributed programming
TLDR
A programming language called Emerald is presented that simplifies distributed programming by extending the concepts of object-based languages to the distributed environment by incorporating a type system that deals only with the specification of objects--ignoring differences in implementation.
The NIL distributed systems programming language: a status report
TLDR
A summary of ongoing research activities related to the programming language NIL, a high level language for concurrent and distributed systems developed at IBM Yorktown, and issues related to providing a semantic theory for NIL are discussed.
An overview of the SR language and implementation
TLDR
The current version of SR is described and an overview of its implementation is given, which shows that by basing SR on a small number of well-integrated concepts, the language has proved easy to learn and use, and it has a reasonably efficient implementation.
Replicated distributed programs
TLDR
Repl i ca ted Di s t r ibuted P r o g r a m s P r O g rA m s is a good place to start if you want to learn more about how to deal with the aftermath of a natural disaster.
Concurrent PROLOG: Collected Papers
TLDR
Flat Concurrent Prolog is described, a comprehensive and radical approach to parallel computing that is based on a simple foundation, and can serve as a general-purpose high-level machine language for parallel computers.
Object-oriented concurrent programming
This book deals with a major theme of the Japanese Fifth Generation Project, which emphasizes logic programming, parallelism, and distributed systems. It presents a collection of tutorials and
Distributed data structures in Linda
TLDR
This work outlines Linda, then discusses some distributed data structures that have arisen in Linda programming experiments to date, and discusses a few of the simpler and more basic techniques made possible by a language model that, it is argued, is subtly but fundamentally different in its implications from most others.
...
...