Skip to content

Commit 636499d

Browse files
committed
process: include review findings
Ref: closes #310
1 parent d5c9a1d commit 636499d

14 files changed

+549
-312
lines changed

docs/process/process_areas/safety_analysis/_assets/safety_analysis_workflow.drawio.svg

Lines changed: 301 additions & 89 deletions
Loading

docs/process/process_areas/safety_analysis/guidance/dfa_failure_initiators.rst

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,15 @@
1717
DFA failure initiators
1818
======================
1919

20-
.. gd_chklst:: DFA failure initiators
21-
:id: gd_chklst__dfa_failure_initiators
22-
:status: valid
23-
:tags: safety analysis
20+
.. gd_guidl:: DFA failure initiators
21+
:id: gd_guidl__dfa_failure_initiators
22+
:status: valid
23+
:complies: std_wp__iso26262__software_751, std_wp__iso26262__software_753
24+
25+
26+
:note: Use the failure initiators to ensure a structed analysis. If a fault model doesn't apply, please fill in a short desciption in the
27+
violation cause so it could be recognized that the analysis is done. If there are additional failure initiators needed, please
28+
enlage the list of fault models.
2429

2530
**Purpose**
2631

@@ -30,7 +35,6 @@ DFA failure initiators
3035
**DFA failure initiators**
3136

3237
| 2.1 Shared resources
33-
| Same software element instance used by the two functions which are therefore affected by the failure or unavailability of that shared resource.
3438
3539
.. list-table:: DFA shared resources
3640
:header-rows: 1
@@ -68,10 +72,6 @@ DFA failure initiators
6872
- Configuration data
6973
-
7074
-
71-
* - SR_01_08
72-
- Calibration data
73-
-
74-
-
7575
* - SR_01_09
7676
- Execution time
7777
-
@@ -90,7 +90,7 @@ DFA failure initiators
9090

9191
* - ID
9292
- Violation cause
93-
Shared resource used by several components
93+
communication between elements
9494
- Avoidance, or detection and mitigation of the fault
9595
- Comment
9696
* - CO_01_01
@@ -128,6 +128,9 @@ DFA failure initiators
128128
-
129129
-
130130

131+
| (*) These issues are taken from the arguments on freedom from interference between software elements.
132+
| In that respect, the dependent failure initiators Unintended Impact and Communication represent causes of violation of freedom from interference for software.
133+
131134
| 2.3 Shared information inputs
132135
| Same information consumed by the two functions even in absence of shared resources, i.e. from a functional perspective.
133136
@@ -140,10 +143,6 @@ DFA failure initiators
140143
Shared resource used by several components
141144
- Avoidance, or detection and mitigation of the fault
142145
- Comment
143-
* - SI_01_01
144-
- Calibration data
145-
-
146-
-
147146
* - SI_01_02
148147
- Configuration data
149148
-
@@ -215,7 +214,6 @@ DFA failure initiators
215214
| In that respect, the dependent failure initiators Unintended Impact and Communication represent causes of violation of freedom from interference for software.
216215
217216
| 2.5 Systematic coupling
218-
| Systematic causes from human or tool errors can lead to the simultaneous failure of more than one function.
219217
220218
.. list-table:: DFA systematic coupling
221219
:header-rows: 1
@@ -226,17 +224,11 @@ DFA failure initiators
226224
Shared resources used by several components
227225
- Avoidance, or detection and mitigation of the fault
228226
- Comment
229-
* - SC_01_01
230-
- Manufacturing fault / repair fault (e.g. false flashing,
231-
false calibration reference for sensors)
232-
-
233-
-
234227
* - SC_01_02
235228
- Non-diverse development approaches including:
236229
- same software tools (e.g. IDE, compiler, linker)
237230
- same algorithms
238231
- same programming and/or modelling language used
239-
- same complier/linker used
240232
-
241233
-
242234
* - SC_01_03

docs/process/process_areas/safety_analysis/guidance/dfa_template.rst

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,28 @@
1212
# SPDX-License-Identifier: Apache-2.0
1313
# *******************************************************************************
1414
15+
.. _dfa_templates:
1516

1617
DFA Templates
1718
=============
1819

