Skip to content

Commit cec5c79

Browse files
committed
process: include audit remarks
Ref: closes #5
1 parent 0260381 commit cec5c79

10 files changed

+222
-1931
lines changed

process/process_areas/safety_analysis/_assets/safety_analysis_component.drawio.svg

Lines changed: 0 additions & 479 deletions
This file was deleted.

process/process_areas/safety_analysis/_assets/safety_analysis_feature.drawio.svg

Lines changed: 7 additions & 469 deletions
Loading

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

Lines changed: 0 additions & 843 deletions
This file was deleted.

process/process_areas/safety_analysis/guidance/dfa_failure_initiators.rst

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ DFA failure initiators
2323
:complies: std_wp__iso26262__software_751, std_wp__iso26262__software_753
2424

2525

26-
:note: Use the failure initiators to ensure a structured analysis. If a failure doesn't apply, please fill in a short description in the violation cause of the analysis so it could be recognized that the analysis is done. If there are additional failure initiators needed, please enlarge the list of fault models.
26+
.. note:: Use the failure initiators to ensure a structured analysis. If a failure doesn't apply, please fill in a short description in the violation cause of the analysis so it could be recognized that the analysis is done. If there are additional failure initiators needed, please enlarge the list of fault models.
27+
28+
.. note:: A ASIL related message is trustable in that manner that it is not corrupted, repeated, lost, delayed, masqueraded or addressed incorrectly.
29+
2730

2831
**Purpose**
2932

@@ -35,14 +38,16 @@ DFA failure initiators
3538

3639
2.1 Shared resources
3740

38-
.. list-table:: DFA shared resources
41+
.. note:: Shared libraries are only than to be considered as a shared resource if the feature and the related safety mechanisms are using this specific library. If the library is not used by the feature or the related safety mechanisms, it is not a shared resource.
42+
43+
.. list-table:: DFA shared resources (used for Platform Feature DFA)
3944
:header-rows: 1
4045
:widths: 10,30,30,30
4146

4247
* - ID
4348
- Violation cause shared resources
4449
- Simplification
45-
- Importance (can be used for priorisation)
50+
- Importance (can be used for prioritization)
4651
* - SR_01_01
4752
- Reused software modules
4853
-
@@ -105,7 +110,7 @@ DFA failure initiators
105110
-
106111
- Medium
107112
* - CO_01_05
108-
- Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same informations
113+
- Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same information's
109114
-
110115
- Medium
111116
* - CO_01_06
@@ -127,7 +132,7 @@ DFA failure initiators
127132
* - ID
128133
- Violation cause shared information inputs
129134
- Simplification
130-
- Importance (can be used for priorisation)
135+
- Importance (can be used for prioritization)
131136
* - SI_01_02
132137
- Configuration data
133138
-
@@ -155,7 +160,7 @@ DFA failure initiators
155160
* - ID
156161
- Violation cause unintended impact
157162
- Simplification
158-
- Importance (can be used for priorisation)
163+
- Importance (can be used for prioritization)
159164
* - UI_01_01
160165
- Memory miss-allocation and leaks
161166
-
@@ -210,7 +215,7 @@ DFA failure initiators
210215
211216
:note: Section shall be applied only once to analyse all dependencies of the features. Results shall be checked during of the analysis of new features if this is applicable to the feature.
212217

213-
.. list-table:: DFA development failure initiators
218+
.. list-table:: DFA development failure initiators (Feature Platform DFA)
214219
:header-rows: 1
215220
:widths: 10,30,30,30
216221

process/process_areas/safety_analysis/guidance/fault_models_guideline.rst

Lines changed: 88 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -23,90 +23,94 @@ Fault Models
2323
| Fault Model for sequence diagrams
2424
2525

26-
:note: Use the fault models to ensure a structured analysis. If a fault model doesn't apply, please fill in a short description in the violation cause of the analysis so it could be recognized that the analysis is done. If there are additional fault models needed, please enlarge the list of fault models.
26+
.. note:: Use the fault models to ensure a structured analysis. If a fault model doesn't apply, please fill in a short description in the violation cause of the analysis so it could be recognized that the analysis is done. If there are additional fault models needed, please enlarge the list of fault models.
2727

2828

29-
.. list-table:: Fault Models for sequence diagrams
30-
:header-rows: 1
31-
:widths: 15,6,30,30,15
29+
.. note:: A ASIL related message is trustable in that manner that it is not corrupted, repeated, lost, delayed, masqueraded or addressed incorrectly.
3230

