Software-in-the-loop (SIL)
The code is real. Everything else is modelled.
The production build of the control software runs on a PC against a model of the vehicle around it. Nothing is rewritten for simulation — that is the point, because a model of your software proves nothing about your software.
Real
- The production build, unchanged
- Every branch and every fault path in the control logic
- Calibration values, still parameters
- The test cases themselves
Modelled
- The microcontroller and its peripherals
- Sensors, loads and the plant
- Traffic from the other control units on the bus
- Time, which need not run at the wall clock
Models are approximations. Software-in-the-loop moves most testing earlier. It does not replace the bench.