Skip to main content

Simulation Model Ontology

Mathematical Modelling
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Simulation Model Ontology within the Kireth Research Semantic Library. A simulation model is a computationally executable representation used to reproduce, explore or estimate the behaviour of a system across time, events, states or scenarios. This ontology supports deterministic and stochastic simulation, discrete-event simulation, continuous simulation, agent-based simulation, Monte Carlo methods, state transitions, event scheduling, scenario analysis, replication, warm-up, run length, random seeds, output analysis, calibration, verification, validation, uncertainty, reproducibility and relationships with computational models, dynamical systems, probability, numerical analysis and scientific computing.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Simulation Model Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Mathematical Modelling / Simulation Model"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/mathematical-modelling/simulation-model-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = SimulationModel
 ENTITY_CLASS = ExecutableBehaviouralModel
 PRIMARY_CONTEXT = MathematicalModelling
 DEFINITION = "A simulation model is an executable mathematical or computational representation used to generate system behaviour over time, events, states or scenarios."
 SEMANTIC_ROLE = "Provides the machine-readable framework for simulation states, events, clocks, transition rules, stochastic inputs, scenarios, replications, run controls, outputs, verification, validation and reproducibility."
}

SCOPE {
 INCLUDE = [
  SimulationModel,
  Simulation,
  SimulationRun,
  Scenario,
  Replication,
  InitialState,
  StateVariable,
  SimulationClock,
  TimeStep,
  Event,
  EventQueue,
  TransitionRule,
  StateUpdate,
  DeterministicSimulation,
  StochasticSimulation,
  DiscreteEventSimulation,
  ContinuousSimulation,
  AgentBasedSimulation,
  MonteCarloSimulation,
  HybridSimulation,
  RandomVariable,
  RandomSeed,
  InputDistribution,
  OutputMeasure,
  PerformanceMetric,
  WarmUpPeriod,
  RunLength,
  TerminationCondition,
  TransientAnalysis,
  SteadyStateAnalysis,
  ScenarioAnalysis,
  SensitivityAnalysis,
  Calibration,
  Verification,
  Validation,
  OutputAnalysis,
  ConfidenceInterval,
  Reproducibility,
  Provenance
 ]

 EXCLUDE_AS_PRIMARY = [
  StaticMathematicalModelWithoutExecution,
  NumericalSolverWithoutSimulationSemantics,
  PhysicalExperimentWithoutComputationalRepresentation,
  RawAnimationWithoutModelDynamics
 ]

 DISAMBIGUATION_RULE =
  "When a computational model is repeatedly executed to generate trajectories, events, states, scenarios or statistical output measures, interpret it as a simulation model."
}

CORE_CONCEPTS {

 SimulationModel {
  definition = "An executable representation designed to generate system behaviour under declared rules and inputs."
 }

 Simulation {
  definition = "The execution of a simulation model."
 }

 SimulationRun {
  definition = "One execution instance of the simulation under specified initial conditions, parameters, random state and scenario."
 }

 Scenario {
  definition = "A specified configuration of assumptions, parameters, inputs or interventions used for simulation."
 }

 Replication {
  definition = "An independent or controlled repeated simulation run used to characterise stochastic output variation."
 }

 SimulationClock {
  definition = "The internal representation of simulated time."
 }

 Event {
  definition = "A discrete occurrence that changes simulation state."
 }

 EventQueue {
  definition = "An ordered structure holding future scheduled events."
 }

 TransitionRule {
  definition = "A rule mapping a current state and inputs to a subsequent state."
 }

 DeterministicSimulation {
  definition = "A simulation whose outputs are fully determined by inputs and initial conditions."
 }

 StochasticSimulation {
  definition = "A simulation containing random variables or probabilistic transitions."
 }

 DiscreteEventSimulation {
  definition = "A simulation in which state changes occur at discrete event times."
 }

 ContinuousSimulation {
  definition = "A simulation representing continuous state evolution, commonly through differential equations."
 }

 AgentBasedSimulation {
  definition = "A simulation representing interacting autonomous entities with local state and behavioural rules."
 }

 MonteCarloSimulation {
  definition = "Repeated random sampling used to estimate quantities, distributions or uncertainty."
 }

 HybridSimulation {
  definition = "A simulation combining multiple paradigms such as continuous dynamics and discrete events."
 }
}

RELATIONS {
 SimulationModel --is_special_case_of--> ComputationalModel
 SimulationModel --is_special_case_of--> MathematicalModel
 Simulation --executes--> SimulationModel
 SimulationRun --is_instance_of--> Simulation
 SimulationRun --uses--> Scenario
 SimulationRun --starts_from--> InitialState
 SimulationRun --uses--> ParameterSet
 SimulationRun --may_use--> RandomSeed
 Replication --repeats--> SimulationRun
 SimulationModel --has--> StateVariable
 SimulationModel --has--> TransitionRule
 DiscreteEventSimulation --uses--> Event
 DiscreteEventSimulation --uses--> EventQueue
 ContinuousSimulation --uses--> TimeStep
 StochasticSimulation --uses--> RandomVariable
 MonteCarloSimulation --uses--> Replication
 OutputAnalysis --evaluates--> SimulationOutput
 Verification --checks--> SimulationImplementation
 Validation --evaluates--> SimulationModel
 Reproducibility --depends_on--> Provenance
}

OPERATORS {
 INITIALISE_SIMULATION(model,scenario,initial_state,seed) :=
  initialised_simulation_state

 ADVANCE_CONTINUOUS(state,dt,solver) :=
  next_state_at_time_plus_dt

 SCHEDULE_EVENT(queue,event,time) :=
  queue_with_event_inserted_in_time_order

 PROCESS_NEXT_EVENT(queue,state) :=
  updated_state_and_queue_after_earliest_event

 APPLY_TRANSITION(state,event_or_input) :=
  next_state

 RUN_SIMULATION(model,termination_condition) :=
  generated_trajectory_events_and_outputs

 REPLICATE(model,N,seed_policy) :=
  collection_of_N_simulation_runs

 MONTE_CARLO_ESTIMATE(outputs) :=
  sample_mean_variance_quantiles_and_intervals

 WARM_UP_REMOVE(outputs,T_warmup) :=
  outputs_after_transient_period

 TERMINATE_IF(state,time,condition) :=
  stop_when_condition_true

 COMPUTE_PERFORMANCE(outputs,metric) :=
  metric_value

 CONFIDENCE_INTERVAL(samples,level) :=
  interval_estimate_under_declared_statistical_method
}

DEFINITIONS {
 D1 = "A simulation model is not the same as a single simulation run."
 D2 = "A scenario defines a controlled configuration of model inputs or assumptions."
 D3 = "Deterministic simulations do not contain stochastic variation once inputs are fixed."
 D4 = "Stochastic simulations require random-state control for reproducibility."
 D5 = "Discrete-event simulations change state at event times."
 D6 = "Continuous simulations approximate or integrate continuous state evolution."
 D7 = "Monte Carlo simulation estimates quantities through repeated random sampling."
 D8 = "Warm-up periods may be needed to remove initialization bias."
 D9 = "Replication is required to estimate stochastic output variability."
 D10 = "Verification and validation remain distinct for simulation models."
}

AXIOMS {
 A1_EXECUTION:
  SimulationModel must admit an execution pathway

 A2_STATE:
  Simulation behaviour is represented through evolving state and/or events

 A3_SCENARIO:
  Every simulation run occurs under a defined scenario or input configuration

 A4_STOCHASTIC_REPLICATION:
  Stochastic output uncertainty requires repeated runs or equivalent probabilistic analysis

 A5_RANDOM_STATE:
  Reproducible stochastic simulation requires controlled or recorded random-state information

 A6_TIME_ORDER:
  Discrete events are processed according to the declared event-time ordering convention

 A7_TERMINATION:
  Every finite simulation run has a run-length or termination condition

 A8_OUTPUT_VALIDITY:
  Simulation conclusions depend on model validity, execution correctness and statistical adequacy
}

