A comparison of two notations for process communication [chapter]

Jim Welsh, Andrew Lister, Eric J. Salzman
1980 Lecture Notes in Computer Science  
This paper compares the mechanisms for process communication, synchronisation and non-determinism in recent language proposals by Hoare and Brinch Hansen, by both qualitative and quantitative analyses. A significant variation in effectiveness with program class is shown. Y ~ tag(values) and process Y receives, or inputs, the information by executing a command of the form X ? tag(variables) Both the tags and the value and variable lists must correspond if communication is to succeed. In D$
more » ... ication is accomplished by one process X say, executing a command of the form call Y.P (values, result variables) 227 where process Y contains a procedure declaration of the form proc P (value parameters # result parameters) ... body of P ... The value parameters carry information from process X to process Y, the result parameters carry information back from Y to X. One difference which is immediately apparent is that in CSP each process must name the other in order to communicate while in DP the process defining a procedure need not identify the processes which call it. Hoare argues that this is not a significant semantic difference, which Brinch Hansen confirms by indicating that the implementation of a DP process must make suitable provision for the calls on its procedures by other processes. Depending on how the network is connected and the storage economy required, this provision may involve identifying, or at least enumerating, the callers of each procedure. Thus CSP makes explicit what a DP implementation must deduce from each program.
doi:10.1007/3-540-09745-7_17 fatcat:eg4zc3575racfapwpe7pnmeio4