Edited sentence: In the example the two processes P1 and P2 have non-deterministic choices of (1) input from the other or (2) output to the other.M_DW -> skip;.M_UP -> skip;.The choice is not done in a random, but in non-deterministic way: anything that is executable may be chosen.The semantics does not say which is executed when.The semantics of executability provides the basic means in Promela for modeling process synchronizations.Therefore this model will not deadlock.Two rendezvous handshakes are possible, and one of them is chosen forever.chan Chan_data_down = [0] of {mtype};.chan Chan_data_up   = [0] of {mtype};.mtype = {M_UP, M_DW};.proctype P1 (chan Chan_data_in, Chan_data_out).proctype P2 (chan Chan_data_in, Chan_data_out).run P1 (Chan_data_down, Chan_data_up);.run P2 (Chan_data_up,   Chan_data_down);