Functional safety is the part of automotive that most obviously has no equivalent in general software, and it is usually taught through the standard's structure rather than its purpose. Start with the purpose.
What it is actually about#
ASIL, without the ceremony#
ratings come from a hazard analysis of three factors, at the level of a situation, not a component.
| Factor | Question |
|---|---|
| Severity | How badly hurt, if this goes wrong? |
| Exposure | How often are people in the situation where it matters? |
| Controllability | Can a normal driver cope when it happens? |
Why consolidation makes this harder#
The SDV promise is fewer, more powerful computers. The safety consequence runs the other way.
What must be shown#
| Resource | The question to answer |
|---|---|
| CPU time | Can a runaway process starve the safety partition? |
| Memory | Can one partition read or corrupt another's? |
| Peripherals | Can a guest reprogram a shared controller? |
| Interrupts | Can one partition delay another's interrupt handling? |
| Power | Does a shared rail create a common-cause failure? |
| Thermal | Can heavy load in one partition throttle the other? |
| Time | Do both partitions have a trustworthy clock? |
Gotcha
"The hypervisor is certified, therefore we have freedom from interference" is incomplete. The certificate covers the hypervisor configured as described in its safety manual.
If you allocated cores dynamically, enabled a feature the manual excludes, or shared a device it said not to share, the certificate does not extend to your system. This gap has been discovered late on real programmes.
The pattern that actually gets built#
What updates do to a safety case#
Here is where the SDV genuinely creates a new problem rather than inheriting an old one.
What an Android engineer should actually know#
You will not write the safety case. These five things will still affect you:
Know whether your feature is in the safety path. Usually it is not, and knowing that with confidence is what lets you move quickly.
Never route safety-relevant data through Android to save an interface. It pulls Android into the argument and the cost is enormous.
Respect the display layering. The safety plane is above yours by design. Do not design layouts that assume otherwise.
Understand your resource budget is fixed. Fixed cores and memory are what buys freedom from interference. You cannot borrow.
Take degraded modes seriously. What your UI shows when a property goes stale or a service dies is often a safety-adjacent requirement, even when your component is QM. Showing a plausible stale value is worse than showing nothing.
Next#
Security inside the vehicle, where the network can no longer be trusted.

