Package-level declarations

Types

Link copied to clipboard
fun interface EndGeneratorActionIfc
Link copied to clipboard
open class EventGenerator(parent: ModelElement, generateAction: GeneratorActionIfc? = null, timeUntilFirstRV: RandomIfc = ConstantRV.ZERO, timeBtwEventsRV: RandomIfc = ConstantRV.POSITIVE_INFINITY, maxNumberOfEvents: Long = Long.MAX_VALUE, timeOfTheLastEvent: Double = Double.POSITIVE_INFINITY, name: String? = null) : ModelElement, EventGeneratorIfc

This class allows for the periodic generation of events similar to that achieved by "Create" modules in simulation languages. This class works in conjunction with the EventGeneratorActionIfc which is used to listen and react to the events that are generated by this class.

Link copied to clipboard
Link copied to clipboard

An interface to define how event generators operate. The primary subclass is EventGenerator. Of particular note is the use of initial parameters:

Link copied to clipboard
fun interface GeneratorActionIfc

This interface defines the action to occur for an EventGenerator. Implementors place code in the method generate() in order to provide actions that can occur when the event that was generated is executed.

Link copied to clipboard
abstract class RandomElement(parent: ModelElement, rSource: RandomIfc, name: String? = null) : ModelElement, RandomElementIfc, RandomSourceCIfc
Link copied to clipboard

A tagging interface that is used to facilitate stream control for model elements that require randomness

Link copied to clipboard
class RandomEmpiricalMap<K, V>(parent: ModelElement, map: Map<K, V>, theCDF: DoubleArray, stream: RNStreamIfc = KSLRandom.nextRNStream(), name: String? = null) : ModelElement, Map<K, V> , RElementIfc<V>

Allows random selection of elements from the map. The supplied map must have at least one element. The supplied array must represent a valid cumulative distribution function over the same number of elements as in the map.

Link copied to clipboard
class RandomList<T : Any>(parent: ModelElement, elements: List<T>, stream: RNStreamIfc = KSLRandom.nextRNStream(), name: String? = null) : ModelElement, RandomElementIfc
Link copied to clipboard
class RandomMap<K, V>(parent: ModelElement, map: Map<K, V>, stream: RNStreamIfc = KSLRandom.nextRNStream(), name: String? = null) : ModelElement, Map<K, V> , RElementIfc<V>

Allows random selection of elements from the map. The supplied map must have at least one element

Link copied to clipboard
class REmpiricalList<T>(parent: ModelElement, dEmpiricalList: DEmpiricalList<T>, name: String? = null) : ModelElement, RandomElementIfc, RElementIfc<T>
Link copied to clipboard
class Schedule(parent: ModelElement, startTime: Double = 0.0, length: Double = Double.POSITIVE_INFINITY, autoStartOption: Boolean = true, repeatable: Boolean = true, startPriority: Int = KSLEvent.DEFAULT_PRIORITY - 5, itemPriority: Int = KSLEvent.DEFAULT_PRIORITY - 4, name: String? = null) : ModelElement

A Schedule represents a known set of events that can occur according to a pattern. A schedule contains one or more instances of ScheduleItem. A ScheduleItem represents an item on a Schedule. It has a start time, relative to the start of the Schedule and a duration. If more than one schedule item needs to start at the same time, then a priority can be provided to determine the ordering (i.e. the smallest priority goes first). ScheduleItems are not scheduled to occur until the Schedule actually starts.

Link copied to clipboard

Functions

Link copied to clipboard
fun main()