Safety Manual#
Orchestrator Safety Manual
|
status: draft
security: YES
safety: ASIL_B
|
||||
Introduction/Scope#
This safety manual covers the orchestrator module.
Assumed Platform Safety Requirements#
For the orchestrator module name the following safety related stakeholder requirements are assumed to define the top level functionality (purpose) of the module. I.e. from these all the feature and component requirements implemented are derived.
Processes and thread manage... (stkh_req__execution_model__processes) - this requirement is QM and not fully covered as ASIL, only combined with the following requirements
Automotive Safety Integrity... (stkh_req__dependability__automotive_safety)
Support for Time-based Arch... (stkh_req__app_architectures__support_time)
The user needs to check orchestration feature level requirements to see which functionalities are provided as ASIL B.
Assumptions of Use#
Assumptions on the Environment#
List of AoUs expected from the environment the platform / module runs on:
Title |
ID |
Status |
|---|---|---|
Application execution |
valid |
|
External Health Management |
valid |
|
OS safety functions |
valid |
|
Persistency Error handling |
valid |
|
POSIX Operating System |
valid |
|
Process Isolation |
valid |
|
Safe HW platform |
valid |
Assumptions on the User#
List of AoUs on the user of the platform features or the module of this safety manual:
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |