[SystemSafety] Baseline Safety Assessment for a Linux-based OS to SIL 3 /ASIL D

Prof. Dr. Peter Bernard Ladkin ladkin at causalis.com
Wed May 7 20:22:23 CEST 2025


On 2025-05-07 19:47 , Martyn Thomas wrote:
>
> When a safety function requires a SIL 1 reliability and is implemented using/incorporating a 
> software component such as an operating system, it seems that the component/OS is assigned SC 3 
> and assessed in the context of the use of that component by the specific safety function.
>
I assume you meant "safety function requires a SIL 3 reliability" ..... "component/OS is assigned 
SC3" ...

> Can that assessment be partitioned so that most of the assessment can be reused in the context of 
> a different safety function?

Ideally yes. But the most obvious way of doing so violates some of the presumptions that people 
using 61508 hold dear.

First, if software drives your safety function and the safety function has SIL x, then it surely 
must follow that <software failure that results in safety function failure> can only occur with a 
frequency given explicitly by the SIL. For "continuous" functions that would be less than 1 in 
10^(-5) per ophour for SIL 1, less than 1 in 10^(-6) per ophour for SIL 2, less than 1 in 10^(-7) 
per ophour for SIL 3 and less than 1 in 10^(-8) per ophour for SIL 4 (derived from Table 3, p34 of 
61508-1:2010). But, for reasons which I do not understand, it is currently regarded as taboo to set 
numerical reliability rates for software.

If one were allowed to do so, it is surely possible to say the following. Consider an OS function OF 
used in safety-function software S for a safety function F with SIL x, for which the hardware has 
\epsilon failure rate, then the software failure rate acceptable for F must not exceed 1 in 
(10^(-(x+4)) + \epsilon). If we make the conservative assumption that a failure in OF results in 
failure of S, then there is an arithmetical relation between <allowable failure rate in OF> and 
<allowable failure rate in S assuming failure rate of OF is 0) and the target of 1 in (10^(-(x+4)) + 
\epsilon).

Now, in my opinion it is fine to perform those sorts of calculations, and even to turn them into 
resulting numerical "reliability requirements" for software (including OF and S considered 
"separately" if you will, according to some apportioning of failure between OF and S). But what is 
not currently possible is dependably to assess the software in question (OF / S) to determine if it 
actually fulfils the reliability requirements so derived.

All you can say is that (a) the developers did this-and-this; (b) we currently think this-and-this 
enhances the chance that the software is dependable; (c) ... and we have following historical 
evidence for Assertion b. Of this chain of reasoning, most of Assertion c is missing.

That is in part why 61508 continues to "fudge".

PBL

Prof. Dr. Peter Bernard Ladkin
Causalis Limited/Causalis IngenieurGmbH, Bielefeld, Germany
Tel: +49 (0)521 3 29 31 00



More information about the systemsafety mailing list