Scenario Spec
Serialisable specification for a single scenario in a scenarios document.
Each scenario is self-contained: it carries its own modelReference (which model from which bundle), its own partial overrides relative to that model's defaults, and its own name. There is no inheritance from a document-level "parent" — RunConfiguration is a thin container that holds bundle references and the list of scenarios; it does not own defaults that scenarios fall back to.
Override semantics are uniform across all four override surfaces:
runOverrides — partial run-parameter overrides;
nullmeans "use the model'sExperimentRunDefaultsfor every field." Non-nulloverlays only the fields the user set.controlOverrides — control-key → value overrides for the model's declared controls (numeric / string / JSON); an empty export means no overrides.
rvOverrides — per-RV-parameter overrides; an empty list means no overrides.
modelConfiguration — optional
Map<String, String>forwarded to the bundle author'sModelBuilderIfc.build(...);nullmeans no map is supplied (distinct from an empty map, which is supplied but contains nothing).
ksl.app.orchestrator.ScenarioOrchestrator.buildScenario resolves this spec at submit time by:
Resolving modelReference against the document's bundle registry (built from
RunConfiguration.bundleRefs).Computing the runtime ksl.controls.experiments.ExperimentRunParameters as
model.extractRunParameters() + runOverrides.applyTo(...), withexperimentNameset to name.Applying controlOverrides, then rvOverrides.
Honoring skipOnRun (excluded from the runnable set at submit time when
true).
Constructors
Properties
control overrides for this scenario; an empty export (the default) leaves model control values unchanged.
when true, the orchestrator turns on Model.autoExperimentCSVReports for this scenario so across-replication summary statistics are written to the scenario's output directory. Independent of any document-level CSV setting and of enableReplicationCSV. Default false.
when true, the orchestrator turns on Model.autoReplicationCSVReports for this scenario so per-replication response data is written to the scenario's output directory. Independent of any document-level CSV setting and of enableExperimentCSV. Default false.
optional model-construction map forwarded to ModelBuilderIfc.build; null (the default) supplies no map.
which model the scenario runs; the bundled (bundleId, modelId) form is the typical choice (ModelReference.ByBundleAndModelId) when authoring through the GUI; legacy references (ByProviderId / ByJar) are still accepted for programmatic constructions.
per-field run-parameter overrides; null when the scenario inherits every model default.
RV parameter overrides; an empty list (the default) leaves model RV parameters unchanged.