diff --git a/score/component_example/docs/safety_analysis/dfa.rst b/score/component_example/docs/safety_analysis/dfa.rst index cb888847..7126fb25 100644 --- a/score/component_example/docs/safety_analysis/dfa.rst +++ b/score/component_example/docs/safety_analysis/dfa.rst @@ -35,9 +35,156 @@ DFA (Dependent Failure Analysis) - Adjust ``status`` to be ``valid`` - Adjust ``safety`` and ``tags`` according to your needs +The DFA for the component [Component Name] is performed. To show evidence that all failure initiators are considered, the applicability has to be filled out in the +following tables. For all applicable failure initiators, the DFA has to be performed. + Dependent Failure Initiators ---------------------------- +Shared resources +^^^^^^^^^^^^^^^^ + +The dependent failure initiators related to shared resources are not applicable for the component. The shared resources +will be considered in the platform DFA. + +Communication between the two elements +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Receiving function is affected by information that is false, lost, sent multiple times, or in the wrong order etc. from the sender. + +.. list-table:: DFA communication between elements + :header-rows: 1 + :widths: 10,20,10,20 + + * - ID + - Violation cause communication between elements + - Applicability + - Rationale + * - CO_01_01 + - Information passed via argument through a function call, or via writing/reading a variable being global to the two software functions (data flow) + - + - + * - CO_01_02 + - Data or message corruption / repetition / loss / delay / masquerading or incorrect addressing of information + - + - + * - CO_01_03 + - Insertion / sequence of information + - + - + * - CO_01_04 + - Corruption of information, inconsistent data + - + - + * - CO_01_05 + - Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same information + - + - + * - CO_01_06 + - Information from a sender received by only a subset of the receivers + - + - + * - CO_01_07 + - Blocking access to a communication channel + - + - + +Shared information inputs +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Same information input used by multiple functions. + +.. list-table:: DFA shared information inputs + :header-rows: 1 + :widths: 10,20,10,20 + + * - ID + - Violation cause shared information inputs + - Applicability + - Rationale + * - SI_01_02 + - Configuration data + - + - + * - SI_01_03 + - Constants, or variables, being global to the two software functions + - + - + * - SI_01_04 + - Basic software passes data (read from hardware register and converted into logical information) to two applications software functions + - + - + * - SI_01_05 + - Data / function parameter arguments / messages delivered by software function to more than one other function + - + - + +Unintended impact +^^^^^^^^^^^^^^^^^ + +Unintended impacts to function due to various failures. + +.. list-table:: DFA unintended impact + :header-rows: 1 + :widths: 10,20,10,20 + + * - ID + - Violation cause unintended impact + - Applicability + - Rationale + * - UI_01_01 + - Memory miss-allocation and leaks + - + - + * - UI_01_02 + - Read/Write access to memory allocated to another software element + - + - + * - UI_01_03 + - Stack/Buffer under-/overflow + - + - + * - UI_01_04 + - Deadlocks + - + - + * - UI_01_05 + - Livelocks + - + - + * - UI_01_06 + - Blocking of execution + - + - + * - UI_01_07 + - Incorrect allocation of execution time + - + - + * - UI_01_08 + - Incorrect execution flow + - + - + * - UI_01_09 + - Incorrect synchronization between software elements + - + - + * - UI_01_10 + - CPU time depletion + - + - + * - UI_01_11 + - Memory depletion + - + - + * - UI_01_12 + - Other HW unavailability + - + - + +DFA +=== +For all identified applicable failure initiators, the DFA is performed in the following section. + .. code-block:: rst .. comp_saf_dfa::