Package-level declarations

Types

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

Permits controlled access to the underlying event generator. Of particular note are the timeUntilFirstEvent and initialTimeBtwEvents properties which govern the arrival process. In addition, the function setInitialEventTimeProcesses() is provided to facilitate the setting of both timeUntilFirstEvent and initialTimeBtwEvents to the same reference, which is a common use case.

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

Permits controlled access to the underlying event generator. Of particular note are the timeUntilFirstEvent and initialTimeBtwEvents properties which govern the arrival process. In addition, the function setInitialEventTimeProcesses() is provided to facilitate the setting of both timeUntilFirstEvent and initialTimeBtwEvents to the same reference, which is a common use case.

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
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, rMap: REmpiricalMap<K, V>, 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, dUniformList: DUniformList<T>, name: String? = null) : ModelElement, RElementIfc<T> , RandomElementIfc
Link copied to clipboard
class RandomMap<K, V>(parent: ModelElement, rMap: RMap<K, V>, name: String? = null) : ModelElement, Map<K, V> , RElementIfc<V> , RandomElementIfc

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, RElementIfc<T> , RandomElementIfc
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, ScheduleCIfc

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
Link copied to clipboard
Link copied to clipboard
@Serializable
data class ScheduleData(var initialStartTime: Double = 0.0, var scheduleLength: Double = Double.POSITIVE_INFINITY, var isAutoStartFlag: Boolean = true, var isScheduleRepeatable: Boolean = true, var startEventPriority: Int = KSLEvent.DEFAULT_PRIORITY - 5, var itemStartEventPriority: Int = KSLEvent.DEFAULT_PRIORITY - 4, val scheduleItemDataList: List<ScheduleItemData>) : ToJSONIfc
Link copied to clipboard
@Serializable
data class ScheduleItemData(val name: String, var startTime: Double = 0.0, var duration: Double, var priority: Int = KSLEvent.DEFAULT_PRIORITY - 4, var message: String? = null, var datum: Double? = null)

Functions

Link copied to clipboard
fun main()