Model Descriptor
A data class that describes a model's configuration at a point in time.
The controls field captures all three control families (numeric, string, and JSON) in a single ModelControlsExport snapshot, replacing the previous controlData stored field. Backward-compatible access to numeric controls is provided by the computed property controlData.
The experimentRunDefaults field captures only the model-intrinsic run-parameter values — replication count, replication length, warm-up, stream options, etc. — and deliberately omits the runtime-identification fields (experimentName, experimentId, runName) that belong to a specific run rather than to the model. This keeps the descriptor JSON byte-stable across enrich runs. See ksl.controls.experiments.ExperimentRunDefaults for the precise shape and its relationship to ksl.controls.experiments.ExperimentRunParameters.
The description, inputNames, and outputDirectory fields that appeared in earlier versions of this class have been removed as stored fields:
descriptionwas an auto-generated string embedding a wall-clock construction marker and had no consumers other than its own passthrough. Descriptive text for a bundled model lives on the bundle SPI instead (seeksl.app.bundle.KSLModelBundle.description,ksl.app.bundle.KSLBundledModel.description, and the optionalMETA-INF/ksl/bundle.tomlfile).inputNames is now a computed property derived from controls and rvParameterData (it contained no independent information).
outputDirectorywas runtime filesystem state rather than model configuration and had no consumers that read it back from a descriptor.
Parameters
user-assigned identifier for the model
assigned name of the model (unique within the element hierarchy)
names of all responses registered in the model
model-intrinsic run-parameter defaults; see ksl.controls.experiments.ExperimentRunDefaults
snapshot of all controls extracted from the model element graph, spanning numeric (ksl.controls.ControlData), string (ksl.controls.StringControlData), and JSON (ksl.controls.JsonControlData) families
random variable parameter data extracted from the model
optional Map<String, String> of model configuration settings
base time unit for the model
optional author-curated catalog of nominated inputs and outputs (see ModelCatalog); null when the model developer nominated nothing. Applications may use it to focus their UX but must not depend on its presence.
Constructors
Properties
Backward-compatible access to numeric controls as a flat list. Equivalent to controls.numericControls.
The names of all numerically settable inputs: numeric control keys plus random variable parameter keys. Derived from controls and rvParameterData; not stored separately.
Regroups the flat rvParameterData DTOs into the nested map form that ksl.utilities.random.rvariable.parameters.RVParameterSetter.changeParameters expects.