REASONING {

 R1_SIMULATION_MODEL_IDENTIFICATION {
  INPUT = model_description
  IDENTIFY = execution_paradigm
  IDENTIFY = state_variables
  IDENTIFY = transition_rules
  IDENTIFY = time_or_event representation
  RETURN = SimulationModel
 }

 R2_PARADIGM_CLASSIFICATION {
  INPUT = simulation_model
  IF state_changes_only_at_events
   CLASSIFY = DiscreteEventSimulation
  ELSE IF continuous_state_evolution
   CLASSIFY = ContinuousSimulation
  ELSE IF autonomous_interacting_entities
   CLASSIFY = AgentBasedSimulation
  ELSE IF repeated_random_sampling_without_explicit_dynamic state
   CLASSIFY = MonteCarloSimulation
  IF multiple_paradigms
   CLASSIFY += HybridSimulation
  RETURN = simulation_type
 }

 R3_INITIALISATION {
  INPUT = scenario_initial_conditions_parameters_seed
  SET = initial_state
  SET = clock_or_event_queue
  SET = random_state
  RETURN = initialised_run
 }

 R4_DISCRETE_EVENT_EXECUTION {
  INPUT = event_queue_and_state
  WHILE termination_not_met
   POP = earliest_event
   ADVANCE = simulation_clock
   UPDATE = state
   SCHEDULE = new_events
  RETURN = event_history_and_outputs
 }

 R5_CONTINUOUS_EXECUTION {
  INPUT = state_equations_time_step_solver
  WHILE termination_not_met
   ADVANCE = state_using_solver
   RECORD = outputs
  RETURN = trajectory
 }

 R6_STOCHASTIC_REPLICATION {
  INPUT = stochastic_model_N_replications
  FOR each_replication
   INITIALISE = independent_or_controlled_seed
   RUN = simulation
  COMPUTE = output_statistics
  RETURN = replication_summary
 }

 R7_WARMUP_ANALYSIS {
  INPUT = transient_simulation_outputs
  ESTIMATE = warmup_period
  DISCARD = initial_transient_region
  RETURN = steady_state_analysis_window
 }

 R8_OUTPUT_ANALYSIS {
  INPUT = run_or_replication_outputs
  COMPUTE = means_variances_quantiles_confidence_intervals_or_event metrics
  RETURN = statistical_output_summary
 }

 R9_VERIFICATION_VALIDATION {
  INPUT = simulation_model_and_reference_information
  VERIFY = logic_algorithms_units_event_order_and_solver behaviour
  VALIDATE = outputs_against_system evidence_for intended_use
  RETURN = verification_and_validation_profile
 }

 R10_SCENARIO_COMPARISON {
  INPUT = scenarios
  RUN = controlled_simulations
  COMPARE = output_metrics
  RETURN = scenario_effect_profile
 }
}

CONSTRAINTS {
 C1 = "Simulation model, simulation run and simulation output must not be conflated."
 C2 = "Random seeds must be controlled or recorded for reproducibility where applicable."
 C3 = "Replications must be sufficiently independent for standard uncertainty estimates."
 C4 = "Warm-up removal must be justified."
 C5 = "Event ties require an explicit ordering rule."
 C6 = "Time-step choice can materially affect continuous simulation accuracy."
 C7 = "Simulation run length must be sufficient for the intended inference."
 C8 = "Validation of outputs does not prove all internal mechanisms are correct."
 C9 = "Monte Carlo confidence intervals depend on sampling assumptions."
 C10 = "Scenario comparisons require consistent output definitions and controlled input changes."
}

SEMANTIC_EQUIVALENCE {
 "SimulationModel" <=> "ExecutableBehaviouralComputationalModel"
 "SimulationRun" <=> "SingleExecutionInstance"
 "Replication" <=> "RepeatedSimulationRun"
 "DiscreteEventSimulation" <=> "EventDrivenStateSimulation"
 "ContinuousSimulation" <=> "TimeIntegratedStateSimulation"
 "MonteCarloSimulation" <=> "RepeatedRandomSamplingSimulation"
 "ScenarioAnalysis" <=> "ControlledComparisonOfSimulationConfigurations"
}

