A typical tissue in concurrent programming is to ensure the correct distributed termination of processes which compose a concurrent program. A concurrent program is terminated when every process is passive and there are no messages in transit. The Occam concurrent language does not provide explicit mechanisms to handle program termination. This paper discusses how to implement distributed termination of Occam programs expressed as a network of concurrent processes, avoiding deadlock situations or never-ending execution. The technique is based on the definition of a termination hierarchy and the propagation of a termination message down the hierarchy of processes. Some Occam 2 concurrent programs which use this technique are presented.
DISTRIBUTED TERMINATION OF CONCURRENT PROCESSES IN OCCAM
TALIA, Domenico
1993-01-01
Abstract
A typical tissue in concurrent programming is to ensure the correct distributed termination of processes which compose a concurrent program. A concurrent program is terminated when every process is passive and there are no messages in transit. The Occam concurrent language does not provide explicit mechanisms to handle program termination. This paper discusses how to implement distributed termination of Occam programs expressed as a network of concurrent processes, avoiding deadlock situations or never-ending execution. The technique is based on the definition of a termination hierarchy and the propagation of a termination message down the hierarchy of processes. Some Occam 2 concurrent programs which use this technique are presented.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.