|
| 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 | +.. _dfa failure initiators: |
| 16 | + |
| 17 | +DFA failure initiators |
| 18 | +====================== |
| 19 | + |
| 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 structured analysis. If a failure doesn't apply, please fill in a short desciption 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 enlage the list of fault models. |
| 27 | + |
| 28 | +**Purpose** |
| 29 | + |
| 30 | +In order to identify all cascading and common cause failures, which may initiated from your feature or components to the platform, other features, components, etc., |
| 31 | +use the following framework of dependent failure initiators to check your completeness of the analysis. |
| 32 | + |
| 33 | +DFA failure initiators |
| 34 | +====================== |
| 35 | + |
| 36 | +2.1 Shared resources |
| 37 | + |
| 38 | +.. list-table:: DFA shared resources |
| 39 | + :header-rows: 1 |
| 40 | + :widths: 10,30,30,30 |
| 41 | + |
| 42 | + * - ID |
| 43 | + - Violation cause shared resources |
| 44 | + - Simplification |
| 45 | + - Importance (can be used for priorisation) |
| 46 | + * - SR_01_01 |
| 47 | + - Reused software modules |
| 48 | + - |
| 49 | + - Medium |
| 50 | + * - SR_01_02 |
| 51 | + - Libraries |
| 52 | + - SR_01_01 |
| 53 | + - Medium |
| 54 | + * - SR_01_04 |
| 55 | + - Basic software |
| 56 | + - |
| 57 | + - Medium |
| 58 | + * - SR_01_05 |
| 59 | + - Operating system including scheduler |
| 60 | + - |
| 61 | + - Medium |
| 62 | + * - SR_01_06 |
| 63 | + - Any service stack, e.g. communication stack |
| 64 | + - |
| 65 | + - Medium |
| 66 | + * - SR_01_07 |
| 67 | + - Configuration data |
| 68 | + - |
| 69 | + - Medium |
| 70 | + * - SR_01_09 |
| 71 | + - Execution time |
| 72 | + - |
| 73 | + - Medium |
| 74 | + * - SR_01_10 |
| 75 | + - Allocated memory |
| 76 | + - |
| 77 | + - Medium |
| 78 | + |
| 79 | + |
| 80 | +| 2.2 Communication between the two elements: |
| 81 | +| Receiving function is affected by information that is false, lost, sent multiple times, or in the wrong order etc. from the sender. |
| 82 | +
|
| 83 | +.. list-table:: DFA communication between elements |
| 84 | + :header-rows: 1 |
| 85 | + :widths: 10,30,30,30 |
| 86 | + |
| 87 | + * - ID |
| 88 | + - Violation cause communication between elements |
| 89 | + - Simplification |
| 90 | + - Importance (can be used for priorisation) |
| 91 | + * - CO_01_01 |
| 92 | + - Information passed via argument through a function call, or via writing/reading a variable being global to the two software functions (data flow) |
| 93 | + - |
| 94 | + - Medium |
| 95 | + * - CO_01_02 |
| 96 | + - Data or message corruption / repetition / loss / delay / masquerading or incorrect addressing of information |
| 97 | + - |
| 98 | + - Medium |
| 99 | + * - CO_01_03 |
| 100 | + - Insertion / sequence of information |
| 101 | + - |
| 102 | + - Medium |
| 103 | + * - CO_01_04 |
| 104 | + - Corruption of information, inconsistent data |
| 105 | + - |
| 106 | + - Medium |
| 107 | + * - CO_01_05 |
| 108 | + - Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same informations |
| 109 | + - |
| 110 | + - Medium |
| 111 | + * - CO_01_06 |
| 112 | + - Information from a sender received by only a subset of the receivers |
| 113 | + - |
| 114 | + - Medium |
| 115 | + * - CO_01_07 |
| 116 | + - Blocking access to a communication channel |
| 117 | + - |
| 118 | + - Medium |
| 119 | + |
| 120 | +| 2.3 Shared information inputs |
| 121 | +| Same information input used by multiple functions. |
| 122 | +
|
| 123 | +.. list-table:: DFA shared information inputs |
| 124 | + :header-rows: 1 |
| 125 | + :widths: 10,30,30,30 |
| 126 | + |
| 127 | + * - ID |
| 128 | + - Violation cause shared information inputs |
| 129 | + - Simplification |
| 130 | + - Importance (can be used for priorisation) |
| 131 | + * - SI_01_02 |
| 132 | + - Configuration data |
| 133 | + - |
| 134 | + - Medium |
| 135 | + * - SI_01_03 |
| 136 | + - Constants, or variables, being global to the two software functions |
| 137 | + - |
| 138 | + - Medium |
| 139 | + * - SI_01_04 |
| 140 | + - Basic software passes data (read from hardware register and converted into logical information) to two applications software functions |
| 141 | + - |
| 142 | + - Medium |
| 143 | + * - SI_01_05 |
| 144 | + - Data / function parameter arguments / messages delivered by software function to more than one other function |
| 145 | + - |
| 146 | + - Medium |
| 147 | + |
| 148 | +| 2.4 Unintended impact |
| 149 | +| Unintended impacts to function due to various failures. |
| 150 | +
|
| 151 | +.. list-table:: DFA unintended impact |
| 152 | + :header-rows: 1 |
| 153 | + :widths: 10,30,30,30 |
| 154 | + |
| 155 | + * - ID |
| 156 | + - Violation cause unintended impact |
| 157 | + - Simplification |
| 158 | + - Importance (can be used for priorisation) |
| 159 | + * - UI_01_01 |
| 160 | + - Memory miss-allocation and leaks |
| 161 | + - |
| 162 | + - Medium |
| 163 | + * - UI_01_02 |
| 164 | + - Read/Write access to memory allocated to another software element |
| 165 | + - |
| 166 | + - Medium |
| 167 | + * - UI_01_03 |
| 168 | + - Stack/Buffer under-/overflow |
| 169 | + - |
| 170 | + - Medium |
| 171 | + * - UI_01_04 |
| 172 | + - Deadlocks |
| 173 | + - |
| 174 | + - Medium |
| 175 | + * - UI_01_05 |
| 176 | + - Livelocks |
| 177 | + - |
| 178 | + - Medium |
| 179 | + * - UI_01_06 |
| 180 | + - Blocking of execution |
| 181 | + - |
| 182 | + - Medium |
| 183 | + * - UI_01_07 |
| 184 | + - Incorrect allocation of execution time |
| 185 | + - |
| 186 | + - Medium |
| 187 | + * - UI_01_08 |
| 188 | + - Incorrect execution flow |
| 189 | + - |
| 190 | + - Medium |
| 191 | + * - UI_01_09 |
| 192 | + - Incorrect synchronization between software elements |
| 193 | + - |
| 194 | + - Medium |
| 195 | + * - UI_01_10 |
| 196 | + - CPU time depletion |
| 197 | + - |
| 198 | + - Medium |
| 199 | + * - UI_01_11 |
| 200 | + - Memory depletion |
| 201 | + - |
| 202 | + - Medium |
| 203 | + * - UI_01_12 |
| 204 | + - Other HW unavailability |
| 205 | + - |
| 206 | + - Medium |
| 207 | + |
| 208 | +| Development failure initiators |
| 209 | +| Secition is **only aplicable if a divers SW development is needed** due to decomposition. |
| 210 | +
|
| 211 | +: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. |
| 212 | + |
| 213 | +.. list-table:: DFA development failure initiators |
| 214 | + :header-rows: 1 |
| 215 | + :widths: 10,30,30,30 |
| 216 | + |
| 217 | + * - ID |
| 218 | + - Violation cause development failure initiators |
| 219 | + - Simplification |
| 220 | + - Importance (can be used for priorisation) |
| 221 | + * - SC_01_02 |
| 222 | + - Same development approaches (e.g. IDE, programming and/or modelling language) |
| 223 | + - |
| 224 | + - Medium |
| 225 | + * - SC_01_03 |
| 226 | + - Same personal |
| 227 | + - |
| 228 | + - Medium |
| 229 | + * - SC_01_04 |
| 230 | + - Same social-cultural context (even if different personnel). Only applicable if diverse development is needed. |
| 231 | + - |
| 232 | + - Medium |
| 233 | + * - SC_01_05 |
| 234 | + - Development fault (e.g. human error, insufficient qualification, insufficient methods). Only applicable if diverse development is needed. |
| 235 | + - |
| 236 | + - Medium |
0 commit comments