Package-level declarations
Types
An infinite-server delay station (no resource contention beyond its activity time). Useful for pure delays between seize/release pairs and for class-based paths that don't need queueing.
A station that accumulates batchSize instances into one batch.
A finite-buffer station with block-after-service semantics.
One step of a capacity schedule: hold capacity for duration.
A capacity (shift) schedule for a station's resource. The items are applied in order from startTime; if repeatable, the sequence repeats.
A probabilistic routing branch: send to to with the given probability.
A by-condition routing case: when the named predicate holds, route to to.
How a failure treats in-service work; mirrors the runtime failure effect.
A failure (breakdown) specification for a station's resource. All variants carry a repair-time distribution and an effect; they differ in the trigger.
The send side of a fork-join pair, paired with the join named join. Behavior (count and child configuration) is supplied via named hooks resolved at build time against the builder's ChildFactoryIfc / ChildCountIfc registries; an unknown hook fails the build loudly.
A gate that holds instances while closed. The initiallyOpen state serializes; the open/close control is behavior (not serialized) and must be supplied in code.
An initial (first-job) setup-time entry by type.
The receive side of a fork-join pair. Its parent input is reached as "name#0" and its child input as "name#1" (the join's default receive is the parent input, so the bare "name" target works for parents too).
An assembly/synchronization station joining one instance from each input. Route to a specific input with the target syntax "name#index". With keyByType true, instances are matched by their type id; otherwise any one from each input is matched.
A non-homogeneous Poisson arrival source driven by a piecewise-constant rate function. The rate function is specified as parallel durations (length of each interval) and rates (arrival rate during each interval). Both arrays must have the same length and at least one element.
A multi-queue single-server-group station. Route to a specific input with the target syntax "name#index" (for example, "Assembly#0"). Its single output is given by routing.
A station that seizes from a shared pool instead of its own resource.
A shared resource pool (not a routing node); referenced by PooledStationSpec.pool.
A QObject class template for multi-class networks.
JSON codec for QueueingNetworkSpec.
A ModelBuilderIfc that builds a runnable Model containing a single ksl.modeling.station.StationNetwork from a QueueingNetworkSpec. This makes a serialized (e.g., TOML) network a portable model source that plugs into the app/config layer (run configuration, scenarios, optimization).
Serializable, hand-authorable description of a queueing network. This is pure data: distributions are captured as RVData (reusing the KSL random-variable serialization), and routing is a closed set of RoutingSpec variants. A ksl.modeling.station.config.StationNetworkBuilder turns a spec into a live ksl.modeling.station.StationNetwork.
TOML codec for QueueingNetworkSpec, mirroring the app-config codecs. TOML's tables and array-of-table syntax make hand-authored network descriptions readable.
The cross-queue selection rule for an NWayStationSpec.
An atomic release station: releases this entity's oldest outstanding allocation on resource. Release without a prior seize on that resource fails loudly.
A free-standing resource (not a routing node); referenced by SeizeStationSpec and ReleaseStationSpec for atomic Arena-style seize/release.
A first-class named ksl.modeling.station.Route — an ordered list of receivers a QObject traverses via its attached sender. Each step is a node name (with the "node#index" syntax supported for the multi-input stations NWay/Match/Join).
How a node routes processed instances. A closed set of variants.
An atomic seize station: acquires amount units of resource, or queues the entity if not available. Multiple seize stations may share the same resource; each has its own queue.
A station that separates a batch back into its members.
A (fromType, toType) setup-time entry for a sequence-dependent setup matrix.
An arrival source.
Builds a live StationNetwork from a QueueingNetworkSpec. The builder is the resolution half of the two-layer design: the spec is pure data, and this turns it into model elements parented to a supplied ModelElement, wiring routing by node name in a second pass so forward references resolve.
A single-queue station.
A by-type routing branch: instances of type go to to.