Package-level declarations

Types

Link copied to clipboard
data class DirectionLock(val forward: Boolean, val count: Int)

The travel direction currently permitted on a bidirectional link, and how many transporters are relying on it.

Link copied to clipboard

Turns what happens on a guide path into animation events, and does nothing at all when nobody is watching.

Link copied to clipboard

The static topology of a guide path: its intersections, links, zones, station aliases, and the shortest-path distances between every reachable pair of intersections.

Link copied to clipboard
open class GuidedPathSpace @JvmOverloads constructor(parent: ModelElement, val network: GuidedPathNetwork, zoneContentionRule: ZoneContentionRuleIfc = FIFOZoneContentionRule(), collectLinkStatistics: Boolean = false, collectZoneStatistics: Boolean = false, name: String? = null) : ModelElement

The runtime half of a guide path: it owns everything about the network that changes during a run.

Link copied to clipboard
open class GuidedPathTransportSystem @JvmOverloads constructor(parent: ModelElement, network: GuidedPathNetwork, zoneContentionRule: ZoneContentionRuleIfc = FIFOZoneContentionRule(), collectLinkStatistics: Boolean = false, collectZoneStatistics: Boolean = false, name: String? = null) : GuidedPathSpace

A guide path an entity drives itself over: the space layer, plus the passive protocol's own accounting.

Link copied to clipboard
class GuidedTransporter @JvmOverloads constructor(val system: GuidedPathSpace, initialPlacement: TransporterPlacement, velocity: RVariableIfc, val lengthInZones: Int = 1, val zoneControlRule: ZoneControlRuleIfc = EndOfZoneControl(), name: String? = null, val physicalLength: Double? = null, val loadCapacity: Int = 1) : Resource, GuidedTransporterCIfc, VehicleMovementIfc, ZoneHolderIfc
Link copied to clipboard

Controlled access to a transporter on a guide path: what a modeller sets, where it is, and what its time was spent on.

Link copied to clipboard

Controlled access to a pool of transporters: the fleet, where entities wait for it, and the two rules that decide which one is sent and where it waits afterwards.

Link copied to clipboard
open class GuidedTransporterPoolWithQ @JvmOverloads constructor(parent: ModelElement, val system: GuidedPathTransportSystem, transporters: List<GuidedTransporter>, allocationRule: GuidedTransporterAllocationRuleIfc = ClosestByNetworkDistanceRule(), var idleDispositionRule: IdleDispositionRuleIfc = ParkInPlaceRule(), name: String? = null) : AbstractResourcePool<GuidedTransporter> , GuidedTransporterPoolCIfc

A set of interchangeable transporters that entities ask for by the group rather than by name.

Link copied to clipboard

An entity's claim on a transporter: obtained when one is allocated, used to command the journey, and given up at the end.

Link copied to clipboard
Link copied to clipboard
data class GuidedTransportResult(val totalTime: Double, val approachTime: Double, val rideTime: Double, val blockedTime: Double, val zonesTraversed: Int, val routeLength: Double)

What happened during one journey.

Link copied to clipboard

The space of a junction, held by one transporter at a time.

Link copied to clipboard
class Link

A run of guide path between two intersections, divided into an integral number of equal zones.

Link copied to clipboard
@Serializable
enum LinkType : Enum<LinkType>

How traffic may traverse a link.

Link copied to clipboard
class LinkZone : Zone

One of the equal zones that divide a link.

Link copied to clipboard

Told when a transporter reaches the end of a route.

Link copied to clipboard

Asked, at every zone boundary, whether a transporter may carry on.

Link copied to clipboard

Where a transporter stands at the start of every replication.

Link copied to clipboard

What a transporter is doing.

Link copied to clipboard

How often a transporter's velocity is drawn when its velocity is random.

Link copied to clipboard
sealed class Zone

The atom of contended space on a guide path: the unit that is claimed, covered, and released.

Link copied to clipboard

The record of guide-path space actually held: which holder, which zones, from when until when.

Link copied to clipboard
class ZoneClosureDriver(parent: ModelElement, val space: GuidedPathSpace, zones: () -> List<Zone>, timeBetween: RVariableIfc, duration: RVariableIfc, var onOverlap: ZoneOverlap = ZoneOverlap.RAISE, firstAt: Double = Double.NaN, name: String? = null) : ModelElement, ZoneHoldActionIfc

Closes space over and over on a schedule, so a model does not write the same six lines again.

Link copied to clipboard
class ZoneCrossing(parent: ModelElement, val space: GuidedPathSpace, val zones: List<Zone>, var arbiter: CrossingArbiterIfc = BoundedBatchArbiter(batchSize = 3, maxWait = 5.0), name: String? = null) : ModelElement, ZonePopulationHostIfc, ZoneHoldActionIfc

A place where people cross guide-path space that vehicles also want.

Link copied to clipboard

Told when a hold on guide-path space begins and when it ends.

Link copied to clipboard
interface ZoneHolderIfc

Something that can hold a zone exclusively.

Link copied to clipboard

What a closure should do when some zone it wants is already promised to another closure.

Link copied to clipboard

A holder that lets a population onto the space it is holding.

Link copied to clipboard

Why a zone would refuse a claim, as Zone.refusalFor answers it.

Link copied to clipboard
class ZoneRequest : ZoneClosureIfc

A request for guide-path space: what was asked for, before it has been given.

Link copied to clipboard

Whether a zone is free, spoken for, or covered.