Also, the communication primitive they use, synchronous handshake, makes for problems in handling priority and time, and with distributed implementation. Lastly, the standard calculi often treat only messages that are signals without data, so applications are hampered. CBS is a process calculus that solves the problems above. It is also an executable language, bringing useful theory to programming practice. All this is enabled by using a natural communication primitive, ethernet-style broadcast.
Processes speak autonomously, one at a time, and are instantaneously heard by all others.
In the best case, this is also the first. In the worst case, all the numbers are heard, in ascending order. The interpreter detects when no process wishes to speak. To detect termination within CBS, use priorities to help resolve contention between speakers. Let the numbers be broadcast at high priority, and include a new process that tries to echo at low priority the last number it heard.