module CHANNELS (TYPES) is channel BLOCK is -- for block proposals (V: BIT) end channel channel COMMIT is -- for commit events () end channel channel SYNCHRONIZE is -- for synchronization events (T: TAG) end channel channel SET_BIT is -- for bit setting events (ID: PID, S: STEP, B: BIT) end channel channel PROPAGATE is -- for bit propagation events (ID: PID, B: BIT) end channel channel SELF_PROPAGATE is -- for bit self-propagation events (ID: PID, B: BIT) end channel channel TALLY is -- for tally events (ID: PID, K0: NAT, K1: NAT) end channel channel PROBABILISTIC is -- for probabilistic choices (ID: PID, P: PROB) end channel end module