Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard

Processes the ConditionalActions to check if their testCondition() is true, if so the action is executed. All actions are checked until no action's testCondition() is true To prevent conditional cycling the number of rescans is limited to DEFAULT_MAX_SCANS, which can be changed by the user or turned off via setMaxScanFlag()

Link copied to clipboard
class Executive(myEventCalendar: CalendarIfc = PriorityQueueEventCalendar()) : Observable<KSLEvent<*>?>
Link copied to clipboard
open class Experiment(startingRepId: Int = 1, name: String = "Experiment_") : ExperimentIfc

This class provides the information for running a simulation experiment. An experiment is a specification for the number of replications, the warm-up length, replication length, etc. for controlling the running of a simulation.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract class IterativeProcess<T>(name: String? = null) : Observable<T> , IdentityIfc, IterativeProcessIfc
Link copied to clipboard
Link copied to clipboard
class KSLEvent<out T> : Comparable<KSLEvent<*>>

This class represents a simulated event. It allows for the simulation of durations of simulated time. These events are placed on the Executive and ordered by time, priority, and order of creation.

Link copied to clipboard
class MapModelProvider(modelBuilders: MutableMap<String, ModelBuilderIfc> = mutableMapOf()) : ModelProviderIfc

A class implementing the ModelProviderIfc interface to manage and provide models based on unique identifiers. It uses a mutable map to store model builders, where each builder is responsible for instantiating a specific model.

Link copied to clipboard
class Model(val simulationName: String = "Simulation", pathToOutputDirectory: Path = KSL.createSubDirectory(simulationName.replace(" ", "_") + "_OutputDir"), var autoCSVReports: Boolean = false, eventCalendar: CalendarIfc = PriorityQueueEventCalendar()) : ModelElement, ExperimentIfc
Link copied to clipboard
fun interface ModelBuilderIfc

An interface representing a builder for creating Model instances.

Link copied to clipboard

This interface defines a function that can be called when the model is being set up, prior to the execution of any replications. The intention is to allow the modeler to specify via the configuration map specifications for configuring the model for the experiments. A KSL model has two methods for providing input variations, ksl.controls.Controls and ksl.utilities.random.rvariable.parameters.RVParameterSetter. This interface provides a third more general method. The map can hold information that the specific implementor of the interface can use to adjust, change, update, or configure the model in the way necessary to prepare it before executing the simulation experiments. The general idea is that the key indicates what will be done or changed and the associated value can be used to make the change. For example, a key could be a model element name and the value could be a JSON string that can be deserialized to required inputs for the change.

Link copied to clipboard
typealias ModelCreator = () -> Model

A type alias for a function that creates and returns an instance of the Model class.

Link copied to clipboard
Link copied to clipboard

An interface that promises to provide a model instance based on some identifier for the model.

Link copied to clipboard
class SimulationReporter(theModel: Model)

This class facilitates simulation output reporting. There are two main reporting functions: within replication statistics and across replication statistics. The class automatically reports within replication and across replication statistics to comma separated value files by attaching observers to the model. If you do not want this automated output, then you should use the appropriate turnOffXXX methods.

Link copied to clipboard
class StatisticalBatchingElement(model: Model, batchInterval: Double = 0.0, name: String? = null) : ModelElement

When added to a Model, this class will cause batch statistics to be collected for Response and TWResponse variables. It uses the TWBatchingElement and the ResponseBatchingElement to perform this functionality.