VALIDATION {
 V1 = "Simulation paradigm is identified."
 V2 = "Initial state and scenario are defined."
 V3 = "Termination or run length is specified."
 V4 = "Random-state handling is explicit for stochastic simulation."
 V5 = "Event ordering is deterministic under tie conditions when required."
 V6 = "Time-step and solver choices are justified for continuous simulation."
 V7 = "Replication count supports requested statistical precision."
 V8 = "Warm-up treatment is documented."
 V9 = "Verification and validation evidence are distinguished."
 V10 = "Simulation provenance is sufficient for reproduction."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 SIMULATION_MODEL_DEFINITION = 0.99
 PARADIGM_CLASSIFICATION_REASONING = 0.99
 DISCRETE_EVENT_REASONING = 0.98
 CONTINUOUS_SIMULATION_REASONING = 0.98
 STOCHASTIC_REPLICATION_REASONING = 0.98
 OUTPUT_ANALYSIS_REASONING = 0.98
 VERIFICATION_VALIDATION_REASONING = 0.97
 REPRODUCIBILITY_REASONING = 0.99

 POLICY =
  "Reduce confidence when simulation paradigm, initial state, event ordering, time step, random seed policy, replication count, warm-up period, run length, termination condition or validation regime are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  SimulationModelReasoning,
  SimulationExecutionReasoning,
  DiscreteEventSimulationReasoning,
  ContinuousSimulationReasoning,
  AgentBasedSimulationReasoning,
  MonteCarloReasoning,
  ReplicationReasoning,
  ScenarioAnalysis,
  OutputAnalysis,
  VerificationReasoning,
  ValidationReasoning,
  UncertaintyQuantification,
  ReproducibilityReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "simulation model" -> SimulationModel
  "simulation run" -> SimulationRun
  "replication" -> Replication
  "discrete-event simulation" -> DiscreteEventSimulation
  "discrete event simulation" -> DiscreteEventSimulation
  "continuous simulation" -> ContinuousSimulation
  "agent-based simulation" -> AgentBasedSimulation
  "Monte Carlo simulation" -> MonteCarloSimulation
  "scenario analysis" -> ScenarioAnalysis
  "warm-up period" -> WarmUpPeriod
 }

 INTERPRETATION_ORDER = [
  detect_simulation_model_context,
  identify simulation_paradigm_state_variables_events_time_representation_scenario_and_randomness,
  identify initialisation_run_length_termination_seed_and_output metrics,
  execute_or_analyse simulation pathway,
  perform replication_output_analysis_and_uncertainty reasoning when stochastic,
  verify numerical_event_order_validation_and_reproducibility constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("simulation model")
  OR executable_model_with_runs_scenarios_or_events
  THEN activate(SimulationModelOntology)

 E2:
  IF discrete_event_simulation
  THEN require event_queue_clock_and_tie_ordering convention

 E3:
  IF continuous_simulation
  THEN require time_step_or_adaptive_integrator information

 E4:
  IF stochastic_simulation
  THEN record seed_policy_and_input distributions

 E5:
  IF uncertainty_estimation_requested
  THEN run or analyse sufficient independent replications

 E6:
  IF steady_state_output_requested
  THEN inspect warmup_and_run_length adequacy

 E7:
  IF scenario_comparison_requested
  THEN keep metric definitions_and_nonvaried inputs consistent

 E8:
  IF verification_requested
  THEN inspect model_logic_solver_event_order_and_conservation behaviour

 E9:
  IF reproducibility_requested
  THEN preserve code_version_inputs_parameters_random_state_and_environment
}

