Section 9Simulation Runtime

Simulation Kernel and time requirements

Defines authoritative virtual time, deterministic scheduling, multi-rate coupling, checkpoints, and execution semantics.

Section relationships
IDNamePriorityRequirementVerification
TIME-001Authoritative virtual timeMVPThe Simulation Kernel SHALL own the single authoritative simulation time for each world.Inspection
TIME-002Exact drift-free schedulingMVPThe authoritative clock SHALL use bounded integer ticks under a reduced rational SI-second time base, and periodic task activation, phases, and rate relationships SHALL use exact integer or reduced-rational scheduling so floating-point clock drift does not accumulate over a run.Test
TIME-003Multi-rate executionMVPMechanics, controllers, devices, sensors, environment models, and metrics SHALL be schedulable at distinct rates.Test
TIME-004Stable event orderMVPEvents sharing a timestamp SHALL execute in a documented deterministic order.Test
TIME-005Fixed-step mechanicsMVPThe default mechanics profile SHALL support an explicitly configured fixed timestep and substep count.Test
TIME-006Exact single-stepMVPA paused world SHALL advance by exactly one requested kernel or mechanics step without advancing wall-clock-dependent tasks.Test
TIME-007Pause semanticsMVPPausing SHALL stop virtual time while preserving compiled state and queued future events.Test
TIME-008Reset semanticsMVPReset SHALL restore the declared initial world state, time, queues, controller state, device state, sensor state, and random streams.Test
TIME-009CheckpointMVPThe kernel SHALL create a checkpoint containing all state required by its declared checkpoint-resume guarantee.Test
TIME-010RestoreMVPRestoring a supported checkpoint SHALL recreate the declared state and future deterministic behavior.Test
TIME-011Capture and delivery timeMVPSampled data SHALL distinguish physical capture time from delivery time.Test
TIME-012Delay queueMVPLatency models SHALL deliver values according to virtual time rather than wall time in deterministic and throughput modes.Test
TIME-013Real-time pacingBetaThe kernel SHALL support wall-clock pacing with measured offset, jitter, and deadline misses.Test
TIME-014Unpaced throughputMVPHeadless batch execution SHALL be able to advance as fast as resources permit without wall-clock sleeping.Test
TIME-015Missed-deadline policyBetaA real-time integration SHALL declare and enforce a late-data policy such as hold, drop, extrapolate, fault, or stop.Test
TIME-016Coupling macro-stepBetaCoupled domains SHALL exchange committed values only at explicit macro-step or intermediate-update boundaries.Test
TIME-017Interpolation policyBetaEvery continuous cross-domain input SHALL declare sample-and-hold, linear interpolation, extrapolation, or solver-defined behavior.Inspection
TIME-018Rollback capabilityBetaA participant SHALL declare whether it supports checkpoint and rollback; the scheduler SHALL not assume rollback support.Test
TIME-019Topology-change boundaryBetaSpawn, deletion, joint breakage, and other topology changes SHALL occur only at documented safe scheduling boundaries.Test
TIME-020Rendering independenceMVPRendering frame rate and visibility SHALL not determine mechanics, control, sensor, or environment task activation.Test
TIME-021Random-stream isolationMVPEach stochastic component SHALL have an independent deterministic stream so adding an unrelated component does not perturb existing streams.Test
TIME-022Execution-mode declarationMVPEvery run SHALL declare its execution mode and associated determinism guarantee.Inspection
TIME-023No silent step skippingMVPA runtime policy SHALL not skip or merge a scheduled mechanics, device, controller, sensor, or environment activation without recording the affected time interval and reason.Test
TIME-024Coupling algorithm declarationBetaEvery iteratively coupled domain set SHALL declare its coupling algorithm, macro-step, participant order, relaxation, rollback capability, and maximum iterations.Inspection
TIME-025Coupling convergenceBetaAn iterative coupling step SHALL evaluate declared residuals against absolute and relative convergence criteria and report iteration count and final residual.Analysis
TIME-026Coupling nonconvergence policyBetaA coupled run SHALL apply a configured retry, reduced-step, rollback, warn, or fail policy when convergence is not achieved and SHALL never commit an unconverged step silently.Test
TIME-027Coupling refinement evidenceBetaA released coupled profile SHALL document selected-observable and exchanged-energy behavior under macro-step refinement.Analysis
TIME-028Runtime-action orderingBetaThe Simulation Kernel SHALL order accepted runtime actions by requested application time and deterministic sequence and SHALL apply them only at declared safe scheduling boundaries relative to other actions and events.Test
TIME-029Runtime-action atomicityBetaA runtime action SHALL either commit its complete declared mutation at one scheduling boundary or fail without partial state mutation, and its actual application time, order, disposition, and resulting committed-state revision SHALL be exposed.Test
TIME-030Entity-lifecycle actionsBetaThe General Robotics Beta runtime-action profile SHALL support spawning a content-identified compiled entity definition under a new stable identity and deleting a supported entity, subject to deterministic ownership, dependency, and topology validation.Test
TIME-031Constrained state-override actionsBetaThe General Robotics Beta runtime-action profile SHALL support setting pose and other capability-declared mutable committed-state fields using explicit units and frames and a declared policy for dependent velocity, constraint, contact, and solver state.Test
TIME-032Disturbance and fault actionsBetaThe General Robotics Beta runtime-action profile SHALL support scheduled activation, deactivation, or parameterization of compiled disturbances and supported external wrench or fault actions with explicit target, interval, units, frames, bounds, and composition policy.Test

Change rationale (TIME-028TIME-032): TIME-019 constrains topology changes but does not define a native action-admission, ordering, atomicity, or capability profile. These requirements keep mutation of a live world instance under the authoritative kernel, split independently testable action families, and prevent an unjournaled or partially applied external-supervisor path.

Change rationale (TIME-002, v0.7): ADR-0006 resolves the clock representation direction needed to make the existing drift-free obligation concrete: authoritative time is an integer tick count under an exact rational time base, while detailed epoch, tick-scale, range, phase, overflow, and sequence-allocation contracts remain owned by the unapproved Simulation Time and Coupling Specification.

Generated from the canonical specification. Edit section metadata or prose in docs/requirements.md; the website rebuilds this page and its relationships automatically.