Safety Manual#

Persistency Safety Manual
status: valid
security: NO
safety: ASIL_B
tags: persistency
version: 1

Introduction/Scope#

This manual will cover the Feature Persistency. It’s based on the components KVS and Tiny JSON.

Assumed Platform Safety Requirements#

For the module persistency the following safety related stakeholder requirements are assumed to define the top level functionality (purpose) of the module persistency. I.e. from these all the feature and component requirements implemented are derived.
List of stakeholder requirements, with ASIL B, the module’s components requirements are derived from.

Title

ID

Status

Safe Mode Switch

stkh_req__dependability__safety_features_11

valid

Support of safe Key/Value store

stkh_req__functional_req__support_of_store

valid

Assumptions of Use#

AoU Requirements#

Persistency Error handling
status: valid
security: NO
safety: ASIL_B

The application shall detect and handle the unavailability of the feature persistency. Unavailability covers errors reported by the persistency API as well as persistency calls which do not return or return too late (e.g. caused by blocked or delayed execution of the calling context).

Assumptions on the Environment#

Generally the assumption of the S-CORE platform SEooC is that it is integrated in a safe system, i.e. the POSIX OS it runs on is qualified and also the HW related failures are taken into account by the system integrator, if not otherwise stated in the module’s safety concept.

List of AoUs expected from the environment the module runs on:

Title

ID

Status

Persistency Error handling

aou_req__persistency__error_handling

valid

Assumptions on the User#

As there is no assumption on which specific OS and HW is used, the integration testing of the stakeholder and feature requirements is expected to be performed by the user of the platform SEooC. Tests covering all stakeholder and feature requirements performed on a reference platform (tbd link to reference platform specification), reviewed and passed are included in the platform SEooC safety package.
Additionally the components of the platform may have additional specific assumptions how they are used. These are part of every module documentation: Persistency Documentation. Assumptions from components to their users can be fulfilled in two ways:
1. There are assumption which need to be fulfilled by all SW components, e.g. “every user of an IPC mechanism needs to make sure that he provides correct data (including appropriate ASIL level)” - in this case the AoU is marked as “platform”.
2. There are assumption which can be fulfilled by a safety mechanism realized by some other S-CORE platform component and are therefore not relevant for an user who uses the whole platform. But those are relevant if you chose to use the module SEooC stand-alone - in this case the AoU is marked as “module”. An example would be the “JSON read” which requires “The user shall provide a string as input which is not corrupted due to HW or QM SW errors.” - which is covered when using together with safe S-CORE platform persistency feature.

List of AoUs on the user of the platform features or the module of this safety manual:

No needs passed the filters

Safety concept of the SEooC#

Persistency is developed fully deterministic. Detected errors are reported to the application, which has to handle them.
Persistency is executed in the execution context of the calling application. Failures which can not be detected by persistency
itself, like blocked or delayed execution, result in persistency not being available (no or too late response). The application
has to handle this unavailability (see Persistency Error handling (aou_req__persistency__error_handling)). Keeping persistency available is therefore
not a safety relevant assumption on the application.

Safety Anomalies#

No known safety anomalies related to the module persistency exist.

References#

<link to the user manual>
<other links>