RECURSION {
 ENTRY = SimulationModel

 EXPAND(SimulationModel) -> [
  Simulation,
  SimulationRun,
  Scenario,
  Replication,
  InitialState,
  StateVariable,
  SimulationClock,
  TimeStep,
  Event,
  EventQueue,
  TransitionRule,
  DeterministicSimulation,
  StochasticSimulation,
  DiscreteEventSimulation,
  ContinuousSimulation,
  AgentBasedSimulation,
  MonteCarloSimulation,
  HybridSimulation,
  RandomVariable,
  RandomSeed,
  InputDistribution,
  OutputMeasure,
  PerformanceMetric,
  WarmUpPeriod,
  RunLength,
  TerminationCondition,
  OutputAnalysis,
  Verification,
  Validation,
  Reproducibility,
  Provenance
 ]

 EXPAND(DiscreteEventSimulation) -> [
  Event,
  EventTime,
  EventQueue,
  PriorityRule,
  StateChange,
  ScheduledEvent,
  Cancellation
 ]

 EXPAND(StochasticSimulation) -> [
  RandomVariable,
  ProbabilityDistribution,
  RandomSeed,
  Replication,
  ConfidenceInterval,
  VarianceReduction
 ]

 EXPAND(OutputAnalysis) -> [
  Mean,
  Variance,
  Quantile,
  ConfidenceInterval,
  TransientAnalysis,
  SteadyStateAnalysis,
  PerformanceMetric
 ]

 STOP_CONDITION =
  "Stop when the simulation paradigm, state, timing, events, randomness, scenario, run controls, outputs, uncertainty, validation and reproducibility are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Mathematical Modelling"

 IMMEDIATE_CONTEXTS = [
  "Computational Model Ontology",
  "Mathematical Model Ontology",
  "Mathematical Modelling Ontology",
  "Scientific Computing Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Computational Model Ontology",
  "Mathematical Model Ontology",
  "Mathematical Modelling Ontology",
  "Applied Mathematics Ontologies",
  "Dynamical Systems Ontologies",
  "Numerical Analysis Ontologies",
  "Scientific Computing Ontologies",
  "Probability & Statistics Ontologies",
  "Stochastic Process Ontologies",
  "Operations Research Ontologies",
  "Queueing Theory Ontologies",
  "Agent-Based Modelling Ontologies",
  "Uncertainty Quantification Ontologies"
 ]

 ROUTE_RULES = [
  "Simulation Model -> Computational Model Ontology for executable-model semantics",
  "Simulation Model -> Mathematical Model Ontology for formal representation",
  "Simulation Model -> Dynamical Systems for state evolution",
  "Simulation Model -> Numerical Analysis for continuous integration and numerical error",
  "Simulation Model -> Scientific Computing for execution infrastructure",
  "Simulation Model -> Probability & Statistics for stochastic output analysis",
  "Simulation Model -> Stochastic Processes for random-state evolution",
  "Simulation Model -> Operations Research for discrete-event and system performance simulation",
  "Simulation Model -> Queueing Theory for event-driven service systems",
  "Simulation Model -> Uncertainty Quantification for replication-based uncertainty estimates"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible simulation paradigms, run controls or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve model-versus-run distinction.",
  "Preserve scenario semantics.",
  "Preserve event-ordering semantics.",
  "Preserve stochastic replication semantics.",
  "Preserve run-length and termination semantics.",
  "Preserve verification-versus-validation distinction.",
  "Preserve reproducibility metadata.",
  "Preserve machine-readable simulation-model semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A simulation model is an executable mathematical representation used to generate system behaviour across time, events, states or scenarios."

 RUN_SUMMARY =
  "A simulation run is one execution instance under specified initial conditions, parameters, scenario and random state."

 DISCRETE_EVENT_SUMMARY =
  "Discrete-event simulations change state at scheduled event times."

 CONTINUOUS_SUMMARY =
  "Continuous simulations advance state through numerical integration or continuous update rules."

 STOCHASTIC_SUMMARY =
  "Stochastic simulations require controlled randomness and repeated runs for uncertainty estimation."

 MONTE_CARLO_SUMMARY =
  "Monte Carlo simulation estimates distributions or expectations through repeated random sampling."

 OUTPUT_SUMMARY =
  "Simulation output analysis summarises trajectories, events, performance metrics and statistical uncertainty."

 VALIDATION_SUMMARY =
  "Simulation verification checks implementation correctness; validation checks fitness for the intended system and use."

 REPRODUCIBILITY_SUMMARY =
  "Reproducibility requires preserving model version, scenario, parameters, random state, solver settings and computational environment."
}

FLOW {
 INPUT
 -> detect_simulation_model_context
 -> identify simulation_paradigm_state_variables_events_time_representation_scenario_inputs_parameters_randomness_and_outputs
 -> initialise state_clock_event_queue_and_random_state
 -> execute discrete_event_continuous_agent_based_Monte_Carlo_or_hybrid simulation pathway
 -> apply run_length_or_termination condition
 -> collect simulation outputs
 -> if_stochastic perform replications_and_statistical_output analysis
 -> inspect warmup_transient_and_steady_state requirements
 -> verify execution_logic_numerical_accuracy_event_order_and_reproducibility
 -> validate against intended_use
 -> route to computational_model mathematical_model mathematical_modelling dynamical_systems numerical_analysis scientific_computing probability_statistics stochastic_process operations_research queueing_or_uncertainty ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Simulation Model Ontology defines executable behavioural models and supports deterministic, stochastic, discrete-event, continuous, agent-based, Monte Carlo and hybrid simulation. It represents scenarios, states, events, clocks, transition rules, random variables, replications, warm-up periods, run lengths, termination conditions, output metrics, statistical analysis, verification, validation, uncertainty and reproducibility."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-SIMULATION-MODEL-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