Package-level declarations
Types
Default implementation of AggregateInventoryResponseIfc. Each field is a KSL aggregate or response parented to the supplied parent — the wrapper itself is not a ModelElement.
Read-only view of an aggregate set of inventory-layer responses. Backing types are KSL aggregates (AggregateTWResponse, AggregateResponse, AggregateCounter). Every aggregate is now chained from its per-inventory source(s) via the standard observe() pattern.
Abstract base for backlog policies that an Inventory uses to handle demands which cannot be filled immediately.
FIFO (or other-disciplined) backlog policy backed by a KSL Queue of SupplyChainModel.Demand. The queue itself is a child model element of this policy.
Statistic adapter that exposes a BackLogQueue's queue-level statistics (number-in-queue, time-in-queue) and the policy's amount-backlogged statistics through BackLogStatisticsIfc.
Convenience subclass of OrderGenerator that bundles a built-in RandomOrderCreator. Item types are registered via the generator's own addItemTypeDistribution rather than configuring the creator separately.
Abstract base for demand-arrival listeners that bucket arrivals into time periods of length sampled from periodLength and report each period's aggregate via the reportPeriod hook.
Generates demands at scheduled intervals and routes them to a demand filler. The demand's item type is fixed at construction; the amount is sampled from a configurable distribution (defaults to 1). When unitDemandOnly is true and the sampled amount is d, the generator sends d separate unit-quantity demands.
A stocking point for a single ItemType. Holds inventory, fills customer demands, requests replenishment from a supplier, and optionally backlogs demands it cannot fill immediately.
Inventory-tier cross-dock: a routing node that holds no inventory but receives a demand, forwards an upstream request, and on the upstream's delivery fills the original demand and ships it out through its own demandCarrier.
Notified after Inventory processes a demand arrival — either an incoming customer demand (via Inventory.demandArrivalListener) or a replenishment demand arriving from a supplier (via Inventory.replenishmentArrivalListener).
Abstract base for objects that hold one Inventory per ItemType and route incoming demands to the appropriate inventory. Acts as a DemandFillerIfc (forwards demands by item type) and a DemandSenderIfc (forwards inventory replenishment demands outward).
Concrete InventoryHolderAbstract that holds Inventory instances and delegates incoming demands to them by ItemType. Filled demands are shipped via demandCarrier (if set) or transitioned immediately through ship → deliver.
Abstract base for replenishment policies controlled by an Inventory.
An (r, S) inventory policy: when the inventory position falls to reorderPoint or below, orders enough units to bring the position up to orderUpToPoint.
A periodic-review (r, S) inventory policy: every reviewPeriod time units (starting at initialReviewTime), checks the inventory position and orders up to orderUpToPoint if at or below reorderPoint.
An (r, Q) inventory policy: orders reorderQty units when the inventory position falls to reorderPoint or below.
Replenishment-side rejection listener that retains a reference to the Inventory whose replenishment was rejected. Default dispatch behavior (inherited from DemandRejectionListener) throws; subclasses override to react.
Concrete DemandFillerAbstract that fills demands after a per-item-type lead-time delay. Once filled, demands are either handed to the inherited demandCarrier (if set) or immediately transition through ship and deliver with no delay.
Concrete OrderFillerAbstract that fills incoming orders by routing each demand on the order through an internal LeadTimeDemandFiller. Filled orders are shipped via orderShipper (if set) or immediately transition through ship -> deliver.
Common abstraction over the node types that may participate in a ksl.modeling.supplychain.network.MultiEchelonNetwork's arborescent tree: today InventoryHoldingPoint (holds inventory) and InventoryCrossDock (routes demand through without holding inventory).
Thrown when an inventory has no replenishment option available.
Generates orders at scheduled intervals and routes them to an order filler. The order's content is produced by an OrderCreatorIfc; the filler is located via an OrderFillerFinderIfc or set directly via orderFiller.
OrderCreatorIfc that builds orders by stochastically including a subset of registered item types. Each item type has an associated probability of being included on a given order and a distribution for the order quantity.
Strategy hook for routing an Inventory's replenishment demand. The implementer is responsible for ensuring that the replenishment demand is eventually filled by a DemandFillerIfc.
Concrete WarehouseAbstract that holds incoming orders in a FIFO queue and dispatches each order's demands to per-item-type inventories via an internal InventoryHolderAbstract. When all demands on an order are filled, the order is shipped via orderShipper (if set) or transitioned through ship → deliver.
Abstract base for a warehouse that fills incoming orders by routing each demand on the order to a per-item-type inventory. Replenishment orders are sent outward via replenishmentOrderFiller or replenishmentOrderFillerFinder.