Batch Block

batchHelp

Description

The Batch block groups entities so that they flow together through a simulation model. Entities arrive at a Batch block individually through its InEntity input entity port. The Batch block holds the entities until the number of entities it is holding reaches the value specified in the Batch block’s batch size parameter. At this point, the Batch block attaches the held entities to a carrier entity that carries the group of entities through the simulation model, and attempts to send the carrier entity out through the OutCarrier output entity port. Downstream in the simulation model, an Unbatch block can be used to separate the individual entities from the batch carrier.

If nothing is attached to the InCarrier input entity port, a Default entity is created and used as the carrier entity whenever a batch of entities is ready to be sent out through the OutCarrier port. If there is a connection to the InCarrier port, the entities that arrive at that port are used as the carriers. If there is a connection to the InCarrier port, the Batch block waits until it has both a carrier entity and a complete batch of entities before it attempts to send the carrier entity out through the OutCarrier port. The Batch block can hold only a single carrier and a single batch of entities at any given time. Therefore, if there is a connection to the Batch block’s InCarrier port and the Batch block is holding a carrier entity but is not holding a complete batch of entities, the Batch block does not accept another carrier entity through its InCarrier port. Similarly, if there is a connection to the Batch block’s InCarrier port and the Batch block is holding a complete batch of entities but is not holding a carrier entity, the Batch block does not accept another entity through its InEntity port.

The InSignal input value port is used to force the Batch block to send out a carrier regardless of the number of entities it is holding. If a true value arrives at the InSignal port, the Batch block attempts to attach any entities it is holding to a carrier entity and send the carrier entity out through the OutCarrier port. In this case the carrier might not hold any entities or it might hold a smaller number of entities than the batch size. If there is a connection to the InCarrier port and a true value arrives at the InSignal port but the Batch block is not holding a carrier, the signal is ignored. A false signal arriving at the InSignal port is always ignored since it signifies that no action needs to be taken.

An integer value can be pushed through the InBatchSize port to set the batch size for the Batch block. If the batch size is decreased while the Batch block is holding more entities than the new batch size, the existing entities are batched together according to the new batch size, and the Batch block attempts to send a carrier entity out through its OutCarrier port for each smaller batch of entities. If there is a connection to the Batch block’s InCarrier port, the Batch block waits for a carrier to arrive before sending out each smaller batch of entities.

Fixed Ports

InEntity

Input entity port for entities that are batched together.

InCarrier

Input entity port for entities used as carriers for entity batches.

OutCarrier

Output entity port for carriers (containing batches of entities) that can be accepted by a downstream block.

OutBalk

Output entity port for carriers (containing batches of entities) that cannot leave using the OutCarrier port.

InSignal

Boolean input port that forces the Batch block to send out a carrier (if one is available) that contains any entities being held by the Batch block. The carrier can be empty (containing no entities).

InBatchSize

Numeric input port that dynamically sets the batch size of the Batch block.

Properties Dialog Box Controls

Batch Size

Specifies the number of entities the Batch block stores in its buffer before attempting to send out those entities on a carrier. Valid values for this field are integers in the range from 0 to 2,147,483,647. Selecting the Infinite check box supersedes any value entered. If the Infinite check box is selected, a connection should be made to the InSignal port of the Batch block to determine when the Batch block should attempt to release a carrier containing a batch of entities.

Queueing Policy

Specifies the queueing policy for the queue used internally by the Batch block. See the Queueing Policy control in the section Queue Block for details.

Candidates for Design of Experiments

Factors

QueueingPolicy (text)
See the Queueing Policy design-of-experiment factor in the section Queue Block for details.

Responses

None