20+
.. gd_temp:: Platform DFA Templates
21+
:id: gd_temp__plat_saf_dfa
22+
:status: valid
23+
:complies: std_wp__iso26262__analysis_751, std_wp__iso26262__software_753, std_wp__isopas8926__4524, std_req__iso26262__software_7411, std_req__iso26262__analysis_741, std_req__iso26262__analysis_742, std_req__iso26262__analysis_743, std_req__iso26262__analysis_745, std_req__iso26262__analysis_746, std_req__iso26262__analysis_747, std_req__iso26262__analysis_748, std_req__iso26262__analysis_749, std_req__isopas8926__44432
24+
25+
| .. plat_saf_dfa:: <Element descriptor>
26+
| :verifies: <Platform architecture>
27+
| :id: plat_saf_DFA__<Platform>__<Element descriptor>
28+
| :violation_id: <ID from DFA failure initiators :need:`gd_guidl__dfa_failure_initiators`>
29+
| :violation_cause: "description of failure effect of the failure initiator on the element"
30+
| :mitigation: < NONE|ID from Feature Requirement>
31+
| :mitigation_issue: <ID from Issue Tracker| None if no issue needed>
32+
| :mitigation_coverage: <0..100%>
33+
| :sufficient: <yes|no>
34+
| :argument: <text to argument why mitigation is sufficient>
35+
| :status: <valid|invalid>
36+
1937
.. gd_temp:: Feature DFA Templates
2038
:id: gd_temp__feat_saf_dfa
2139
:status: valid
@@ -24,10 +42,11 @@ DFA Templates
2442
| .. feat_saf_dfa:: <Element descriptor>
2543
| :verifies: <Feature architecture>
2644
| :id: feat_saf_DFA__<Feature>__<Element descriptor>
27-
| :violation_id: <ID from DFA failure initiators :need:`gd_chklst__dfa_failure_initiators`>
28-
| :violation_cause: "Failure initiator similar to :need:`gd_chklst__dfa_failure_initiators`"
29-
| :violates: <ID from Feature Requirement>
45+
| :violation_id: <ID from DFA failure initiators :need:`gd_guidl__dfa_failure_initiators`>
46+
| :violation_cause: "description of failure effect of the failure initiator on the element"
3047
| :mitigation: < NONE|ID from Feature Requirement>
48+
| :mitigation_issue: <ID from Issue Tracker| None if no issue needed>
49+
| :mitigation_coverage: <0..100%>
3150
| :sufficient: <yes|no>
3251
| :argument: <text to argument why mitigation is sufficient>
3352
| :status: <valid|invalid>
@@ -41,10 +60,11 @@ DFA Templates
4160
| .. comp_saf_dfa:: <Element descriptor>
4261
| :verifies: <Component architecture>
4362
| :id: comp_saf_DFA__<Component>__<Element descriptor>
44-
| :violation_id: <ID from DFA failure initiators :need:`gd_chklst__dfa_failure_initiators`>
45-
| :violation_cause: "Failure initiator similar to :need:`gd_chklst__dfa_failure_initiators`"
46-
| :violates: <ID from Component Requirement>
63+
| :violation_id: <ID from DFA failure initiators :need:`gd_guidl__dfa_failure_initiators`>
64+
| :violation_cause: "description of failure effect of the failure initiator on the element"
4765
| :mitigation: < NONE|ID from Component Requirement>
66+
| :mitigation_issue: <ID from Issue Tracker| None if no issue needed>
67+
| :mitigation_coverage: <0..100%>
4868
| :sufficient: <yes|no>
4969
| :argument: <text to argument why mitigation is sufficient>
5070
| :status: <valid|invalid>

docs/process/process_areas/safety_analysis/guidance/fault_models_guideline.rst

Lines changed: 8 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -16,106 +16,16 @@ Fault Models
1616
============
1717

1818
.. gd_guidl:: Fault Models
19-
:id: gd_guidl__fault_models
20-
:status: valid
21-
:complies: std_wp__iso26262__software_752, std_req__iso26262__analysis_846
19+
:id: gd_guidl__fault_models
20+
:status: valid
21+
:complies: std_wp__iso26262__software_752, std_req__iso26262__analysis_846
2222

