QUEUE

The QUEUE module is used to model a waiting space before a SELECT or hold type module (ACCESS, ALLOCATE, COMBINE, GROUP, PREEMPT, PROCEED, REQUEST, SCAN, SEIZE or WAIT). The QUEUE module may have a finite capacity and entities which arrive after the limit has been reached are sent to the balk label.

Blockages are used to 'block' upstream processes controlling entity arrival at the queue.

Prompt Valid Entry Default
Queue ID Queue number or name -
Capacity Expression truncated to an integer Infinite
Balk label Module label to which the balked entity is to be sent Dispose the entity
Blockage level Expression truncated to an integer None
Blockage ID Blockage number or name None

Examples
Prompt Value
Queue ID 2
Capacity 15
Balk label rejectjobs

When the capacity of queue number 2 exceeds 15 entities any further arriving entities are sent to the module with label 'rejectjobs'
Prompt Value
Queue ID partbuffer
Blockage level NQ(partbuffer)+NE(process) > 4
Blockage ID Noroom

A queue named 'partbuffer' sets blockage 'Noroom' when the number in the queue (NQ) plus the number of entities en route (NE) exceeds 4. The blockage would be defined upstream with the 'BLOCK' module. The en route values can only be evaluated if a 'STATION' module preceeds the queue module