Resources


Deallocating Resource Entities

Resource entities that are seized by controlling entities can be released (deallocated) by using the Release block. Resource constraints can be defined on the Release block to locate targeted resource entities within the controlling entity to be released. The Release block provides an output resource entity port for each constraint defined. For each controlling entity that enters the Release block during a simulation run, the user-defined resource constraints are used to locate and deallocate the targeted resources among the resources held by the controlling entity. The deallocated resources flow out the appropriate output resource ports.

Analogous to the seize process, releasing resource entities is treated as a special entity unbatching operation. Therefore, the Unbatch block can also be used to release resource entities if the deallocation process does not require partial resource entities to be released from the controlling entity (no manipulation of resource units) or if the model logic does not require different types of resource entities to flow to different locations. The released resource entities from an Unbatch block flow out of the same output port, one after another.

Released resource entities can be routed to any block in the model as dictated by the system logic. In the emergency room example, the doctor resource entity might be required to complete paperwork after being released by a patient entity and before being seized by the next patient entity. In this case, the released doctor resource entity could be routed to a Delay block (representing the paperwork completion time) and then back to a Resource Pool block, signifying that it is available to be seized by another patient entity.