23-
Fault Models for activity diagrams
24-
25-
.. list-table:: Fault Models for activity diagrams
26-
:header-rows: 1
27-
:widths: 15,6,30,30,15
28-
29-
* - Element
30-
- ID
31-
- Failure Mode
32-
- Simplification
33-
- Importance
34-
* - data storage
35-
- DS_01_01
36-
- stored data changed
37-
(before read operation)
38-
-
39-
- High
40-
* - data storage
41-
- DS_01_02
42-
- new data not stored (keeps old data)
43-
/ stuck-at (specific value)
44-
-
45-
- High
46-
* - data flow
47-
- DF_01_01
48-
- transferred data changed
49-
- DS_01_01 if there is one data flow to the data store
50-
- Medium
51-
* - data flow
52-
- DF_01_02
53-
- transferred data lost
54-
- DS_01_02 if there is one data flow to the data store
55-
- Medium
56-
* - data flow
57-
- DF_01_03
58-
- transferred to wrong data store
59-
- DS_01_01 unless point in time of change is important
60-
- Low
61-
* - data flow
62-
- DF_01_04
63-
- data stored at wrong location in data store
64-
- relevant only for arrays/complex types
65-
- High
66-
* - processing
67-
- PS_01_01
68-
- process calculates wrong result(s)
69-
- DS_01_01 unless process affects multiple data stores
70-
- High
71-
* - processing
72-
- PS_01_02
73-
- processing too slow/fast
74-
- relevant only if timing is considered, infinite loop->CF01_01
75-
- Low
76-
* - control flow
77-
- CF_01_01
78-
- control flow stops
79-
-
80-
- High
81-
* - control flow
82-
- CF_01_02
83-
- control flow skips process
84-
- PS_01_01 and PS_01_02
85-
- Medium
86-
* - control flow
87-
- CF_01_03
88-
- control flow proceeds to wrong process
89-
- CF_01_02 or limited to specific process
90-
- Low
91-
* - fork
92-
- FK_01_01
93-
- some but not all outgoing concurrent processes are triggered
94-
-
95-
- Medium
96-
* - fork
97-
- FK_01_02
98-
- concurrent processes are triggered despite incoming process has not yet been completed
99-
- similar to CF_01_02
100-
- Low
101-
* - fork
102-
- FK_01_03
103-
- none of the outgoing concurrent processes is triggered
104-
- similar to CF_01_01
105-
- Low
106-
* - join
107-
- JF_01_01
108-
- execution proceeds before all joining processes have been completed
109-
- similar to CF_01_02
110-
- High
111-
* - join
112-
- JF_01_02
113-
- execution does not proceed despite all joining processes have been completed
114-
- similar to CF_01_01
115-
- Medium
23+
| Fault Model for sequence diagrams
11624
25+
:note: Use the fault models to ensure a structed analysis. If a fault model doesn't apply, please fill in a short desciption in the
26+
violation cause so it could be recognized that the analysis is done. If there are additional fault models needed, please
27+
enlage the list of fault models.
11728

118-
| Fault Model for sequence diagrams
11929

12030
.. list-table:: Fault Models for sequence diagrams
12131
:header-rows: 1
@@ -125,7 +35,7 @@ Fault Models
12535
- ID
12636
- Failure Mode
12737
- Simplification
128-
- Importance
38+
- Importance (can be used for priorisation)
12939
* - message
13040
- MF_01_01
13141
- message is not received
@@ -181,25 +91,3 @@ Fault Models
18191
- processing is not complete (infinite loop)
18292
-
18393
- Low
184-
* - frame (*)
185-
- FE_01_01
186-
- frame not entered as specified
187-
-
188-
- Medium
189-
* - frame (*)
190-
- FE_01_02
191-
- frame not exited as specified
192-
-
193-
- Medium
194-
* - frame (*)
195-
- FE_01_03
196-
- frame entered differently than specified
197-
-
198-
- Medium
199-
* - frame (*)
200-
- FE_01_04
201-
- frame exited differently than specified
202-
-
203-
- Medium
204-
205-
| (*) frame is a reference to another diagram, which describes more detailed aspects. Entry- and Exit points define the order of transitions.

docs/process/process_areas/safety_analysis/guidance/index.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ Guidance
1818
.. toctree::
1919
:maxdepth: 1
2020

21-
safety_analysis_guideline
22-
fault_models_guideline
23-
safety_analysis_templates
24-
dfa_template
2521
dfa_failure_initiators
22+
dfa_template
23+
fault_models_guideline
24+
safety_analysis_checklist
25+
safety_analysis_guideline
2626
safety_analysis_process_reqs
27+
safety_analysis_templates
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
16+
Checklist for Safety Analysis
17+
================================
18+
19+
.. gd_chklst:: Safety Analysis Checklist Template
20+
:id: gd_chklst__safety_analysis
21+
:status: valid
22+
:tags: safety_analysis
23+
24+
**Purpose**
25+
The purpose of this safety analysis checklist template is to collect the topics to be checked during verification of the safety analysis.
26+
27+
**Checklist**
28+
29+
.. list-table:: Safety Analysis Checklist
30+
:header-rows: 1
31+
:widths: 10,30,50,6,6,8
32+
33+
* - Review ID
34+
- Acceptance Criteria
35+
- Guidance
36+
- Passed
37+
- Remarks
38+
- Issue link
39+
* - REQ_01_01
40+
- Is the safety analysis is finished?
41+
- see :need:`gd_guidl__safety_analysis`
42+
- No open topics in safety analysis report.
43+
- <yes|no>
44+
-

0 commit comments

Comments
 (0)