ResourceUnit

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.