Anexo R EN
Anexo R EN
Annex R
(normative)
Software evaluation
NOTE Tables R.1 and R.2 are based on Table H.11.12.7 of IEC 60730-1 that is, for the purpose of this annex,
divided in two tables, Table R.1 for general fault/error conditions and Table R.2 for specific fault/error conditions.
Compliance is checked by the inspections and tests, according to the requirements of this
annex, and by examination of the documentation as required by this annex.
R.2.1 General
– single channel with periodic self-test and monitoring (see IEC 60730-1, H.2.16.7);
– dual channel (homogenous) with comparison (see IEC 60730-1, H.2.16.3);
– dual channel (diverse) with comparison (see IEC 60730-1, H.2.16.2).
NOTE 1 Comparison between dual channel structures may be performed by:
• use of a comparator (see IEC 60730-1 H.2.18.3), or
• reciprocal comparison (see IEC 60730-1 H.2.18.15).
Compliance is checked by the inspections and tests of the software architecture in R.3.2.2.
R.2.2.1 When redundant memory with comparison is provided on two areas of the same
component, the data in one area shall be stored in a different format from that in the other
area (see software diversity, IEC 60730-1 H.2.18.19).
e
Table R.1 – General fault/error conditions
b, c
Component a Fault/error Acceptable measures Definitions
See
IEC 60730-1
1
Central
processing unit
(CPU)
1.1
Registers Stuck at Functional test, or H.2.16.5
periodic self-test using either: H.2.16.6
– static memory test, or H.2.19.6
– word protection with single bit redundancy H.2.19.8.2
1.2 VOID
1.3
Functional test, or H.2.16.5
Programme Stuck at periodic self-test, or H.2.16.6
counter independent time-slot monitoring, or H.2.18.10.4
logical monitoring of the programme sequence H.2.18.10.2
2
Interrupt No interrupt Functional test, or H.2.16.5
handling and or too time-slot monitoring H.2.18.10.4
execution frequent
interrupt
3
Clock Frequency monitoring, or H.2.18.10.1
time slot monitoring H.2.18.10.4
Wrong
frequency
(for quartz
synchronized
clock:
harmonics/
sub-harmonics
only)
4
Memory
4.1
Invariable All single bit Periodic modified checksum, or H.2.19.3.1
memory faults multiple checksum, or H.2.19.3.2
word protection with single bit redundancy H.2.19.8.2
e
Table R.1 (continued)
a b, c
Component Fault/error Acceptable measures Definitions
See
IEC 60730-1
4.2
Variable DC fault Periodic static memory test, or H.2.19.6
memory word protection with single bit redundancy H.2.19.8.2
4.3
Addressing Stuck at Word protection with single bit redundancy H.2.19.8.2
(relevant to including the address
variable and
invariable
memory)
5
Internal data Stuck at Word protection with single bit redundancy H.2.19.8.2
path
5.1 VOID
5.2 Addressing Wrong Word protection with single bit redundancy H.2.19.8.2
address including the address
6
External Hamming Word protection with multi-bit redundancy, or H.2.19.8.1
communication distance 3 CRC – single word , or H.2.19.4.1
transfer redundancy, or H.2.18.2.2
protocol test H.2.18.14
6.1 VOID
6.2 VOID
6.3 Wrong point Time-slot monitoring, or H.2.18.10.4
Timing in time scheduled transmission H.2.18.18
Time-slot and logical monitoring, or H.2.18.10.3
comparison of redundant communication
channels by either:
– reciprocal comparison H.2.18.15
– independent hardware comparator H.2.18.3
Wrong Logical monitoring, or H.2.18.10.2
sequence time-slot monitoring, or H.2.18.10.4
scheduled transmission H.2.18.18
e
Table R.1 (concluded)
a b, c
Component Fault/error Acceptable measures Definitions
See
IEC 60730-1
7
Input/output Fault Plausibility check H.2.18.13
periphery conditions
specified in
19.11.2
7.1 VOID
7.2
Analog I/O
7.2.1 A/D- and Fault Plausibility check H.2.18.13
D/A- convertor conditions
specified
in 19.11.2
8 VOID
9
Custom Any output Periodic self test H.2.16.6
d
chips outside the
e.g. ASIC, static and
GAL, gate dynamic
array functional
specification
NOTE A Stuck-at fault model denotes a fault model representing an open circuit or a non-
varying signal level. A DC fault model denotes a stuck-at fault model incorporating short
circuits between signal lines.
a For fault/error assessment, some components are divided into their sub-functions.
b For each sub-function in the table, the Table R.2 measure will cover the software fault/error.
c Where more than one measure is given for a sub-function, these are alternatives.
d To be divided as necessary by the manufacturer into sub-functions.
e Table R.1 is applied according to the requirements of R.1 to R.2.2.9 inclusive.
e
Table R.2 – Specific fault/error conditions
1.2
Instruction Wrong Comparison of redundant CPUs by either:
decoding and decoding – reciprocal comparison H.2.18.15
execution and execution – independent hardware comparator, or H.2.18.3
internal error detection, or H.2.18.9
periodic self-test using equivalence class test H.2.18.5
1.3 DC fault Periodic self-test and monitoring using either: H.2.16.7
Programme – independent time-slot and logical H.2.18.10.3
counter monitoring
– internal error detection, or H.2.18.9
comparison of redundant functional channels
by either:
– reciprocal comparison H.2.18.15
– independent hardware comparator H.2.18.3
1.4
Addressing DC fault Comparison of redundant CPUs by either:
– reciprocal comparison H.2.18.15
– independent hardware comparator; or H.2.18.3
internal error detection; or H.2.18.9
periodic self-test using
H.2.16.7
– a testing pattern of the address lines; or H.2.18.22
– a full bus redundancy H.2.18.1.1
– a multi bus parity including the address H.2.18.1.2
e
Table R.2 (continued)
a
Component Fault/error Acceptable measures b, c Definitions
See
IEC 60730-1
1.5
Data paths DC fault Comparison of redundant CPUs by either:
instruction and – reciprocal comparison, or H.2.18.15
decoding execution – independent hardware comparator, or H.2.18.3
– internal error detection, or H.2.18.9
– periodic self-test using a testing pattern, or H.2.16.7
– data redundancy, or H.2.18.2.1
– multi-bit bus parity H.2.18.1.2
4. Memory
4.1 99,6 % Comparison of redundant CPUs by either:
Invariable coverage of – reciprocal comparison H.2.18.15
memory all information – independent hardware comparator, or H.2.18.3
errors redundant memory with comparison, or H.2.19.5
periodic cyclic redundancy check, either
– single word H.2.19.4.1
– double word, or H.2.19.4.2
word protection with multi-bit redundancy H.2.19.8.1
4.2 DC fault Comparison of redundant CPUs by either:
Variable and dynamic – reciprocal comparison H.2.18.15
memory cross links – independent hardware comparator, or H.2.18.3
redundant memory with comparison, or H.2.19.5
periodic self tests using either:
– walkpat memory test H.2.19.7
– Abraham test H.2.19.1
– transparent GALPAT test, or H.2.19.2.1
word protection with multi-bit redundancy H.2.19.8.1
e
Table R.2 (continued)
a b, c
Component Fault/error Acceptable measures Definitions
See
IEC 60730-1
4.3 DC fault Comparison of redundant CPUs by either:
Addressing – reciprocal comparison, or H.2.18.15
(relevant to – independent hardware comparator, or H.2.18.3
variable and full bus redundancy H.2.18.1.1
invariable testing pattern, or H.2.18.22
memory) periodic cyclic redundancy check, either:
– single word H.2.19.4.1
– double word, or H.2.19.4.2
word protection with multi-bit redundancy H.2.19.8.1
including the address
5
Internal data
path
5.1 Data DC fault Comparison of redundant CPUs by either
– reciprocal comparison H.2.18.15
– independent hardware comparator, or H.2.18.3
word protection with multi-bit redundancy H.2.19.8.1
including the address, or data redundancy, or H.2.18.2.1
testing pattern, or H.2.18.22
protocol test H.2.18.14
5.2 Addressing Wrong Comparison of redundant CPUs by:
address and – reciprocal comparison H.2.18.15
multiple – independent hardware comparator, or H.2.18.3
addressing word protection with multi-bit redundancy, H.2.19.8.1
including the address, or full bus redundancy; H.2.18.1.1
or testing pattern including the address H.2.18.22
6
External
communication
6.1
Data Hamming CRC – double word, or H.2.19.4.2
distance 4
data redundancy or H.2.18.2.1
comparison of redundant functional channels
by either:
– reciprocal comparison H.2.18.15
– independent hardware comparator H.2.18.3
e
Table R.2 (continued)
a b, c
Component Fault/error Acceptable measures Definitions
See
IEC 60730-1
6.2 Wrong Word protection with multi-bit redundancy, H.2.19.8.1
Addressing address including the address, or CRC single word H.2.19.4.1
including the addresses, or
transfer redundancy or H.2.18.2.2
protocol test H.2.18.14
Wrong and CRC – double word, including the address, or H.2.19.4.2
multiple full bus redundancy of data and address, or H.2.18.1.1
addressing comparison of redundant communication channels by either:
– reciprocal comparison H.2.18.15
– independent hardware comparator H.2.18.3
6.3 Wrong point in Time-slot monitoring, or H.2.18.10.4
Timing time scheduled transmission H.2.18.18
7
Input/output
periphery
e
Table R.2 (concluded)
a b, c
Component Fault/error Acceptable measures Definitions
See
IEC 60730-1
H.2.18.8
input comparison or
H.2.18.22
testing pattern
8
Monitoring Any output Tested monitoring, or H.2.18.21
outside the
devices and static and redundant monitoring and comparison, or H.2.18.17
comparators dynamic error recognizing means H.2.18.6
functional
specification
9
Custom Any output Periodic self-test and monitoring, or H.2.16.7
d
chips outside the dual channel (diverse) with comparison, or H.2.16.2
e.g. ASIC, static and error recognizing means H.2.18.6
GAL, gate dynamic
array functional
specification
NOTE A DC fault model denotes a stuck-at fault model incorporating short circuits between
signal lines.
a For fault/error assessment, some components are divided into their sub-functions.
b For each sub-function in the table, the software measure will cover the Table R.1 fault/error.
c Where more than one measure is given for a sub-function, these are alternatives.
d To be divided as necessary by the manufacturer into sub-functions.
e Table R.2 is applied according to the requirements of R.1 to R.2.2.9 inclusive, only if
required by a part 2.
NOTE The loss of dual channel capability is deemed to be an error in a programmable electronic circuit using a
dual channel structure required for software to control the fault/error conditions specified in Table R.2.
R.2.2.6 The software shall be referenced to relevant parts of the operating sequence and the
associated hardware functions.
R.2.2.7 Where labels are used for memory locations, these labels shall be unique.
R.2.2.8 The software shall be protected from user alteration of safety-related segments and
data.
R.2.2.9 The software and safety-related hardware under its control shall be initialized and
shall terminate before compliance with Clause 19 is impaired.
R.3.1 General
Software that incorporates measures used to control the fault/error conditions specified in
Table R.2 is inherently acceptable for software required to control the fault/error conditions
specified in Table R.1 .
NOTE The content of these requirements is extracted from IEC 61508-3 and adapted to the needs of this
Standard.
R.3.2 Specification
NOTE Examples of some techniques/measures to meet these requirements can be found in Table R.3.
R.3.2.2.1 The specification of the software architecture shall include the following aspects:
NOTE Examples of some techniques/measures to meet these requirements can be found in Table R.4.
R.3.2.2.2 The architecture specification shall be validated against the specification of the
software safety requirements by static analysis.
R.3.2.3.1 Based on the architecture design, software shall be suitably refined into modules.
Software module design and coding shall be implemented in a way that is traceable to the
software architecture and requirements.
NOTE 2 Defensive programming (IEC 61508-7, Subclause C.2.5) is recommended (e.g. range checks, check for
division by 0, plausibility checks).
NOTE 4 Examples of some techniques/measures to meet these requirements can be found in Table R.5.
NOTE 2 Examples of some techniques/measures to meet these requirements can be found in Table R.6.
R.3.2.3.3 Coded software shall be validated against the module specification by static
analysis. The module specification shall be validated against the architecture specification by
static analysis.
The software shall be validated with reference to the requirements of the software safety
requirements specification.
NOTE 1 Validation is confirmation by examination and provision of objective evidence that the particular
requirements for a specific intended use are fulfilled. Therefore, for example, software validation means confirming
by examination and provision of objective evidence that the software satisfies the software safety requirements
specification.
NOTE 2 Examples of some techniques/measures to meet these requirements can be found in Table R.7.
NOTE 3 Testing should be the main validation method for software; modelling may be used to supplement the
validation activities.