Requirements#
Persistency KVS Feature Requirements
|
status: valid
safety: ASIL_B
|
||||
C++ & Rust Interoperability
|
status: valid
security: NO
safety: QM
|
||||
The Key-Value-Storage shall provide access through both C++ and Rust interfaces. |
|||||
Maximum Size
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support specification of its maximum size at compile time. |
|||||
Multiple KVS per Software Architecture Element
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall allow instantiating multiple independent stores per software architecture element. |
|||||
Supported Datatypes (Keys)
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support UTF-8 encoded strings as valid key types. |
|||||
Supported Datatypes (Values)
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support storing both primitive and non-primitive datatypes as values. The supported datatypes shall match those used by the IPC feature. |
|||||
Default Values
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support predefined default values for keys. |
|||||
Default Value Retrieval
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support retrieving the default value associated with a key. |
|||||
Default Value Reset
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support resetting a single key or all keys to their respective default values. |
|||||
Persistency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall persist stored data and provide an API to explicitly trigger persistence. |
|||||
Integrity Check
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall detect and report data corruption. Note: Implementation depends on AoUs. |
|||||
Versioning
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support versioning for different layout configurations. |
|||||
Update Mechanism
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall implement mechanisms to upgrade from one version to another, including multi-version jumps. |
|||||
Snapshots
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support explicit creation of snapshots identified by unique IDs and allow rollback to previous snapshots. Snapshots shall also be deletable. |
|||||
Tooling
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall provide tooling support for viewing and modifying key-value pairs during development and debugging. |
|||||
Variant management support
|
status: valid
security: NO
safety: QM
|
||||
The Key-Value-Storage shall ensure compatibility across different architectures and versions. |
|||||
Set default key values via file
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support the configuration of default key values using an external file. |
|||||
Configure limits via file
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support the configuration of memory and other resource limits via a configuration file. |
|||||
Store persistent data
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support storing and loading its data to and from persistent storage. |
|||||
Support engineering mode
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall an engineering (developer) mode. The engineering mode shall allow unrestricted data access. |
|||||
Support field mode
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall a field mode. The field mode should enforce the most restrictive data access controls feasible. |
|||||
Provide an async API
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall provide an asynchronous API for accessing and manipulating data. |
|||||
Separate data stores
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall ensure that only authorized components can access individual data stores. |
|||||
Data-change events
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall provide an API that allows for the registration of callback functions. These callbacks shall be invoked in response to specific events, such as when keys are changed or removed. |
|||||
Fast access
|
status: valid
security: NO
safety: QM
|
||||
The Key-Value-Storage shall ensure that key operations are completed within 5 milliseconds. |
|||||
Intra-Process Data Access
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Key-Value-Storage shall support concurrent intra-process data access. |
|||||
AoU Requirements#
Persistency Error handling
|
status: valid
security: NO
safety: ASIL_B
|
||||
The application shall handle if the feature persistency is not available. |
|||||
Application deadlock
|
status: valid
security: NO
safety: ASIL_B
|
||||
The application shall be designed in a way that deadlocks are avoided. |
|||||
Application execution
|
status: valid
security: NO
safety: ASIL_B
|
||||
The execution of persistency shall not be blocked by the application. |
|||||