Dock
Single-server discrete-event dock that interposes a service-time delay between a demand reaching DemandStateId.Delivered and the terminal action (store or ship) chosen by the dock's configuration.
Assigned to a destination's ksl.modeling.supplychain.inventory.NetworkNodeIfc.deliveryEndpoint slot to model unload-time behaviour at that node. Replaces the default PassThroughStorageEndpoint (which has zero service time) with a configurable service-time variant.
The default implementation is a strict FIFO single-server queue with statistics matching a service station:
numberServedResponse — counter of demands that completed service this replication.
timeInDockResponse — per-demand observation of (service-end time − arrival time at the dock).
utilizationResponse — time-weighted busy fraction (1.0 when a demand is in service, 0.0 when idle).
queueSize — current size of the waiting line.
Subclasses may override beginService and applyTerminalAction to integrate with KSL's process-view modelling (resources, transporters, conveyors) — that's the long-term integration path for a ProcessViewDock.
Parameters
the model element that owns this dock (typically the ksl.modeling.supplychain.inventory.NetworkNodeIfc whose deliveryEndpoint slot this dock fills)
per-demand service time distribution; default ConstantRV.ZERO (degenerate to immediate pass-through)
what to do once service ends — default DockTerminalAction.Store
optional model-element name
Constructors
Properties
Count of demands that finished service this replication.
Service-time distribution. Reassigning swaps the underlying source on the inner RandomVariable (per porting-plan §4.1).
Per-observation time-in-dock response (arrival → service end).
Time-weighted utilisation (busy fraction).
Functions
Hook fired when service ends for demand. Default invokes the configured terminalAction — calling demand.store() or routing + re-ship per DockTerminalAction.Ship.
Hook fired when demand becomes the in-service demand. Default schedules a service-end event after a sampled service time. Subclasses may override to integrate with KSL process-view primitives (e.g. seize a resource, run a Process block).
This method should be overridden by subclasses that need actions performed to initialize prior to a replication. It is called once before each replication occurs if the model element wants initialization. It is called after beforeReplication() is called
Called by the framework Delivered observer when demand transitions into Delivered at this endpoint's destination.