3) Message passing
Message channels are used to model the transfer of data from
one
process to
another. They can be declared locally or globally.
ex1: chan qname = [16] of { short }
// simple data type
ex2: chan qname = [16] of { byte,
int, chan, byte } // data structure
ex3: sending qname!exp1, exp2, exp3…
Receiving qname?var1,var2,var3 …
The
sending is executable only if the channel is not full, the receiving is
executable
only if the channel is non empty.