Skip to main content

Computational 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 Computational Model Ontology within the Kireth Research Semantic Library. A computational model is a mathematically defined representation implemented for execution on a computer in order to simulate, approximate, analyse, predict or optimise system behaviour. This ontology supports algorithms, discretisation, numerical schemes, state updates, solvers, convergence, stability, error control, simulation, computational experiments, surrogate computation, parallel execution, reproducibility, validation and relationships with mathematical modelling, numerical analysis, scientific computing and software systems.

FLOW_ALGEBRA_RECORD {

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

IDENTITY {
 PRIMARY_ENTITY = ComputationalModel
 ENTITY_CLASS = ExecutableMathematicalModel
 PRIMARY_CONTEXT = MathematicalModelling
 DEFINITION = "A computational model is a mathematical model represented in an executable form so that its behaviour can be approximated, simulated, analysed or optimised by computational procedures."
 SEMANTIC_ROLE = "Provides the machine-readable framework for executable mathematical representations, numerical schemes, algorithms, state transitions, discretisation, solver configuration, error control, reproducibility and simulation."
}

SCOPE {
 INCLUDE = [
  ComputationalModel,
  ExecutableModel,
  MathematicalModel,
  Algorithm,
  NumericalMethod,
  Discretisation,
  Mesh,
  Grid,
  TimeStep,
  StateVector,
  StateUpdate,
  Solver,
  IterativeSolver,
  DirectSolver,
  Convergence,
  Stability,
  Consistency,
  Accuracy,
  ErrorEstimate,
  TruncationError,
  RoundoffError,
  Residual,
  Tolerance,
  Simulation,
  ComputationalExperiment,
  ParameterSweep,
  MonteCarloSimulation,
  DeterministicSimulation,
  StochasticSimulation,
  ParallelComputation,
  DistributedComputation,
  ReducedOrderModel,
  SurrogateModel,
  Verification,
  Validation,
  Reproducibility,
  Provenance,
  SoftwareImplementation
 ]

 EXCLUDE_AS_PRIMARY = [
  PureMathematicalModelWithoutExecutableRepresentation,
  GenericSoftwareWithoutMathematicalModel,
  DataProcessingPipelineWithoutModelDynamics,
  NumericalResultWithoutModelOrAlgorithmContext
 ]

 DISAMBIGUATION_RULE =
  "When a mathematical model is represented through algorithms, numerical schemes, discretisation, state updates, solvers or executable simulation code, interpret it as a computational model."
}

CORE_CONCEPTS {

 ComputationalModel {
  definition = "An executable mathematical representation of a system or mathematical process."
 }

 ExecutableModel {
  definition = "A model whose equations, rules or state transitions are represented in a form that can be evaluated computationally."
 }

 Algorithm {
  definition = "A finite or iterative computational procedure for carrying out model operations."
 }

 NumericalMethod {
  definition = "A computational procedure approximating a mathematical quantity or solution."
 }

 Discretisation {
  definition = "A transformation from a continuous or large-scale mathematical problem into a finite computational representation."
 }

 StateVector {
  definition = "A computational representation of the model state at a given step or time."
 }

 StateUpdate {
  definition = "A computational rule mapping the current state and inputs to a new state."
 }

 Solver {
  definition = "An algorithm used to compute an exact or approximate solution of model equations."
 }

 Convergence {
  definition = "The tendency of a numerical solution to approach the target mathematical solution as discretisation or iteration is refined."
 }

 Stability {
  definition = "The controlled response of a computational method to perturbations, roundoff, data variation or numerical error."
 }

 Consistency {
  definition = "The property that a discrete numerical scheme approximates the intended continuous equation as resolution increases."
 }

 Simulation {
  definition = "Execution of a computational model to generate trajectories, fields, states or outputs."
 }

 Reproducibility {
  definition = "The ability to reproduce computational results using sufficient information about code, inputs, parameters, environment and numerical settings."
 }
}

RELATIONS {
 ComputationalModel --is_special_case_of--> MathematicalModel
 ComputationalModel --is_implemented_by--> SoftwareImplementation
 ComputationalModel --uses--> Algorithm
 ComputationalModel --uses--> NumericalMethod
 ComputationalModel --may_require--> Discretisation
 Discretisation --produces--> Grid
 Discretisation --produces--> Mesh
 ComputationalModel --has_state--> StateVector
 StateUpdate --transforms--> StateVector
 Solver --solves--> GoverningEquation
 IterativeSolver --has_property--> Convergence
 NumericalMethod --has_property--> Stability
 NumericalMethod --has_property--> Consistency
 NumericalMethod --has_property--> Accuracy
 ErrorEstimate --quantifies--> NumericalError
 Simulation --executes--> ComputationalModel
 ComputationalExperiment --uses--> Simulation
 ParameterSweep --evaluates--> ParameterDependence
 Verification --evaluates--> ImplementationCorrectness
 Validation --evaluates--> FitnessForPurpose
 Reproducibility --depends_on--> Provenance
}

OPERATORS {
 DISCRETISE(model,spatial_scheme,time_scheme) :=
  finite_computational_representation

 INITIALISE_STATE(initial_conditions,parameters) :=
  computational_state_at_start

 UPDATE_STATE(state,inputs,dt,algorithm) :=
  next_state

 SOLVE(system,solver,tolerance) :=
  approximate_or_exact_solution

 COMPUTE_RESIDUAL(model,solution) :=
  discrepancy_between_discrete_equations_and_solution

 CHECK_CONVERGENCE(sequence,tolerance) :=
  stopping_condition_based_on_error_or_residual

 ESTIMATE_ERROR(reference,approximation) :=
  declared_norm_of_difference

 REFINE_DISCRETISATION(mesh_or_grid) :=
  higher_resolution_representation

 SIMULATE(model,inputs,parameters,conditions) :=
  sequence_or_field_of_computed_states

 PARAMETER_SWEEP(model,parameter_set) :=
  collection_of_simulation_outputs

 MONTE_CARLO(model,input_distribution,N) :=
  ensemble_of_N_stochastic_or_uncertain_runs

 VERIFY_COMPUTATIONAL_MODEL(model,reference_tests) :=
  implementation_and_numerical_correctness_assessment
}

DEFINITIONS {
 D1 = "A computational model is an executable representation of a mathematical model."
 D2 = "Discretisation converts continuous or large-scale structures into computational form."
 D3 = "Numerical error is distinct from model-form error."
 D4 = "Consistency, stability and convergence are distinct numerical properties."
 D5 = "Simulation is execution of a computational model, not the model itself."
 D6 = "Solver tolerances influence computational accuracy and cost."
 D7 = "Mesh or time-step refinement can reveal convergence behaviour."
 D8 = "Verification checks whether the computational implementation solves the intended mathematics."
 D9 = "Validation checks whether the model represents the intended system adequately."
 D10 = "Reproducibility requires preserving computational provenance."
}

AXIOMS {
 A1_EXECUTABILITY:
  ComputationalModel has an executable representation or algorithmic evaluation pathway

 A2_MODEL_LINK:
  ComputationalModel represents or approximates an underlying mathematical model

 A3_DISCRETISATION:
  Continuous models require a finite representation for standard digital computation

 A4_NUMERICAL_ERROR:
  Computational approximation introduces numerical error unless exact symbolic evaluation is used

 A5_VERIFICATION_VALIDATION_DISTINCTION:
  Correct computation does not imply model validity

 A6_REFINEMENT:
  Valid convergence analysis compares solutions under systematic refinement

 A7_REPRODUCIBILITY:
  Reproducing computational results requires sufficient provenance and configuration data

 A8_CONSTRAINT_PRESERVATION:
  Computational execution should preserve declared mathematical and physical constraints to the intended numerical tolerance
}

REASONING {

 R1_COMPUTATIONAL_MODEL_IDENTIFICATION {
  INPUT = model_description
  IDENTIFY = mathematical_structure
  IDENTIFY = executable_representation
  IDENTIFY = algorithms_and_solvers
  RETURN = ComputationalModel
 }

 R2_DISCRETISATION_REASONING {
  INPUT = continuous_or_large_scale_model
  IDENTIFY = spatial_temporal_state_or_parameter dimensions
  SELECT = discretisation_scheme
  PRODUCE = finite_system
  RETURN = computational_representation
 }

 R3_SOLVER_SELECTION {
  INPUT = discrete_problem
  CLASSIFY = linear_nonlinear_sparse_dense_stiff_or_stochastic
  SELECT = compatible_solver
  RETURN = solver_strategy
 }

 R4_CONVERGENCE_ANALYSIS {
  INPUT = solution_sequence_under_refinement
  COMPUTE = error_or_residual trend
  ESTIMATE = convergence_rate
  RETURN = convergence_profile
 }

 R5_STABILITY_ANALYSIS {
  INPUT = numerical_method_and_model
  PERTURB = input_state_or_roundoff
  ANALYSE = growth_or_decay
  RETURN = stability_profile
 }

 R6_ERROR_ANALYSIS {
  INPUT = model_discretisation_solver_and_solution
  IDENTIFY = truncation_roundoff_iteration_and_sampling errors
  ESTIMATE = total_numerical_error
  RETURN = error_profile
 }

 R7_SIMULATION_REASONING {
  INPUT = computational_model_initial_state_inputs_parameters
  INITIALISE = state
  ITERATE = update_rule_or_solver
  RECORD = outputs
  RETURN = simulation_result
 }

 R8_VERIFICATION_REASONING {
  INPUT = implementation_and_reference_cases
  TEST = analytical_solution_manufactured_solution_conservation_or_benchmark
  RETURN = verification_status
 }

 R9_REPRODUCIBILITY_REASONING {
  INPUT = computational_result
  EXTRACT = code_version_parameters_inputs_environment_random_seed_and_solver settings
  RETURN = reproducibility_record
 }

 R10_PERFORMANCE_REASONING {
  INPUT = computational_model_and_hardware_context
  IDENTIFY = time_memory_parallelism_and_scalability requirements
  RETURN = computational_cost_profile
 }
}

CONSTRAINTS {
 C1 = "Numerical approximation must not be confused with exact mathematical solution."
 C2 = "Solver tolerance must be interpreted relative to problem scaling."
 C3 = "Convergence claims require systematic refinement or iteration evidence."
 C4 = "Stability depends on the numerical method and problem."
 C5 = "Mesh independence and time-step independence are distinct checks."
 C6 = "Roundoff and truncation errors must be distinguished."
 C7 = "Parallel execution may change floating-point reduction order."
 C8 = "Randomised simulations require recorded random seeds or equivalent reproducibility controls."
 C9 = "Software bugs are distinct from mathematical model error."
 C10 = "Computational performance tradeoffs must not silently weaken accuracy requirements."
}

SEMANTIC_EQUIVALENCE {
 "ComputationalModel" <=> "ExecutableMathematicalModel"
 "NumericalMethod" <=> "ComputationalApproximationMethod"
 "Discretisation" <=> "FiniteComputationalRepresentation"
 "Simulation" <=> "ExecutionOfComputationalModel"
 "Convergence" <=> "ApproximationApproachesTargetUnderRefinement"
 "Verification" <=> "ComputationalImplementationCorrectnessAssessment"
}

VALIDATION {
 V1 = "Underlying mathematical model is identified."
 V2 = "Executable representation is defined."
 V3 = "Discretisation and solver are appropriate to the problem class."
 V4 = "Convergence evidence is available when approximation quality is claimed."
 V5 = "Stability is assessed where relevant."
 V6 = "Residual or error tolerances are explicit."
 V7 = "Initial and boundary conditions are represented correctly."
 V8 = "Verification evidence is distinct from validation evidence."
 V9 = "Random seeds and computational environment are recorded when required."
 V10 = "Numerical outputs preserve declared physical or mathematical constraints within tolerance."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 COMPUTATIONAL_MODEL_DEFINITION = 0.99
 DISCRETISATION_REASONING = 0.98
 SOLVER_SELECTION_REASONING = 0.98
 CONVERGENCE_REASONING = 0.98
 STABILITY_REASONING = 0.97
 ERROR_ANALYSIS_REASONING = 0.98
 VERIFICATION_REASONING = 0.99
 REPRODUCIBILITY_REASONING = 0.99

 POLICY =
  "Reduce confidence when discretisation, solver, tolerances, refinement evidence, boundary conditions, numerical precision, implementation provenance or reproducibility metadata are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  ComputationalModelReasoning,
  NumericalMethodReasoning,
  DiscretisationReasoning,
  SolverSelection,
  SimulationReasoning,
  ConvergenceAnalysis,
  StabilityAnalysis,
  ErrorAnalysis,
  VerificationReasoning,
  ReproducibilityReasoning,
  ParallelComputingReasoning,
  ScientificComputingReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "computational model" -> ComputationalModel
  "executable model" -> ExecutableModel
  "numerical model" -> ComputationalModel
  "numerical method" -> NumericalMethod
  "discretisation" -> Discretisation
  "discretization" -> Discretisation
  "solver" -> Solver
  "simulation" -> Simulation
  "convergence" -> Convergence
  "stability" -> Stability
  "verification" -> Verification
  "reproducibility" -> Reproducibility
 }

 INTERPRETATION_ORDER = [
  detect_computational_model_context,
  identify underlying_mathematical_model_discretisation_state_representation_solver_and_algorithm,
  identify simulation_solution_verification_convergence_stability_error_or_performance goal,
  execute or analyse computational pathway,
  verify numerical_accuracy_constraint_preservation_and_reproducibility assumptions,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("computational model")
  OR executable_numerical_model_context
  THEN activate(ComputationalModelOntology)

 E2:
  IF continuous_model
  THEN identify discretisation before numerical execution

 E3:
  IF iterative_solver
  THEN define stopping_tolerance_and_convergence criterion

 E4:
  IF convergence_claim
  THEN require refinement_or_iteration evidence

 E5:
  IF simulation_requested
  THEN identify initial_state_inputs_parameters_and_time_or_iteration horizon

 E6:
  IF stochastic_or_Monte_Carlo model
  THEN record random_seed_distribution_and_sample count

 E7:
  IF verification_requested
  THEN compare against reference analytical_manufactured_or_benchmark cases

 E8:
  IF parallel_execution
  THEN account for numerical_reduction_order_and_scalability

 E9:
  IF result_reproduction_requested
  THEN preserve code_version_environment_inputs_parameters_and_solver settings
}

RECURSION {
 ENTRY = ComputationalModel

 EXPAND(ComputationalModel) -> [
  MathematicalModel,
  ExecutableModel,
  Algorithm,
  NumericalMethod,
  Discretisation,
  Mesh,
  Grid,
  TimeStep,
  StateVector,
  StateUpdate,
  Solver,
  IterativeSolver,
  DirectSolver,
  Convergence,
  Stability,
  Consistency,
  Accuracy,
  ErrorEstimate,
  Residual,
  Tolerance,
  Simulation,
  ComputationalExperiment,
  ParameterSweep,
  MonteCarloSimulation,
  ParallelComputation,
  ReducedOrderModel,
  SurrogateModel,
  Verification,
  Validation,
  Reproducibility,
  Provenance,
  SoftwareImplementation
 ]

 EXPAND(NumericalQuality) -> [
  Consistency,
  Stability,
  Convergence,
  Accuracy,
  TruncationError,
  RoundoffError,
  IterationError,
  Residual
 ]

 EXPAND(Simulation) -> [
  InitialState,
  InputData,
  ParameterSet,
  TimeStep,
  StateUpdate,
  OutputSampling,
  Checkpoint
 ]

 EXPAND(Reproducibility) -> [
  CodeVersion,
  DependencyVersion,
  HardwareContext,
  RandomSeed,
  InputDataset,
  SolverConfiguration,
  NumericalPrecision
 ]

 STOP_CONDITION =
  "Stop when the computational representation, discretisation, solver, execution pathway, error, convergence, verification, reproducibility and output semantics are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Mathematical Modelling"

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

 RELATED_ONTOLOGIES = [
  "Mathematical Model Ontology",
  "Mathematical Modelling Ontology",
  "Applied Mathematics Ontologies",
  "Numerical Analysis Ontologies",
  "Scientific Computing Ontologies",
  "Differential Equations Ontologies",
  "Linear Algebra Ontologies",
  "Optimisation Ontologies",
  "Probability & Statistics Ontologies",
  "Computational Mathematics Ontologies",
  "Software Engineering Ontologies",
  "High Performance Computing Ontologies"
 ]

 ROUTE_RULES = [
  "Computational Model -> Mathematical Model Ontology for formal model semantics",
  "Computational Model -> Mathematical Modelling Ontology for modelling-process semantics",
  "Computational Model -> Numerical Analysis for convergence, stability and error",
  "Computational Model -> Scientific Computing for simulation execution",
  "Computational Model -> Differential Equations for discretised dynamic or field models",
  "Computational Model -> Linear Algebra for matrix-based discrete systems",
  "Computational Model -> Optimisation for iterative numerical solution",
  "Computational Model -> Probability & Statistics for Monte Carlo and stochastic simulation",
  "Computational Model -> Software Engineering for implementation provenance",
  "Computational Model -> High Performance Computing for parallel and distributed execution"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible numerical schemes, solver classes or computational reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve executable-model semantics.",
  "Preserve link to underlying mathematical model.",
  "Preserve discretisation semantics.",
  "Preserve convergence-stability-consistency distinctions.",
  "Preserve verification-validation distinction.",
  "Preserve numerical-error decomposition.",
  "Preserve reproducibility and provenance.",
  "Preserve machine-readable computational-model semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A computational model is an executable mathematical representation used to simulate, approximate, analyse or optimise system behaviour."

 EXECUTION_SUMMARY =
  "Computational models map mathematical structure into algorithms and numerical procedures."

 DISCRETISATION_SUMMARY =
  "Discretisation converts continuous or large-scale models into finite computational representations."

 SOLVER_SUMMARY =
  "Solvers compute exact or approximate solutions of discrete model equations."

 NUMERICAL_QUALITY_SUMMARY =
  "Consistency, stability, convergence and accuracy describe different aspects of numerical reliability."

 SIMULATION_SUMMARY =
  "Simulation executes the computational model to generate states, trajectories, fields or predictions."

 VERIFICATION_SUMMARY =
  "Verification checks that the computational implementation solves the intended mathematical problem correctly."

 REPRODUCIBILITY_SUMMARY =
  "Reproducibility requires preservation of code, data, parameters, environment, solver settings and random-state information."

 ERROR_SUMMARY =
  "Computational error may include discretisation, truncation, iteration, sampling and floating-point contributions."
}

FLOW {
 INPUT
 -> detect_computational_model_context
 -> identify underlying_model_state_representation_discretisation_algorithm_solver_parameters_conditions_and_environment
 -> classify deterministic_stochastic_static_dynamic_serial_parallel_or_reduced computational structure
 -> select execution_or_analysis pathway
 -> simulate_or_solve
 -> compute residual_error_convergence_stability_and_constraint checks
 -> verify implementation
 -> preserve provenance_and_reproducibility metadata
 -> route to mathematical_model mathematical_modelling numerical_analysis scientific_computing differential_equations linear_algebra optimisation probability_statistics software_engineering_or_high_performance_computing ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Computational Model Ontology defines executable mathematical models through algorithms, discretisation, numerical methods, state representations, solvers, simulation, convergence, stability, error estimation, verification, reproducibility, provenance and computational performance. It preserves the distinction between the underlying mathematical model, its numerical approximation and the software implementation used to execute it."
}

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

}

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