Package-level declarations
Types
Analysis types the comparison analyzer can produce. Each one has its own validation rule against the current selection — see ComparisonSelectionModel.validateForResponse.
Scenario-host adapter that exposes a completed scenario sweep — the RunResult.BatchCompleted surfaced through whichever controller owns lastResult — as a ComparisonDataSourceIfc for the comparison analyzer UI.
Read-only access to a collection of "experiments" whose per-replication response observations can be pulled for cross-experiment comparison analyses (box plots, multiple- comparison analysis, confidence-interval plots).
Shared mutable state for the comparison analyzer's experiments-first workflow.
One experiment exposed by a ComparisonDataSourceIfc.
Test fixture implementation of ComparisonDataSourceIfc backed by an in-memory map. Used by the substrate's own tests and available to any host (Swing, web, CLI, headless) that wants to drive a comparison UI without spinning up a real run.
Database-backed adapter exposing the experiments stored in a KSLDatabase as a ComparisonDataSourceIfc — the third member of the comparison-source family alongside InMemoryComparisonSource (test fixture / programmatic use) and BatchCompletedComparisonSource (live scenario-sweep result).
Distinguishes the three kinds of measurable model elements whose per-replication values are eligible for cross-experiment comparison.
One response / counter exposed by an ExperimentRow.
Result of pre-flight validation for a given (selection, analysis) pair. When ok is false, reason carries a short user-facing explanation; the host's Generate affordance disables with this text shown as a tooltip / status line.
Functions
Experiments in this list that record a response named responseName. Used to drive the "Recorded by N of M" column in the response table and to define the participant set for each render.
Union of responses across this list of experiments, sorted by name with no duplicates. When two experiments record a response under the same name but different categories (rare; usually indicates a model schema collision), the first occurrence wins — the UI can surface the discrepancy separately if needed.