5.5.18 · D4Embedded Systems & Real-Time Software

Exercises — Safety-critical standards — DO-178C (airborne software), IEC 61508, ISO 26262

3,532 words16 min readBack to topic

Before we begin, one shared picture. Every safety standard is a ruler that measures danger, then hands you a rulebook whose thickness matches the danger. We will return to this figure at every level: L1 reads the rulers (the level names), L2 measures with the IEC ruler (the bands), L4 places a car scenario on the ASIL ruler, and L5 asks what happens at the tick marks and beyond the ruler's edge.

Figure — Safety-critical standards — DO-178C (airborne software), IEC 61508, ISO 26262

Level 1 — Recognition

Goal: can you name the pieces without computing anything?

L1.1 — Match the level name to its standard

Problem. For each level name below, state which standard it belongs to and whether the "most dangerous" end is the first or last symbol: (a) DAL, (b) SIL, (c) ASIL.

Recall Solution

Reading the three rulers in the figure above, left (mild) to right (deadly):

  • (a) DAL (Design Assurance Level) → DO-178C (airborne). Range A–E. Most dangerous = A (catastrophic / hull loss). E = no effect.
  • (b) SIL (Safety Integrity Level) → IEC 61508 (generic). Range 1–4. Most dangerous = 4.
  • (c) ASIL (Automotive Safety Integrity Level) → ISO 26262 (automotive). Range A–D plus QM. Most dangerous = D.

The one-line memory anchor: "DO-178C: A is deadly. ISO 26262: D is deadly. IEC: 4 is deadly."

L1.2 — Which standard is the ancestor?

Problem. Of the three, which is the generic parent from which another was adapted, and name the child?

Recall Solution

IEC 61508 is the generic parent ("Electrical/Electronic/Programmable Electronic safety-related systems"). ISO 26262 is its automotive child — it takes the same functional-safety logic and specializes it for road vehicles. DO-178C evolved separately in aviation but shares the same "more danger ⇒ more rigor" DNA.

L1.3 — Name the signature concept

Problem. Connect each signature concept to its standard: (i) MC/DC coverage + 71 objectives, (ii) and risk-reduction factor, (iii) ASIL decomposition + item definition.

Recall Solution
  • (i) → DO-178C (structural coverage scales with DAL; certification credit from objectives).
  • (ii) → IEC 61508 (quantitative failure-probability targets).
  • (iii) → ISO 26262 (split one high ASIL across two independent elements).

Level 2 — Application

Goal: plug numbers into the formulas the parent note derived.

L2.1 — Compute a and read the SIL

Problem. A low-demand safety function (a 1-out-of-1 shutdown valve) has dangerous-undetected failure rate and is proof-tested every 6 months (). Compute and state the SIL.

Recall Solution

The parent note derived, for a 1oo1 channel: Here that is the average of a triangle of risk that grows linearly from 0 (right after a test) to (just before the next), so we take the midpoint — hence the . Reading this off the IEC ruler (the bands in the figure), it sits in SIL 2.

L2.2 — What test interval buys SIL 3?

Problem. Same valve, . What is the longest proof-test interval that still achieves SIL 3, i.e. keeps ?

Recall Solution

We need , so solve for : So we must proof-test at least every 1000 hours (~42 days). Why this direction of inequality? SIL 3 is more demanding than SIL 2, so we need a smaller , which means testing more often (shorter ).

L2.3 — Which SIL band exactly at the boundary?

Problem. Suppose a calculation gives exactly. Is this SIL 2 or SIL 3? State the band convention and classify.

Recall Solution

