block_interface
Defines the contract for all logic blocks in the safety analysis.
BlockInterface
Bases: ABC
Abstract interface defining the mandatory structure for all logic blocks.
Every block in the system must implement this interface to ensure modularity and nesting capabilities within the safety analysis.
Source code in src/ecc_analyzer/interfaces/block_interface.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
compute_fit(spfm_rates, lfm_rates)
abstractmethod
Transforms the input fault rate dictionaries according to the block's specific logic.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
spfm_rates
|
dict[FaultType, float]
|
Dictionary mapping fault types to their current residual (SPFM) failure rates (FIT). |
required |
lfm_rates
|
dict[FaultType, float]
|
Dictionary mapping fault types to their current latent (LFM) failure rates (FIT). |
required |
Returns:
| Type | Description |
|---|---|
tuple[dict[FaultType, float], dict[FaultType, float]]
|
tuple[dict[FaultType, float], dict[FaultType, float]]: A tuple containing: - Updated SPFM rates dictionary. - Updated LFM rates dictionary. |
Source code in src/ecc_analyzer/interfaces/block_interface.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |