Supply Chain Model
A model element that hosts a supply-chain submodel. Acts as the umbrella within which Demands and Orders live, mirroring how ProcessModel hosts Entity. Multiple SupplyChainModel instances can coexist within a single KSL ksl.simulation.Model.
Extends ProcessModel so supply-chain elements can also participate in process-oriented modeling (entities, resources, KSL processes).
Demands and orders are created via createDemand and createOrderPlaceholder; their constructors are not exposed.
See sc.inventorylayer.Demand See sc.inventorylayer.Order
Types
A demand for a quantity of an ItemType. Flows through the supply chain via a state machine; see DemandState. Listeners can be attached to react to state transitions.
A bundle of demands all destined for the same DemandSenderIfc. Used by transportlayer load-builders and load carriers. Created only via SupplyChainModel.createDemandLoad.
State in the demand lifecycle. State subclasses encapsulate the legal transitions; an attempted illegal transition throws IllegalStateException via unsupported.
A replenishment order containing one or more Demands for distinct ItemTypes. Like Demand, an order moves through a state machine (see OrderState).
State in the order lifecycle. State subclasses encapsulate the legal transitions; an attempted illegal transition throws IllegalStateException via unsupported.
Properties
Demand is in the backlog awaiting future supply.
Demand was cancelled.
Demand has been filled.
Demand is being prepared to be sent or negotiated.
Demand is being filled.
Demand is being negotiated.
Just created, no demands yet.
Has at least one demand; not yet sent.
Demand is ready to be processed at a filler.
Demand has been rejected.
Demand has been sent to a filler.
Demand has been shipped.
Demand has been integrated into the destination's inventory (or otherwise finalised at the destination). Terminal state. Accounting listeners (e.g. an Inventory's replenishment handler) fire on this transition rather than on delivered.
Functions
Creates a new demand within this supply-chain model. The demand starts in inPreparation.
Creates a new DemandLoad within this supply-chain model. Used by transportlayer load builders and load carriers.
Creates a new order within this supply-chain model. Starts in orderCreated; add demands via Order.addDemand before sending.