A ResourceUnit represents a single resource that can be seized individually or from a ResourcePool.
An entity can select the most appropriate ResouceUnit to seize from a ResourcePool using the inputs to the AssignmentCondition and AssignmentPriority keywords for each ResourceUnit. The AssignmentCondition input determines whether the entity is eligible to seize the unit. The AssignmentPriority input determines which of the eligible units is most appropriate for the entity.
Inputs for the various ThresholdList, MaintenanceList, and BreakdownList keywords determine whether the unit is available to be seized.
A ResourceUnit will attach itself to the entity that seized it if its FollowAssignment input is set to TRUE.
The appearance of a ResourceUnit changes to indicate its present state. By default, it changes colour, but the StateGraphics keyword allows it to change to another shape or image.
ResourceUnit Inputs
Keyword |
Description |
Key Inputs |
|
Description |
A free-form string describing the object. |
ResourcePool |
The name of the ResourcePool from which this ResourceUnit can be selected. If no pool is specified, the ResourceUnit itself is considered to be a ResourcePool with one unit. |
AssignmentCondition |
An optional expression that tests whether an entity is elible to seize this unit. The entry 'this.Assignment' represents the entity that is being tested in the expression. The expression should return 1 (true) if the entity is eligible. For example, the following expression requires that the entity's attribute 'type' has the value 1: 'this.Assignment.type == 1' |
AssignmentPriority |
An optional expression that returns the priority for this unit to be used by the ResourcePool when choosing the next unit to be seized. The calculated priority should be a positive integer, with a lower value indicating a higher priority. The entry 'this.Assignment' can be used in the expression to represent the entity that would seize the unit. For example, the following expression assigns the priority 1 to the ResourceUnit if the entity's attribute 'type' has the value 1, otherwise a priority of 2 is assigned: 'this.Assignment.type == 1 ? 1 : 2' |
Options |
|
Active |
If TRUE, the object is used in the simulation run. |
AttributeDefinitionList, CustomOutputList |
See Section 6.2. |
Thresholds |
|
ImmediateThresholdList, ImmediateReleaseThresholdList, OperatingThresholdList |
See Section 10.1. |
Maintenance |
|
WorkingStateList, ImmediateMaintenanceList, ForcedMaintenanceList, OpportunisticMaintenanceList, ImmediateBreakdownList, ForcedBreakdownList, OpportunisticBreakdownList |
See Section 10.2. |
Format |
|
StateGraphics |
A list of state/DisplayEntity pairs. For each state, the graphics will be changed to those for the corresponding DisplayEntity, e.g. { Idle DisplayEntity1 } { Working DisplayEntity2 } |
FollowAssignment |
If TRUE, the ResourceUnit will move next to the entity that has seized it, and will follow that entity until it is released. |
AssignmentOffset |
The position of the ResourceUnit relative to the entity that has seized it. |
Graphics |
|
Position, Alignment, Size, Orientation, Region, RelativeEntity, DisplayModel, Show, Movable, VisibleViews, DrawRange |
See Section 11.1. |
ResourceUnit Outputs
Output Name |
Description |
Entity and DisplayEntity |
|
Name, ObjectType, SimTime, Parent, Attributes, Custom Outputs, Position, Size, Orientation, Alignment, GraphicalLength, ObserverList, NextList, PreviousList |
See Section 10.1. |
StateEntity |
|
State, WorkingState, WorkingTime, StateTimes, TotalTime |
See Section 10.3. |
StateUserEntity |
|
Idle, Working, Setup, Maintenance, Breakdown, Stopped, Utilisation, Commitment, Availability, Reliability, Open, NextMaintenanceTime, NextBreakdownTime |
See Section 10.3. |
ResourceUnit |
|
UserList |
The objects that can seize this resource unit. |
Assignment |
The entity to which this unit is assigned. |