
Simulation Software Engineer
- 28 installs
- 7 repo stars
- Updated May 20, 2026
- daemon-blockint-tech/agentic-enteprises-skill
Design and build simulation systems for complex business scenarios.
About
Simulation-software-engineer provides frameworks for building enterprise simulation systems. Developers use it to model complex processes and predict outcomes.
- Simulation architecture and design
- Scenario modeling and prediction
Simulation Software Engineer by the numbers
- 28 all-time installs (skills.sh)
- Ranked #371 of 596 Debugging skills by installs in the Skillselion catalog
- Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/daemon-blockint-tech/agentic-enteprises-skill --skill simulation-software-engineerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 28 |
|---|---|
| repo stars | ★ 7 |
| Last updated | May 20, 2026 |
| Repository | daemon-blockint-tech/agentic-enteprises-skill ↗ |
What it does
Design and build simulation systems for complex business scenarios.
Files
Simulation Software Engineer
When to Use
- Choose discrete-event vs continuous-time (or hybrid) simulation architecture and time-stepping policy
- Build physics and kinematics models—rigid body, vehicle dynamics, simplified aerodynamics, constraints
- Model sensors and environments—noise, bias, latency, occlusion, weather, terrain, traffic, actors
- Design digital twins and scenario runners—parameterized worlds, replay, batch sweeps, regression suites
- Define SIL/HIL interfaces—stimulus injection, plant models, clock sync, I/O mapping, fault injection hooks (engineering, not security bench)
- Engineer real-time vs faster-than-real-time execution—scheduling, back-pressure, wall-clock coupling
- Implement deterministic replay—seed control, ordering, floating-point policy, record/playback contracts
- Run calibration and validation against logs, flight/field data, or bench measurements with explicit metrics
- Plan Monte Carlo and parameter sweeps—sampling design, coverage, aggregation, failure taxonomy
- Outline distributed simulation—federation concepts, time management, bandwidth/latency budgets (concept level)
- Integrate game-engine or middleware pipelines when simulation rigor (time, sensors, replay) is required
When NOT to Use
- Pure game development without simulation rigor (determinism, validation, SIL/HIL, sensor truth models) → game/graphics skills as appropriate
- Sensor fusion algorithms only—Kalman/graph optimization, track association, estimator tuning without building the sim stack →
sensor-fusion-engineer - Autonomy product stack—perception/planning product code, fleet ops, tactical autonomy delivery →
tactical-ai-autonomy-developer - Bare-metal MCU firmware, ISR/RTOS on chip, driver bring-up →
embedded-real-time-software-engineer - Industrial plant control applications—DCS/PLC scan cycles, OPC UA to historians, BPCS logic →
control-software-developer - Formal proof obligations—theorem proving, certified code, assurance case ownership →
software-assurance-formal-methods-specialist - HIL security testing—authorized bus fault injection, exploit benches, penetration on hardware rigs →
hardware-in-the-loop-security-tester - Service-level profiling, load tests, p99 on servers or browsers without simulation architecture →
performance-engineer
Related skills
| Need | Skill |
|---|---|
| Sensor fusion, estimation, track logic | sensor-fusion-engineer |
| Autonomy product implementation and delivery | tactical-ai-autonomy-developer |
| MCU/RTOS firmware, drivers, WCET on embedded targets | embedded-real-time-software-engineer |
| DCS/PLC control applications and OT integration | control-software-developer |
| HIL security assessment, bus injection for security | hardware-in-the-loop-security-tester |
| Formal methods, proof, assurance cases | software-assurance-formal-methods-specialist |
| Server/UI performance profiling and load tests | performance-engineer |
| OT/ICS plant security and operations | scada-ics-cyber-security-specialist |
| Pre-flight architecture/security/cost validation | build-validator |
Core Workflows
1. Scope, paradigms, and success criteria
Define simulation purpose (V&V, training, design exploration, digital twin), fidelity tiers, and measurable acceptance metrics.
See `references/simulation_software_scope.md`.
2. Time bases, physics, and numerical stability
Select DE/CT/hybrid time management, integrators, stiffness handling, and coordinate frames.
See `references/modeling_time_and_physics.md`.
3. Sensors, environment, and scenarios
Model sensing pipelines, world state, actors, and scenario DSL/runner contracts.
See `references/sensors_environment_and_scenarios.md`.
4. Execution, real-time, and determinism
Schedule sim loops, real-time coupling, record/playback, seeds, and reproducibility policies.
See `references/execution_realtime_and_determinism.md`.
5. Validation, calibration, and metrics
Compare sim to measured data; tune parameters; report uncertainty and regression gates.
See `references/validation_calibration_and_metrics.md`.
6. SIL/HIL, twins, and integration
Map software-in-the-loop and hardware-in-the-loop boundaries, clocks, I/O, and twin synchronization.
See `references/integration_sil_hil_and_twins.md`.
Outputs
- Simulation architecture brief — paradigm (DE/CT/hybrid), time policy, modules, fidelity tiers, risks
- Model catalog — physics, sensors, environment, interfaces, units, assumptions, known gaps
- Scenario specification — parameters, initial conditions, termination, pass/fail metrics, seed policy
- Determinism and replay contract — what is logged, ordering rules, FP policy, version pins
- SIL/HIL interface sheet — signals, rates, latency, clock domains, fault injection points (engineering)
- Validation report — metrics vs ground truth, calibration parameters, residual analysis, regression suite
- Sweep/Monte Carlo plan — sampling design, coverage matrix, aggregation and failure taxonomy
- Distributed sim concept note — federation roles, time management, bandwidth budget (when applicable)
Principles
- Match fidelity to decision — coarse models for exploration; high fidelity only where metrics demand it
- Make time explicit — document clocks, step sizes, event ordering, and real-time coupling assumptions
- Separate truth, sensor, and estimator — ground truth in sim ≠ sensor output ≠ fusion output
- Invest in reproducibility — seeds, deterministic builds, pinned assets, replay contracts before scaling sweeps
- Validate against measurements — calibration is incomplete without stated metrics and holdout data
- Keep security and formal peers in lane — route HIL security and proof obligations to named skills
- Stay NDA-safe — generic patterns only; no contractor names, controlled data, or export-sensitive payloads
When to load references
| Topic | Reference |
|---|---|
| Role boundaries, paradigms, domains | references/simulation_software_scope.md |
| DE/CT time, physics, integrators | references/modeling_time_and_physics.md |
| Sensors, environment, scenarios | references/sensors_environment_and_scenarios.md |
| Real-time, determinism, replay | references/execution_realtime_and_determinism.md |
| Calibration, validation, metrics | references/validation_calibration_and_metrics.md |
| SIL/HIL, digital twins, integration | references/integration_sil_hil_and_twins.md |
Execution, real-time, and determinism
Table of contents
1. Purpose 2. Execution modes 3. Scheduling and back-pressure 4. Determinism dimensions 5. Record and replay 6. Floating-point policy 7. Regression and CI 8. Distributed simulation (concept) 9. Checklist
Purpose
Guide how simulation runs execute—real-time coupling, faster-than-real-time throughput, and reproducible record/replay for SIL, HIL, and Monte Carlo campaigns.
Execution modes
| Mode | Wall-clock behavior | Typical use |
|---|---|---|
| As-fast-as-possible (AFAP) | No pacing; max throughput | Sweeps, Monte Carlo, nightly regression |
| Scaled real-time | Sim time × scale factor vs wall | Accelerated training, human monitoring |
| Hard real-time | Sim step aligned to wall clock | HIL, operator-in-the-loop, some SIL |
| Soft real-time | Best effort with overrun detection | Dev loops; not for safety claims |
Document overrun policy: skip frame, catch up, or freeze sim while controller continues (dangerous—justify explicitly).
Scheduling and back-pressure
Single-process loop
while running:
wait_until(next_tick) # if real-time
integrate_physics(dt)
update_environment()
generate_sensor_observations()
publish_to_sut() # SIL/HIL boundary
collect_commands()
apply_actuation()
log_frame()Multi-threaded pipelines
- Separate physics, rendering, sensor raycast, I/O threads with bounded queues.
- Define drop policy when queues fill (drop render vs drop sensor vs slow physics).
- Real-time HIL: prefer bounded latency over unbounded queues.
| Risk | Mitigation |
|---|---|
| Nondeterministic thread order | Single-writer event log; lock ordering; task graphs |
| Sensor backlog | Rate limit; coalesce; shed load with metrics |
| GPU async | Synchronize at frame boundary for replay builds |
Determinism dimensions
| Dimension | Control |
|---|---|
| RNG seeds | Per-stream seeds logged at start |
| Event ordering | Tie-break rules in DE scheduler |
| Input ordering | Single ingress queue from hardware/network |
| Floating point | Compiler flags, fast-math off for replay builds |
| Asset versions | Hash-pinned meshes, maps, configs |
| Third-party engines | Pin build, solver iterations, thread count |
Tolerance-based replay: when bit-identical replay is infeasible, define metric tolerances (pose RMSE, sensor checksum buckets) and still log seeds and versions.
Record and replay
Minimum replay header
sim_version,scenario_id,params,seed_map- Asset manifest hashes
- Integrator and physics engine settings
- FP/compiler flags profile name
Log contents (tiered)
| Tier | Fields |
|---|---|
| T0 | Commands, discrete mode changes, RNG seeds |
| T1 | + low-rate truth state, sensor outputs |
| T2 | + full internal diagnostics (large) |
Replay modes:
- Open-loop: feed recorded commands; compare outputs
- Closed-loop: re-run SUT with recorded exogenous disturbances only
- Hybrid: partial SIL with hardware replaced by recorded I/O
Floating-point policy
- Maintain a `deterministic` build profile (no fast-math, fixed reduction order where needed).
- Document known nondeterministic ops (parallel reductions on GPU) and isolate them.
- For cross-platform replay, prefer tolerance metrics over bitwise identity.
Regression and CI
| Gate | Intent |
|---|---|
| Smoke | Short scenario, strict time limit, seed fixed |
| Golden replay | Compare metrics to baseline within tolerance |
| Sensor snapshot | Hash selected topics after warm-up period |
| Performance budget | Wall time per scenario on reference hardware |
Fail CI on silent metric drift—require explicit baseline bumps with rationale.
Distributed simulation (concept)
High-level only—detail belongs in program-specific designs:
- Roles: federate, orchestrator, physics owner, sensor service
- Time management: conservative vs optimistic synchronization
- Bandwidth: what state crosses the wire (poses vs full sensor blobs)
- Failure: partition handling, stale state, graceful degrade
Do not claim scalability numbers without measurement on target network.
Checklist
- [ ] Execution mode and overrun policy documented
- [ ] Thread/queue diagram if multi-threaded
- [ ] Seed map and tie-break rules defined
- [ ] Replay header schema versioned
- [ ] Deterministic build profile named in CI
- [ ] Baseline metrics and tolerances stored per scenario
Integration: SIL, HIL, and digital twins
Table of contents
1. Purpose 2. SIL vs HIL vs twin 3. Interface architecture 4. Clocks and synchronization 5. I/O mapping and protocols 6. Fault injection (engineering) 7. Digital twin patterns 8. Game-engine and middleware bridges 9. Security and safety boundaries 10. Handoffs 11. Checklist
Purpose
Guide integration of simulation with software and hardware under test—SIL/HIL boundaries, digital-twin synchronization, and middleware bridges—without owning security exploitation or formal assurance.
SIL vs HIL vs twin
| Pattern | What is real | What is simulated | Typical goal |
|---|---|---|---|
| SIL | Software under test (SUT) | Plant, environment, sensors | Fast regression, CI |
| HIL | Hardware (ECU, actuator drivers, sensors) | Plant/environment remainder | Timing and I/O fidelity |
| Digital twin | Operational asset + services | Model updated from live data | Monitoring, prediction, training refresh |
| Operator-in-the-loop | Human + partial hardware | Environment/visuals | Training (generic scenarios) |
MIL (model-in-the-loop): often means controls model only—clarify whether “MIL” here excludes sensor rendering; align vocabulary with controls peers (control-software-developer).
Interface architecture
+------------------+ observations +------------------+
| Sim world/plant | --------------------> | SUT (SIL/HIL) |
| + sensor models | | controllers/ |
+------------------+ <-------------------- | perception stack|
^ commands +------------------+
| |
+------------ optional twin ingest ----------+Contract elements:
- Message types, rates, units, timestamps
- Semantic version of interface schema
- Error handling (stale data, NaN guards, safe defaults)
Clocks and synchronization
| Domain | Practice |
|---|---|
| Sim time | Master for physics and sensor synthesis |
| SUT time | May use wall clock or stepped sync |
| HIL bridge | PLL-like alignment; measure round-trip latency |
| Logging | Single trace correlating sim tick, publish, HW IRQ |
HIL overrun: define whether sim waits for hardware, freezes plant, or continues open-loop—misconfiguration causes false pass.
I/O mapping and protocols
Examples (generic):
- Analog/digital maps for actuator and sensor pins
- Ethernet/UDP CAN-FD bridges for automotive stacks
- Middleware (DDS, ROS-style, custom IPC) for robotics SIL
Document:
| Signal | Sim source | HW channel | Rate | Latency budget |
|---|
Prefer recorded I/O playback for bring-up before closed-loop HIL.
Fault injection (engineering)
Engineering faults (for robustness testing):
- Sensor bias ramps, dropout, latency spikes
- Actuator saturation, delay, stuck values
- Environment parameter shocks (wind gust, friction change)
Route security-focused bus manipulation and exploitation to hardware-in-the-loop-security-tester with authorized rules of engagement.
Digital twin patterns
| Pattern | Data flow | Sim role |
|---|---|---|
| Shadow | Live telemetry → compare to sim prediction | Drift detection |
| Scheduled refresh | Batch ingest → recalibrate parameters | Updated twin for planning |
| Interactive twin | Operator adjusts params → sim forecasts | Training / ops support |
Requirements:
- Identity mapping (asset ID, frame, time)
- Freshness SLAs and stale-state handling
- Versioned twin model matching field software baselines
Do not ingest non-public or export-controlled telemetry into shared repos—use sanitized synthetic or approved stores.
Game-engine and middleware bridges
When using game engines or visual pipelines:
- Pin physics substep, collision meshes, and rendering decoupling
- Export deterministic sensor topics even if visuals are nondeterministic
- Provide headless mode for CI
For Simulink-style or block-diagram tools:
- Export FMU/co-sim boundaries with clear step negotiation
- Document algebraic loops and solver settings in the twin manifest
Security and safety boundaries
- Do not instruct disabling interlocks or safety monitors in real systems from sim examples.
- Do not blend security attack scenarios with safety validation without explicit program separation.
- Formal claims require
software-assurance-formal-methods-specialist—sim evidence alone is insufficient.
Handoffs
| Peer | Deliverable |
|---|---|
embedded-real-time-software-engineer | WCET assumptions, IRQ-safe I/O patterns for HIL targets |
control-software-developer | Plant model exchange, scan-cycle semantics |
tactical-ai-autonomy-developer | SIL APIs, scenario catalogs, release gates |
sensor-fusion-engineer | Observation formats, truth for metric computation |
hardware-in-the-loop-security-tester | Separate security test plan; engineering I/O map only |
performance-engineer | Server-side load only if sim services are deployed as microservices |
Checklist
- [ ] SIL/HIL boundary diagram and schema versioned
- [ ] Clock owner and overrun policy documented
- [ ] I/O map with rates and latency budgets complete
- [ ] Engineering fault catalog separated from security tests
- [ ] Twin freshness and model version policy defined
- [ ] NDA/export-safe data handling stated for live feeds
Modeling time and physics
Table of contents
1. Purpose 2. Time management 3. Integrators and stability 4. Coordinate frames 5. Kinematics and dynamics patterns 6. Contacts and constraints 7. Stochastic elements 8. Performance vs accuracy 9. Checklist
Purpose
Guide time-base selection and physics/kinematics modeling for simulation software—stable integration, consistent frames, and explicit assumptions suitable for SIL/HIL and validation.
Time management
Discrete-event (DE)
- Maintain an event queue ordered by simulation time; advance clock to next event.
- State updates occur on events (arrivals, failures, mode switches, message delivery).
- Use when dynamics are piecewise or dominated by protocol/logic timing.
Contracts to document:
- Event ordering tie-break rules (priority, entity ID) for determinism
- Relationship to any CT subsystems (interpolation between events)
Continuous-time (CT)
- Choose integrator and fixed vs variable step based on stiffness and real-time needs.
- Sub-step physics inside a macro frame when coupling to sensors or controllers at rate \(f_s\).
| Mode | When | Notes |
|---|---|---|
| Fixed step | Real-time HIL, deterministic replay | May need sub-stepping for stiff dynamics |
| Variable step | Offline accuracy, adaptive error control | Harder for strict bit-replay; log step choices |
Hybrid coupling
- Scheduler owns time—either DE master with CT slaves, or CT master with DE interrupts.
- Define zero-crossing / guard conditions for mode switches (gear shift, contact engage).
- Avoid hidden aliasing—controller running at 100 Hz while physics integrates at 1 kHz without documented hold/interpolation.
Integrators and stability
| Integrator class | Typical use | Caution |
|---|---|---|
| Euler / semi-implicit Euler | Games, simple rigs | Energy drift; instability on stiff springs |
| RK4 | Smooth offline motion | Not inherently stable for stiff contact |
| Implicit / stiff solvers | Contact, flexible elements | Cost; Jacobian quality |
| DAE solvers | Constrained mechanisms | Index reduction, consistent initialization |
Stability practices:
- Unit-test energy/momentum drift on conservative systems where applicable
- Document maximum stable step for real-time targets
- Separate physics step from control step with explicit upsampling/hold policy
Coordinate frames
- Define a frame tree: world (ENU/NED), body, sensor mounts, articulation joints.
- State rotation conventions (quaternion order, Euler sequence) in API docs.
- Propagate uncertainty at frame boundaries when calibrating extrinsics.
Common bugs: left vs right-handed frames, NED vs ENU in aerospace, IMU frame vs body frame.
Kinematics and dynamics patterns
| Pattern | Model | Typical parameters |
|---|---|---|
| Kinematic agents | Direct pose integration | Speed limits, curvature constraints |
| Rigid body 6-DOF | Newton–Euler or Lagrange | Mass, inertia, CG, aero coeffs (if used) |
| Wheeled vehicles | Bicycle / multi-track approximations | Wheelbase, slip, steering map |
| Articulated robots | Joint space + FK/IK | DH or URDF-like kinematics, limits |
| Simplified aero | Stability derivatives or lookup tables | Validated envelope; avoid extrapolation |
Simulink-style workflows: block-diagram plants with algebraic loops resolved explicitly; document solver settings and algebraic variable initialization.
Contacts and constraints
- Prefer stable contact models (penalty with tuned damping, LCP-based) for repeatable regression.
- Document friction, restitution, and solver iterations; they affect determinism.
- For game engines, physics engine settings are part of the replay contract (solver iterations, CCD on/off).
Stochastic elements
- Drive randomness from named RNG streams per subsystem (environment, sensor, traffic).
- Never mix unseeded thread-local random in deterministic suites.
- Log stream IDs and seeds in replay headers.
Performance vs accuracy
| Technique | Benefit | Cost |
|---|---|---|
| Sub-stepping only stiff subsystems | Stability in real-time | Complexity |
| LOD for distant actors | Throughput | Behavioral error |
| Tabulated aero vs online solve | Speed | Prep and envelope limits |
| GPU batching for ray-based sensors | Throughput | Determinism care |
Checklist
- [ ] Master clock and all sub-clocks documented
- [ ] Integrator choice justified for stiffness and real-time mode
- [ ] Frame tree diagram and conventions published
- [ ] Contact/solver settings pinned for regression
- [ ] RNG streams and seeds specified per stochastic module
- [ ] Units enforced (SI) at module boundaries
Sensors, environment, and scenarios
Table of contents
1. Purpose 2. Truth vs sensor vs consumer 3. Sensor modeling patterns 4. Environment modeling 5. Actors and traffic 6. Scenario runner design 7. Scenario DSL and parameters 8. Synthetic data and labels 9. Checklist
Purpose
Guide sensor pipelines, environment/world state, and scenario runners so simulations produce decision-grade outputs with explicit contracts for SIL, replay, and validation.
Truth vs sensor vs consumer
| Layer | Contents | Consumers |
|---|---|---|
| Ground truth | True poses, velocities, classifications (oracle) | Metrics, label generation, debug |
| Sensor observation | Truth + noise, latency, dropout, distortion | Perception stacks, SIL software |
| Recorded log | Serialized observations + timestamps | Replay, regression, twin sync |
Rule: Never score perception against truth without documenting which sensor model was used; fusion teams need sensor-fusion-engineer for estimator design.
Sensor modeling patterns
| Sensor | Minimal (F0) | Representative (F1) | Validated (F2+) |
|---|---|---|---|
| IMU | Biased rates/accel at fixed rate | Noise density, bias random walk, misalignment | Temperature model from bench |
| GNSS | Position fix at rate | Multipath stub, outage profiles, HDOP-like scalar | Urban canyon maps (generic) |
| Camera | Pinhole + fixed delay | Rolling shutter, distortion, exposure, motion blur | Calibration from target rigs |
| LiDAR | Range rays on primitives | Beam divergence, reflectivity, multipath stub | Hardware-specific noise models |
| Radar | Range/range-rate points | CFAR-like false alarms, angular error | Scenario-calibrated clutter |
Timing model (always specify):
- Capture time vs publish time vs host receive time
- Jitter distribution and worst-case latency for real-time SIL
- Frame drops and out-of-order delivery for robustness tests
Environment modeling
| Element | Options | Validation hook |
|---|---|---|
| Terrain / map | Heightfield, meshes, tiles | Compare elevation profiles to survey data |
| Lighting | Sun angle, overcast, artificial | Camera exposure metrics on reference scenes |
| Weather | Rain/fog visibility models | Range error vs recorded LiDAR/radar |
| Static world | Buildings, vegetation proxies | Collision mesh vs visual mesh alignment |
| Dynamic world | Moving obstacles, doors, lifts | Event timing in DE schedules |
Keep collision geometry separate from visual meshes; document simplifications.
Actors and traffic
- Behavior layers: kinematic paths, rule-based, learned policies (black-box OK if versioned).
- Interaction: right-of-way, spawn/despawn rules, density controls.
- Determinism: seeded traffic flows for regression; separate streams from environment RNG.
For training sims (generic, NDA-safe), avoid identifying real locations or classified tactics—use abstract maps and nominal parameters.
Scenario runner design
Core responsibilities:
1. Load world + robot/platform + parameter set + seed 2. Initialize state and RNG streams 3. Step or run until termination conditions 4. Record agreed topics (truth, sensors, commands, metrics) 5. Score pass/fail and emit artifacts for CI
Runner API surface (conceptual):
run(scenario_id, params, seed) -> RunResult(metrics, logs, exit_reason)
replay(log_uri, options) -> RunResult
sweep(matrix) -> SweepReportScenario DSL and parameters
| Feature | Purpose |
|---|---|
| Parameter schema | Typed overrides (weather, spawn counts, sensor faults) |
| Initial conditions | Pose, velocity, mode, fuel/energy if relevant |
| Termination | Time, goal reached, failure conditions, max cost |
| Fault injection | Sensor bias step, dropout window, actuator lag |
| Tags | regression, nightly, hil_smoke, monte_carlo |
Version scenario packs with the sim binary and asset manifest (hash pins).
Synthetic data and labels
- Auto-label from truth for ML pipelines; document label delay if sensor-time labels differ.
- Publish calibration metadata (intrinsics/extrinsics) alongside synthetic sets.
- For domain randomization, track parameter ranges and coverage across sweeps.
Checklist
- [ ] Truth/sensor/consumer boundaries documented
- [ ] Per-sensor timing, noise, and failure modes specified
- [ ] Environment collision vs visual meshes aligned or gap listed
- [ ] Scenario schema versioned; seeds and tags required
- [ ] Recording format supports deterministic replay
- [ ] Handoff notes for fusion/autonomy peers on interfaces
Simulation software scope
Table of contents
1. Purpose 2. Terminology 3. In scope 4. Out of scope 5. Simulation paradigms 6. Domain patterns 7. Fidelity tiers 8. Roles and RACI 9. Handoffs
Purpose
Define simulation software engineering boundaries—designing and building executable models of systems, environments, and sensors for verification, training, exploration, and digital-twin operation.
This skill covers architecture, modeling, execution, validation, and integration patterns—not live product autonomy delivery, formal certification claims, or security-focused HIL exploitation.
Terminology
| Term | Meaning |
|---|---|
| DE | Discrete-event simulation—event queue, state jumps at event times |
| CT | Continuous-time simulation—numerical integration of ODEs/DAEs |
| Hybrid | Coupled DE schedulers with CT physics integrators |
| SIL | Software-in-the-loop—plant/world model with software under test |
| HIL | Hardware-in-the-loop—real hardware interfaced to simulated plant/environment |
| Digital twin | Live or periodic sync between operational asset and simulation state |
| Scenario runner | Engine that loads parameterized worlds, runs episodes, scores outcomes |
| Ground truth | True simulated state before sensor corruption |
| Fidelity | Level of physical/detail fidelity chosen for a given decision |
| Deterministic replay | Bit- or tolerance-bounded reproduction of a prior run from logs + seeds |
In scope
| Area | Examples |
|---|---|
| Architecture | DE vs CT vs hybrid; module boundaries; plugin/world composition |
| Physics/kinematics | Rigid body, wheeled/tracked vehicles, simplified aero, constraints, contact |
| Sensors | Camera/LiDAR/radar/IMU/GNSS models; noise, latency, dropout, calibration errors |
| Environment | Terrain, weather, lighting, traffic, actors, procedural or map-based worlds |
| Execution | Real-time, scaled-time, as-fast-as-possible; scheduling and back-pressure |
| Determinism | Seeds, ordering, FP policy, record/playback, regression baselines |
| Validation | Compare to logs/flight/bench data; metrics; calibration parameters |
| Sweeps | Monte Carlo, parameter grids, sensitivity, coverage reporting |
| Integration | SIL/HIL interfaces, clocks, I/O maps, twin sync (concept level) |
| Distributed sim | Federation, time management, bandwidth budgets (high level) |
| Pipelines | Game-engine or middleware sim stacks when rigor requirements are met |
Out of scope
| Topic | Route to |
|---|---|
| Sensor fusion / estimation product algorithms | sensor-fusion-engineer |
| Autonomy stack delivery (perception/planning product) | tactical-ai-autonomy-developer |
| MCU firmware, ISR/RTOS, chip drivers | embedded-real-time-software-engineer |
| DCS/PLC plant control, OPC historian apps | control-software-developer |
| Formal proof, certified code, assurance cases | software-assurance-formal-methods-specialist |
| HIL security testing, bus fault injection for security | hardware-in-the-loop-security-tester |
| Server/UI load testing without sim architecture | performance-engineer |
| Pure game content/graphics without sim contracts | Game/graphics skills as appropriate |
| Legal export-control or contractor-specific data | Compliance / legal review; keep artifacts generic |
Simulation paradigms
| Paradigm | Best for | Watch-outs |
|---|---|---|
| Discrete-event | Logistics, networks, protocol timing, queueing, mission timelines | State explosion; inconsistent time if mixed carelessly with CT |
| Continuous-time | Vehicles, mechanisms, control plants, smooth physics | Stiff systems; step-size vs stability; real-time overrun |
| Hybrid | Robotics with contact + discrete mode switches; avionics schedules + physics | Clock coupling; event detection; cross-domain bugs |
| Agent-based | Crowds, traffic micro-behavior, synthetic populations | Calibration to macro data; validation discipline |
| Monte Carlo / ensembles | Uncertainty quantification, reliability, coverage | Cost; clear parameter priors; reproducible sampling |
Decision rule: Pick the coarsest paradigm that answers the decision; add fidelity only when metrics fail without it.
Domain patterns
| Domain | Typical sim stack elements | Notes |
|---|---|---|
| Robotics / autonomy | World + robot dynamics + sensor models + scenario runner | Keep truth vs sensor vs estimator separate |
| Aerospace / defense training | Mission timeline + platform kinematics + env/sensors (generic) | NDA-safe scenarios; no controlled performance data |
| Automotive | Vehicle dynamics + traffic actors + sensor pipelines | Often SIL for ECU stacks; log replay common |
| Manufacturing | Discrete flows + equipment state machines + throughput metrics | DE-first; integrate MES-like event feeds |
| Game-engine pipelines | Rendering + physics + scripted scenarios | Add determinism/replay/validation contracts explicitly |
Fidelity tiers
| Tier | Intent | Examples |
|---|---|---|
| F0 — Functional | Correct interfaces and timing stubs | Constant-rate sensors, kinematic motion |
| F1 — Representative | Shape of dynamics and noise reasonable | Lumped masses, simplified aero, basic sensor noise |
| F2 — Validated | Parameters tuned to measured data | Calibrated IMU bias, camera distortion from bench |
| F3 — High | Expensive; decision-critical only | CFD-informed tables, high-res terrain, full sensor physics |
Document tier per subsystem and upgrade triggers (which metric failed at lower tier).
Roles and RACI
| Activity | Simulation software engineer | Controls / embedded | Fusion / autonomy | V&V / test | Security HIL |
|---|---|---|---|---|---|
| Sim architecture | A | C | C | C | I |
| Physics/sensor models | A | C | C | C | I |
| Scenario runner design | A | I | C | C | I |
| SIL interface spec | A | C | C | A | I |
| HIL engineering interface | A | C | I | C | C |
| HIL security assessment | I | I | I | C | A |
| Formal assurance | I | I | I | C | I |
Handoffs
- To `sensor-fusion-engineer`: Provide sensor outputs, timestamps, and ground truth; receive estimator requirements and failure modes to model.
- To `tactical-ai-autonomy-developer`: Deliver sim APIs, scenario catalogs, and regression baselines; receive stack interfaces and release gates.
- To `embedded-real-time-software-engineer`: Align clock domains, I/O rates, and WCET assumptions for HIL targets.
- To `control-software-developer`: Exchange plant models and scan-cycle semantics when simulating industrial controllers.
- To `hardware-in-the-loop-security-tester`: Separate engineering HIL I/O maps from security test plans and authorized injection.
- To `software-assurance-formal-methods-specialist`: Provide model assumptions and environment contracts; do not claim proofs from sim alone.
Validation, calibration, and metrics
Table of contents
1. Purpose 2. V&V vocabulary 3. Validation workflow 4. Calibration workflow 5. Metric families 6. Monte Carlo and parameter sweeps 7. Uncertainty and sensitivity 8. Regression governance 9. Reporting template 10. Checklist
Purpose
Guide evidence that simulation is fit for purpose—comparing to measured data, tuning parameters responsibly, and structuring sweeps without over-claiming predictive power.
V&V vocabulary
| Term | Meaning in this skill |
|---|---|
| Verification | Sim implemented correctly vs its spec (code/units/tests) |
| Validation | Sim represents reality within stated metrics for a use case |
| Calibration | Adjusting model parameters to reduce error vs measurements |
| Accreditation | Organizational sign-off—out of scope; no certification claims |
Fit-for-purpose statement (required): “This model is adequate for \<decision\> when metric \<M\> is within \<threshold\> on dataset \<D\>.”
Validation workflow
1. Define use case — what decision the sim supports (controller gain, training coverage, HIL fault test) 2. Select fidelity tier per subsystem (see scope reference) 3. Choose datasets — holdout reserved; no tuning on test set 4. Define metrics — per domain (pose, velocity, range error, detection counts) 5. Run baseline — document sim version, seeds, assets 6. Compare and report — residuals, time alignment, failure cases 7. Gate — pass/fail thresholds for CI or release
Time alignment
- Synchronize logs with interpolation policy (linear, SLERP for attitudes)
- Account for sensor latency in sim vs truth in field logs
- Flag clock jumps and drop segments that invalidate comparison
Calibration workflow
| Step | Action |
|---|---|
| Identify parameters | List tunable params with physical bounds |
| Prior | Document source (datasheet, guess, literature) |
| Objective | Scalar or vector error (RMSE, NLL, weighted multi-metric) |
| Method | Manual, grid, Bayesian, optimizer—justify identifiability |
| Validate | Evaluate on holdout; report overfit risk |
| Freeze | Version parameter set with sim release |
Avoid: tuning until metrics look good on the same data used to fit (report train vs holdout).
Metric families
| Domain | Example metrics |
|---|---|
| Pose / track | RMSE position, yaw error, NEES (if estimator present) |
| Vehicle dynamics | Lateral accel error, sideslip, steering response time |
| IMU | Allan deviation bands, bias stability |
| Camera / LiDAR | Reprojection error, range RMSE, false positive rate on fixtures |
| Radar | Range/range-rate error distributions |
| Scenario outcomes | Success rate, collision rate, time-to-goal |
| Real-time | Overrun count, max latency, dropped frames |
Publish units and frames with every metric table.
Monte Carlo and parameter sweeps
Design
| Approach | When |
|---|---|
| Full factorial | Small discrete sets |
| Latin hypercube | Continuous params, coverage |
| Random sampling | Quick exploration with seeds |
| Importance sampling | Rare events (document bias correction) |
Execution contract
- Fixed seed ladder for reproducibility (
base_seed + run_index) - Cap parallelism with isolated output dirs
- Aggregate with percentiles, not only means
Failure taxonomy
Classify failures: collision, timeout, controller_saturation, sensor_fault, numerical_instability—avoid undifferentiated “failed.”
Uncertainty and sensitivity
- Sensitivity: vary one parameter at a time or Sobol indices when budget allows
- Uncertainty: report output spread across Monte Carlo; separate epistemic (model gap) vs aleatory (noise)
- Do not present single-run results as reliability without distribution
Regression governance
| Artifact | Owner |
|---|---|
| Baseline metrics JSON | Sim team |
| Tolerance changelog | Reviewed in PR with scenario ID |
| Dataset manifest | Versioned; PII/export scrubbed |
When baselines move, require hypothesis (model fix vs intentional behavior change).
Reporting template
## Validation summary
- Use case:
- Sim version / scenario pack:
- Datasets (train/holdout):
## Results
| Metric | Threshold | Train | Holdout |
|--------|-----------|-------|---------|
## Residual analysis
- Largest errors (with timestamps):
## Calibration
- Parameters changed since last release:
- Identifiability / overfit notes:
## Limitations
- Known non-validated regimes:Checklist
- [ ] Fit-for-purpose statement written
- [ ] Holdout dataset reserved before tuning
- [ ] Metrics include units, frames, time sync method
- [ ] Monte Carlo seeds and aggregation documented
- [ ] Failure taxonomy applied
- [ ] Limitations section lists known bad regimes