ABSTRACT

This chapter surveys general distributed programming languages and introduces a communicating sequential processes-like distributed control description language. Classical sequential programming languages, such as Fortran, Pascal, and C, are not suitable for distributed systems. These languages do not address problems such as concurrency, communication, synchronization, and reliability. A programming language is defined by its syntax and semantics. The syntax of a programming language defines legal strings of symbols used in programs. In parallel programming languages, semaphores and monitors are mainly used to synchronize coordinated multiple access of a shared storage. Tools for parallel/distributed programming are maturing. These tools include assistants for parallelizing code, graphical user interfaces for constructing programs, and debuggers for tracking the state of any process or thread. The synchronous point-to-point approach has been adopted in the Occam programming language which uses one-way communication between the sender and the receiver.