Promela and Model Description
4) Rendezvous communication
    Rendezvous communication is synchronous compared with message
    passing, by declaring a zero size channel.
    ex1: #define msgtype 33
chan name = [0] of { byte, byte }; // rendezvous port of size 0
proctype A() {  name!msgtype(124);    // sender
         name!msgtype(121)  // unexecutable without receiver
      }
proctype B() {  byte state;        name?msgtype(state)  // receiver
     }
init {  atomic { run A(); run B() }  }