The design of a communicating sequential process language is presented, featuring a parallel command, communication by message passing and the use of the guarded command as a means of introducing and controlling non‐determinism. The language described here incorporates a number of new proposals regarding communications between sequential processes. The principal proposal is that messages are to be selected for reception by a receiving process solely on the basis of their type and arrival order within type; in particular, the identity of the sending process does not influence message reception. This results in a greater degree of parallelism and non‐determinism, which is useful to both the programmer and the language implementor. Also a hierarchichal composition regime is proposed, which gives communications significance to the organization of subprocess hierarchies; this promotes an independence of specification of program components through information hiding properties. The language implementation is described, and several aspects are of particular interest: the design of a process scheduler in a non‐deterministic situation leads to some interesting optimizations, as does the design of a message handler in the case where the communicating processes can access the same memory. Finally, example programs are given to illustrate some of the novel features of the language.
I n t r o d u c t i o n .An emerging trend in the use of computer systems is the general migration to workstations. It is clear from examination of current and projected uses of workstations that many applications require more processing power than can be readily achieved with one processor. Such applications include computer-aided engineering and design, graphics generation, and software systems development. The use of multiprocessor architectures is a cost-effective way to solve this problem.The Leopard Workstation Project at the University of Adelaide is investigating a multiprocessor architecture for high performance workstation computers. This architecture makes use of newly available processor components and interconnection technology, and combines them in a way which yields high performance, whilst keeping overhead cost low. The Project is also working on software systems which will take advantage of the architecture, including a concurrent operating system using the Persistent Information Space Architecture (PISA) model, and a concurrent programming environment called Multiview.This paper describes the architecture of the Leopard Workstation, and gives a brief outline of previous developmental work. The work in progress on prototype implementations is then outlined, and an overview is given of of the software projects which take advantage of this architecture.
40
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.