Safety Manual#
Note
Document header
[Your Module Name] Safety Manual
|
status: draft
security: YES
safety: ASIL_B
|
||||
Attention
The above directive must be updated according to your Module.
Modify
Your Module Nameto be your Module Name or put “Platform”Modify
idto be your Module Name in upper snake case preceded bydoc__and succeeded bysafety_manualAdjust
statusto bevalidAdjust
safetyandtagsaccording to your needs
Introduction/Scope#
Assumed Platform Safety Requirements#
Assumptions of Use#
Assumptions on the Environment#
List of AoUs expected from the environment the platform / module runs on:
Title |
ID |
Status |
|---|---|---|
Another Title |
invalid |
|
Build environment supports Rust 2021 |
valid |
|
Crypto Environmental Requirement Example |
invalid |
|
External Health Management |
valid |
|
OS safety functions |
valid |
|
pkcs11_dynload: Integrity and authenticity of the pkcs11 module |
valid |
|
pkcs11_dynload: No use of ALLOW_PKCS11_LIB_OVERRIDE |
valid |
|
POSIX Operating System |
valid |
|
Process Isolation |
valid |
|
Safe HW platform |
valid |
Attention
Make sure these AoU are here for a safety reason, i.e. every one “mitigates” a safety analysis entry.
Assumptions on the User#
List of AoUs on the user of the platform or the module of this safety manual:
Note: Platform safety manual collects all platform wide AoU (have to be fulfilled by the user for any feature). Module safety manual collects all AoUs specific to a feature and its realizing components. This means for every feature the user selects, the platform safety manual and the related module manual has to be considered.
Title |
ID |
Status |
|---|---|---|
aragen not safe |
valid |
|
Avoidance of Exceptions |
valid |
|
Avoidance of heap allocations after initialization |
valid |
|
Bazel tooling |
valid |
|
Bug fixing |
valid |
|
Bug interface |
valid |
|
C++ Library Preference |
valid |
|
Check for nullptr on Allocate() |
valid |
|
Checking for possible message overflow |
valid |
|
Config on a safe filesystem |
valid |
|
Correctly configured ASIL Level |
valid |
|
Correctly configured events/fields per service type |
valid |
|
Correctly configured maximum number of maximum elements per subscriber |
valid |
|
Correctly Configured Maximum Number of Subscribers |
valid |
|
Crypto AoU Requirement Example |
valid |
|
Different user for ASIL and QM processes |
valid |
|
Error Reaction |
valid |
|
Event or Field reception via GenericProxy needs specific care |
valid |
|
Event Subscription active while holding SamplePtr |
valid |
|
FEO something |
invalid |
|
FEO something |
invalid |
|
Integrate as Rust library API |
valid |
|
Integration assistance |
valid |
|
Integration levels |
valid |
|
Integration manual |
valid |
|
Integrator safety anomaly reporting |
valid |
|
LoLa Memory only accessed through LoLa |
valid |
|
LoLa specific QNX Messaging End-Points only accessed through LoLa |
valid |
|
Minimal Process Privileges |
valid |
|
Monotonic Semi-Dynamic Memory Allocation |
valid |
|
Next Title |
invalid |
|
No APIs from Implementation Namespace |
valid |
|
No Copy-Send() while holding AllocateePtr. |
valid |
|
No guarantee in availability of services |
valid |
|
No guarantee on execution time |
valid |
|
No guarantees for notifications |
valid |
|
No mixed ASIL |
valid |
|
No notification on termination of producer |
valid |
|
No Root Privileges |
valid |
|
No shared memory allocation in namespace lola |
valid |
|
No static context support |
valid |
|
Non-Terminating callbacks |
valid |
|
None reentrant methods per event instance |
valid |
|
on_target_crates |
invalid |
|
One producer only one AllocateePtr |
valid |
|
Only LoLa supported types |
valid |
|
OS Public API Use |
valid |
|
pkcs11_dynload: pkcs11.h compatiblity |
valid |
|
Program Flow Monitoring |
valid |
|
Quality of data is dependent on producer |
valid |
|
RST-0001 |
valid |
|
RST-0002 |
invalid |
|
rust_core_lib |
valid |
|
rust_std_lib_modules |
invalid |
|
Safe OS Function Use |
valid |
|
Safety anomaly reporting |
valid |
|
Safety AoU |
valid |
|
Safety functions |
valid |
|
Safety integration |
valid |
|
Safety matching |
valid |
|
Same compiler settings for provider and consumer side |
valid |
|
Skeleton alive while its AllocateePtr being used |
valid |
|
Success Expected |
valid |
|
SW-platform integration bug reporting |
valid |
|
SW-platform test completion |
valid |
|
SW-platform testing |
valid |
|
unsupported data-types |
valid |
|
Usage of configuration "oversubscription" |
valid |
|
Valid callbacks while proxy alive |
valid |
|
Validity of pointer on LoLa pointer |
valid |
Attention
Make sure these AoU are here for a safety reason, i.e. every one “mitigates” a safety analysis entry.