33-
* - Element
34-
- ID
35-
- Failure Mode
36-
- Simplification
37-
- Importance (can be used for priorisation)
38-
* - message
39-
- MF_01_01
40-
- message is not received
41-
- MF_01_05
42-
- High
43-
* - message
44-
- MF_01_02
45-
- message received too late
46-
- relevant only if delay is a realistic fault
47-
- Medium
48-
* - message
49-
- MF_01_03
50-
- message received too early
51-
- usually not a problem
52-
- Low
53-
* - message
54-
- MF_01_04
55-
- message not received correctly by all recipients (different messages or messages partly lost)
56-
- only relevant if the same message goes to multiple recipients
57-
- High
58-
* - message
59-
- MF_01_05
60-
- message is corrupted
61-
-
62-
- High
63-
* - message
64-
- MF_01_06
65-
- message is not sent
66-
-
67-
- High
68-
* - message
69-
- MF_01_07
70-
- message is unintended sent
71-
-
72-
- High
73-
* - duration/time constraint
74-
- CO_01_01
75-
- minimum constraint boundary is violated
76-
-
77-
- Medium
78-
* - duration/time constraint
79-
- CO_01_02
80-
- maximum constraint boundary is violated
81-
-
82-
- High
83-
* - execution
84-
- EX_01_01
85-
- Process calculates wrong result(s)
86-
- MF_01_05 or MF_01_04
87-
- High
88-
* - execution
89-
- EX_01_02
90-
- processing too slow
91-
- relevant only if timing is considered
92-
- Medium
93-
* - execution
94-
- EX_01_03
95-
- processing too fast
96-
- relevant only if timing is considered
97-
- Medium
98-
* - execution
99-
- EX_01_04
100-
- loss of execution
101-
-
102-
- High
103-
* - execution
104-
- EX_01_05
105-
- processing changes to arbitrary process
106-
-
107-
- Medium
108-
* - execution
109-
- EX_01_06
110-
- processing is not complete (infinite loop)
111-
-
112-
- High
31+
32+
Fault Models for sequence diagrams
33+
.. list-table:: Fault Models for sequence diagrams
34+
:header-rows: 1
35+
:widths: 15,6,30,30,15
36+
37+
* - Element
38+
- ID
39+
- Failure Mode
40+
- Simplification
41+
- Importance (can be used for priorisation)
42+
* - message
43+
- MF_01_01
44+
- message is not received
45+
- MF_01_05
46+
- High
47+
* - message
48+
- MF_01_02
49+
- message received too late
50+
- relevant only if delay is a realistic fault
51+
- Medium
52+
* - message
53+
- MF_01_03
54+
- message received too early
55+
- usually not a problem
56+
- Low
57+
* - message
58+
- MF_01_04
59+
- message not received correctly by all recipients (different messages or messages partly lost)
60+
- only relevant if the same message goes to multiple recipients
61+
- High
62+
* - message
63+
- MF_01_05
64+
- message is corrupted
65+
-
66+
- High
67+
* - message
68+
- MF_01_06
69+
- message is not sent
70+
-
71+
- High
72+
* - message
73+
- MF_01_07
74+
- message is unintended sent
75+
-
76+
- High
77+
* - duration/time constraint
78+
- CO_01_01
79+
- minimum constraint boundary is violated
80+
-
81+
- Medium
82+
* - duration/time constraint
83+
- CO_01_02
84+
- maximum constraint boundary is violated
85+
-
86+
- High
87+
* - execution
88+
- EX_01_01
89+
- Process calculates wrong result(s)
90+
- MF_01_05 or MF_01_04
91+
- High
92+
* - execution
93+
- EX_01_02
94+
- processing too slow
95+
- relevant only if timing is considered
96+
- Medium
97+
* - execution
98+
- EX_01_03
99+
- processing too fast
100+
- relevant only if timing is considered
101+
- Medium
102+
* - execution
103+
- EX_01_04
104+
- loss of execution
105+
-
106+
- High
107+
* - execution
108+
- EX_01_05
109+
- processing changes to arbitrary process
110+
-
111+
- Medium
112+
* - execution
113+
- EX_01_06
114+
- processing is not complete (infinite loop)
115+
-
116+
- High

process/process_areas/safety_analysis/guidance/safety_analysis_checklist.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,19 @@ Checklist for Safety Analysis
6060
- The cause of the violation is described completely. The cause can be recognized easily.
6161
- <yes|no>
6262
-
63-
* - REQ_01_05
63+
* - REQ_01_06
6464
- Is the mitigation described completely and in an easily understandable manner?
6565
-
6666
- The mitigation is clearly and completely described.
6767
- <yes|no>
6868
-
69-
* - REQ_01_06
69+
* - REQ_01_07
70+
- Is the sufficiency of the mitigation described or can it be recognized easily?
71+
-
72+
- The mitigation shows clearly that a function an their related safety mechanisms cant't be violated by the same failure.
73+
- <yes|no>
74+
-
75+
* - REQ_01_08
7076
- Is the overall result of the safety analysis described in the report?
7177
-
7278
- The results of the safety analysis are described in the report. The report is available :need:`wp__verification__platform_ver_report`.

