Synchronized Distributed Termination
IEEE Transactions on Software Engineering
The transputer and Occam: a personal story
Concurrency: Practice and Experience
Termination Detection of Diffusing Computations in Communicating Sequential Processes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communicating sequential processes
Communications of the ACM
Achieving Distributed Termination without Freezing
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
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 Oceam 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.