-- occam masterclass demo 5: barriers -- Compile with: kroc -d -di q5.occ #INCLUDE "course.module" PROC rower (VAL INT id, BARRIER b, SHARED CHAN BYTE out!) INITIAL INT seed IS id + 1: PROC random.delay () TIMER tim: INT t, delay: SEQ delay, seed := random (500000, seed) tim ? t tim ? AFTER t PLUS delay : WHILE TRUE SEQ CLAIM out! SEQ out.int (id, 0, out!) out.string (": heave!*n", 0, out!) random.delay () SYNC b CLAIM out! SEQ out.int (id, 0, out!) out.string (": ho!*n", 0, out!) random.delay () SYNC b : PROC q5 (SHARED CHAN BYTE out!) BARRIER b: PAR i = 0 FOR 6 ENROLL b rower (i, b, out!) :