process/process_areas/safety_analysis/guidance/safety_analysis_guideline.rst

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ Detailed description which steps are need for a safety analysis. In general the
3131
#. Analyse the dependencies between features by performing a **single platform feature DFA** that references all platform feature static architecture diagrams, highlighting potential shared use of modules.
3232
#. Monitor the results of the platform feature DFA and log any issues in the Issue Tracking system with the ``safety`` label.
3333
#. Verify the platform feature DFA results by using :need:`gd_chklst__safety_analysis`.
34-
#. Platform feature DFA are completed when the verification is done, no issues are open and the status is "valid".
34+
#. Platform feature DFA is completed when the verification is done, no issues are open and the status is "valid". The verification criteria is that it can be proven that a function and the corresponding safety monitoring are not both affected.
3535
#. To analyse the Feature Architecture a FMEA and a DFA shall be executed. The results of the platform feature DFA shall be used as an input.
3636
#. Monitor the results of the FMEA and DFA and log any issues in the Issue Tracking system with the ``safety`` label.
3737
#. Verify the FMEA and DFA results by using :need:`gd_chklst__safety_analysis`..
3838
#. Feature FMEA and DFA are completed when the verification is done, no issues are open and the status is "valid".
3939
#. To analyse the Component Architecture a FMEA and a DFA shall be executed. The results of the feature FMEA and DFA shall be used as an input.
4040
#. Monitor the results of the FMEA and DFA and log any issues in the Issue Tracking system with the ``safety`` label.
41-
#. Verify the FMEA and DFA results by using :need:`gd_chklst__safety_analysis`..
42-
#. Component FMEA and DFA are completed when the verification is done, no issues are open and the status is "valid".
41+
#. Verify the FMEA and DFA results by using :need:`gd_chklst__safety_analysis`.
42+
#. Component FMEA and DFA are completed when the verification is done, no issues are open and the status is "valid". The verification criteria is that it can be proven that a function and the corresponding safety monitoring are not both affected.
4343

4444

4545
A example for the safety analysis (FMEA and DFA) is shown in the :ref:`examples_fmea_dfa`.
@@ -57,7 +57,7 @@ The analysis considers single faults that can mitigate a safety requirement.
5757

5858
* For each dynamic diagram, assign the faults by ID from the fault model and document it as a sphinx-needs directive.
5959
* Document the resulting failure mode and effect and link to a safety requirement that mitigates the violation.
60-
* Document safety mitigation to avoid or control the failure.
60+
* Document safety mitigation to avoid or control the failure. If it can't be shown that a element is completely deterministic and testable, an additional safety mechanisms is needed.
6161
* The attributes of the template are described in :ref:`process_requirements_safety_analysis_attributes`.
6262
* Judge if this is sufficient.
6363
* If not, request to update the diagram and the requirements with additional safety mitigation to come to a sufficient outcome by creating an issue.
@@ -66,6 +66,8 @@ The analysis considers single faults that can mitigate a safety requirement.
6666
* Continue the analysis until all fault models are checked.
6767
* The verification is done by applying the FMEA checklist :need:`gd_chklst__safety_analysis`.
6868

69+
.. note:: If there are changes they have to be analysed with a impact analysis :need:`gd_temp__change__impact_analysis`. If needed the safety analysis has to be updated accordingly. Therefore all necessary steps have to be repeated.
70+
6971
Step-by-Step-approach DFA:
7072
^^^^^^^^^^^^^^^^^^^^^^^^^^
7173

@@ -78,8 +80,10 @@ So it could be shown that the analysis was done and no fault model is applicable
7880
* For each failure initiator assign the violation by ID from the DFA failure initiators and document it as a sphinx-needs directive.
7981
* Document the resulting violation causes and effect and link to a safety requirement that mitigates the violation.
8082
* The attributes of the template are described in :ref:`process_requirements_safety_analysis_attributes`.
81-
* Judge if the mitigation is sufficient. If not, request to update the requirements with additional safety mitigation to come to a sufficient outcome.
83+
* Judge if the mitigation is sufficient. If not, request to update the requirements with additional safety mitigation to come to a sufficient outcome. If it can't be shown that a element is completely deterministic and testable, an additional safety mechanisms is needed.
8284
* The analysis is finished, if for each identified violation a mitigation exists.
8385
* Unless the attribute "sufficient" is "yes", mitigation and argument attribute can be still empty.
8486
* Continue the analysis until all failure initiators are checked.
8587
* The verification is done by applying the safety analysis checklist :need:`gd_chklst__safety_analysis`.
88+
89+
.. note:: If there are changes they have to be analysed with a impact analysis :need:`gd_temp__change__impact_analysis`. If needed the safety analysis has to be updated accordingly. Therefore all necessary steps have to be repeated.

0 commit comments

Comments
 (0)