Look carefully at how the parent note wrote the bands — each is closed on the low side, open on the high side: The value satisfies (SIL 2's lower bound) but fails SIL 3's strict upper bound . So exactly is the bottom of SIL 2 — it is SIL 2, not SIL 3. Why this convention matters: each band boundary is a factor-of-ten line on the IEC ruler; the standard puts the tick inside the weaker band, so you cannot claim the stronger SIL until you are strictly below its top line. Landing exactly on a boundary always rounds you to the less demanding classification — a conservative reading.

L2.4 — Minimum MC/DC test count

Problem. A Boolean decision has conditions, e.g. if (A && B && C && D). What is the typical minimum number of tests to achieve MC/DC, and how many for plain decision coverage?

Recall Solution

MC/DC (Modified Condition/Decision Coverage) typically needs tests, because you need one baseline plus one flip per condition to prove each condition independently drives the outcome: Plain decision coverage only needs the whole decision to be TRUE once and FALSE once → 2 tests, no matter how many conditions. That is exactly the gap MC/DC closes.


Level 3 — Analysis

Goal: explain WHY, not just compute.

L3.1 — Build the MC/DC test set for A && B

Problem. For the decision A && B, list a concrete MC/DC-satisfying test set and prove, test by test, that each condition independently affects the outcome. Then show a 2-test set that satisfies decision coverage but not MC/DC.

Recall Solution

Look at the truth picture below.

Figure — Safety-critical standards — DO-178C (airborne software), IEC 61508, ISO 26262

An MC/DC set for A && B:

Test A B A&&B
T1 1 1 1
T2 0 1 0
T3 1 0 0
  • A is independent: compare T1 (1,1→1) vs T2 (0,1→0). Only A changed (B held at 1), and the outcome flipped. So A alone controls the result. ✔
  • B is independent: compare T1 (1,1→1) vs T3 (1,0→0). Only B changed (A held at 1), and the outcome flipped. So B alone controls the result. ✔
  • That is 3 tests = with .

A decision-coverage-only set: (1,1)→1 and (0,0)→0. The decision is both TRUE and FALSE, so decision coverage passes — but both A and B changed between the two tests, so neither is shown to matter on its own. A bug like A || B would still pass this weaker set on those two points.

L3.2 — Why does rigor cost grow ~exponentially?

Problem. The parent note claims verification cost grows "roughly exponentially" with rigor, motivating levels. Give the analysis: what specifically multiplies as you climb DAL C → B → A?

Recall Solution

Three multipliers stack:

  1. Coverage criterion tightens: statement → decision → MC/DC. MC/DC test count grows with the number of conditions per decision (), and you must engineer inputs that isolate each condition — labour that scales with code complexity.
  2. Independence required: more objectives must be verified by a different person/team, roughly doubling review effort on those items.
  3. More objectives: the count of mandatory objectives itself rises with DAL (toward the full 71). Because these multiply rather than add, moving one level up multiplies cost by several factors at once — the classic exponential feel. That is precisely why you assign the level from the hazard first and spend rigor only where lives depend on it (80/20).

L3.3 — Sensitivity of

Problem. In , if you halve the proof-test interval , what happens to and to the risk-reduction factor ? Explain geometrically.

Recall Solution

is linear in , so halving halves , and therefore doubles . Geometric reason: the un-availability grows linearly from 0 to over the interval — a right triangle. Its average height is half its peak. Cut the base () in half and the peak also halves, so the whole triangle's average height halves. More frequent testing keeps you closer to the "just tested, good as new" state on average.


Level 4 — Synthesis

Goal: combine multiple ideas into one full derivation.

L4.1 — Full ASIL determination

Problem. Scenario: a highway-speed steering system can lock the wheel unexpectedly. Assess Severity, Exposure, Controllability and derive the ASIL. Use: S3 = life-threatening/fatal; E4 = high probability of the situation; C3 = difficult/uncontrollable. State the ASIL.

Recall Solution

ASIL is not fixed like DAL/SIL — it is computed from a hazard analysis of a specific driving scenario via three parameters (see FMEA & Hazard Analysis):

  • S Severity — a steering lock at highway speed likely causes a fatal loss of control → S3.
  • E Exposure — highway driving is extremely common → E4.
  • C Controllability — a locked wheel at speed is very hard for the driver to recover → C3. The ISO 26262 risk table maps the worst combination (S3, E4, C3) to the top of the scale → ASIL D. This places the scenario at the far-right, deadliest tick of the ASIL ruler in the opening figure. This is the most demanding automotive level, matching the "D is deadly" anchor.

L4.2 — ASIL decomposition to cut cost

Problem. The ASIL D steering requirement is expensive to build monolithically. You have two independent subsystems (a primary controller and an independent monitor that can cut torque). Propose a valid ASIL decomposition and state the resulting per-element levels. What single condition must hold for it to be legitimate?

Recall Solution

ASIL decomposition (ISO 26262 Part 9, Clause 5) splits one requirement across two elements so that the combination still meets the target, while each element is developed at lower rigor. The standard does not allow arbitrary letter arithmetic; it fixes an integrity budget where each ASIL carries a numeric weight — think of it as points that must add back up: A decomposition of a level- requirement is valid only if the two child levels' weights sum to . For ASIL D () the table therefore permits exactly:

  • ASIL C(D) + ASIL A(D) (),
  • ASIL B(D) + ASIL B(D) (),
  • ASIL D(D) + QM(D) (). The parenthesized (D) is mandatory notation: it records that each element still derives from an original ASIL D goal, so you may never later "forget" the true origin. Combinations like A + A () or B + C () are not valid decompositions of D — the first under-shoots, the second is not even defined as a decomposition. A clean choice here: develop the primary controller at ASIL B(D) and the independent monitor at ASIL B(D) — the split.

The single non-negotiable condition: the two elements must be sufficiently independent — free of common-cause failure (see Fault Tolerance & Redundancy). If a shared power rail, shared clock, or shared bug can take both down at once, the decomposition is invalid and you are back to needing full ASIL D on the surviving path.

L4.3 — Cross-standard translation

Problem. An engineer says "this function is SIL 3, so in aviation it's obviously DAL 3." Diagnose every error in that sentence and give the correct cross-standard reasoning.

Recall Solution

Errors:

  1. "DAL 3" does not exist — DO-178C uses letters A–E, not numbers.
  2. SIL and DAL are not one-to-one mappable by number. SIL comes from quantitative targets; DAL comes from a system safety assessment of the worst failure effect. They live on different rulers.
  3. The correct move is to re-do the hazard classification in the target domain: assess the airborne failure condition (Catastrophic / Hazardous / Major / Minor / No effect) to assign a DAL directly, rather than transliterating a number. Standards rhyme in philosophy ("more danger ⇒ more rigor") but their level scales are not interchangeable.

Level 5 — Mastery

Goal: reason at the edges, where the naive rule breaks.

L5.1 — The degenerate / QM boundary

Problem. A flickering interior dome light is assessed. Its severity of failure is essentially "annoyance." Walk the S/E/C reasoning and explain what QM means and why it is not "ASIL 0."

Recall Solution
  • S Severity → S0 (no injuries; a light flicker harms no one).
  • Once S0 is reached, the outcome is already QM regardless of E and C — there is no safety goal to protect.
  • QM (Quality Management) means: develop it under normal quality processes, with no functional-safety requirement mandated by ISO 26262. You still owe good engineering — reviews, testing, configuration control — but none of the safety-specific objectives (safety goals, ASIL-tagged requirements, decomposition rules) apply, because there is no hazard to guard against.
  • Why it is not "ASIL 0": QM sits off the ASIL ruler entirely, to the left of the mildest tick (ASIL A) in the opening figure — it is the label for "this item never entered the safety scale." Writing "ASIL 0" would falsely imply a (tiny) safety objective exists and a place on the scale; QM says instead no ASIL applies at all. The integrity weight from L4.2 makes this precise: QM carries weight 0, confirming it contributes nothing to any safety budget.

Edge insight: the standard degenerates gracefully — at zero severity the whole machinery short-circuits straight to QM, and the two branches (has-a-safety-goal vs. QM) never overlap.

L5.2 — MC/DC with a coupled condition (the subtle case)

Problem. Consider if (A || (A && B)). Here A appears twice, so A and the term A && B are coupled — you cannot always vary A while holding the second operand fixed. Explain why naive "hold everything else constant" MC/DC can be impossible here, and name the accepted resolution.

Recall Solution

In MC/DC we prove a condition independent by finding two tests differing in only that condition with differing outcomes. But when the same variable A appears in multiple places, changing A changes both occurrences at once — you cannot hold the other occurrence fixed. This is strongly coupled conditions, and pure (unique-cause) MC/DC has no valid pair for such a variable. Accepted resolution: DO-178C permits masking MC/DC, where a condition is considered to independently affect the outcome if the Boolean structure masks the other conditions (their values cannot change the result), even if a coupled variable also changes. This is the recognized way to demonstrate MC/DC in the presence of coupling, and it is why "MC/DC = just hold others fixed" is only the first-order story. (Also note A || (A && B) simplifies to A, a good reminder to simplify logic before agonizing over coverage.)

L5.3 — When does more testing stop helping ?

Problem. In , as you push (test constantly), . Is unlimited integrity really free by testing more? Identify the real-world floor the simplified formula hides.

Recall Solution

Mathematically the 1oo1 model says as — testing infinitely often would eliminate the dangerous-undetected contribution. But the simplified formula only models undetected faults revealed by proof tests. It omits:

  • Imperfect proof-test coverage — real tests find only a fraction of faults, leaving a residual term independent of .
  • Common-cause and systematic (software) failures — a design bug is present every cycle; testing frequency does not touch it.
  • The test itself introduces risk/downtime (wear, human error, taking the function offline). So there is a floor: below some , flattens at the un-modelled residual, and further testing buys nothing. This is why SIL 4 usually demands hardware fault tolerance (redundancy, HFT > 0), not just frequent testing — see Fault Tolerance & Redundancy and Failure Rate & Reliability.

Recall Quick self-check reveals

DO-178C most-critical level ::: DAL A (catastrophic) ISO 26262 most-critical level ::: ASIL D IEC 61508 most-critical level ::: SIL 4 1oo1 average PFD formula ::: MC/DC typical minimum tests for conditions ::: The three ASIL parameters ::: Severity (S), Exposure (E), Controllability (C) A PFD_avg of exactly classifies as ::: SIL 2 (bands are , so the boundary rounds into the weaker band) Valid ASIL D decompositions ::: C(D)+A(D), B(D)+B(D), D(D)+QM(D) — weights sum to 4 The single condition for valid ASIL decomposition ::: sufficient independence / no common-cause failure

Related: Functional Safety · Code Coverage Metrics · Failure Rate & Reliability · Fault Tolerance & Redundancy · V-Model Software Lifecycle · FMEA & Hazard Analysis · Real-Time Operating Systems