module VARIABLE (TYPES, CHANNELS) is process Variable [G: Operation] (in var val: Nat) is -- process modeling a shared variable; "val" is the initial value loop alt G (Read, val, ?any Pid) [] G (Write, ?val, ?any Pid) end alt end loop end process end module