<> <> <> <> <> <> <> <<>> MonitoredQueue: CEDAR DEFINITIONS = BEGIN MQ: TYPE = REF QueueBody; QueueBody: TYPE; Create: PROC RETURNS [MQ]; <> Add: PROC [item: REF ANY, queue: MQ]; <> <> AddToSet: PROC [item: REF ANY, queue: MQ]; <> <> QueueClosed: ERROR; EndOfQueue: ERROR; Remove: PROC [queue: MQ] RETURNS [REF ANY]; <> <> <> Close: PROC [queue: MQ]; <> Reset: PROC [queue: MQ]; <> END.