Requirements#
Persistency KVS Module Requirements
|
status: valid
security: NO
safety: ASIL_B
|
||||
Key Naming
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall accept keys that consist solely of alphanumeric characters, underscores, or dashes. |
|||||
Key Encoding
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall encode each key as valid UTF-8. |
|||||
Key Uniqueness
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall guarantee that each key is unique. |
|||||
Key Length
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall limit the maximum length of a key to 32 bytes. |
|||||
Value Data Types
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall accept only values of the following data types: Number, String, Null, Array[Value], or Dictionary{Key:Value}. |
|||||
Value Serialization
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall serialize and deserialize all values to and from JSON. |
|||||
Value Length
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall limit the maximum length of a value to 1024 bytes. |
|||||
Value Default
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall support unset values and shall provide a default value when a value is unset. |
|||||
Value Reset
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall allow resetting a value to its default if a default is defined. |
|||||
Default Value Datatypes
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall accept default values of only permitted value data types. |
|||||
Default Value Query
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall provide an API to retrieve default values. |
|||||
Default Value Config
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall allow configuration of default values in code or in a separate configuration file. |
|||||
Default Value Checksum
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall secure the configuration file for default values with an associated checksum file when default values are stored in a file. |
|||||
Constraint Configuration
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall allow configuration of KVS constraints at compile-time using source code constants or at runtime using a configuration file. |
|||||
Concurrency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall implement thread-safe mechanisms to enable concurrent access to data without data races. |
|||||
Multi-Instance
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall manage all runtime variables within an instance to enable creation and use of multiple KVS instances concurrently within a single software architecture element. |
|||||
Persistent Data Storage Components
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall use the file API and the JSON data format to persist data. |
|||||
Persistent Data Storage Checksum Write
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall generate a checksum for each data file and shall store it alongside the data. |
|||||
Persistent Data Storage Checksum Verify
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall verify the checksum when loading data. |
|||||
Persistent Data Storage Backend
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall use the file API to persist data. |
|||||
Persistent Data Storage Format
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall use the JSON data format to persist data. |
|||||
Persistent Data Versioning
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall not provide built-in versioning. |
|||||
Persistent Data Schema
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall use a JSON file storage format that enables the application to implement versioning, including upgrade and downgrade paths, as needed. |
|||||
Snapshot Creation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall create a snapshot each time data is stored. |
|||||
Snapshot Maximum Number
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall maintain a configurable maximum number of snapshots. |
|||||
Snapshot IDs
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall assign the ID 1 to the newest snapshot and shall increment the IDs of older snapshots accordingly. |
|||||
Snapshot Rotation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall rotate and delete the oldest snapshot when the maximum number is reached. |
|||||
Snapshot Restore
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall allow restoration of a snapshot by its ID. |
|||||
Snapshot Deletion
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall allow deletion of individual snapshots. |
|||||
Engineering Mode
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall provide an engineering mode that can be enabled during build time to display debugging and internal information. |
|||||
Field Mode
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall provide a field mode that can be enabled during build time to restrict access as much as possible. |
|||||
Async API
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall provide an asynchronous API in addition to the standard API. |
|||||
Permission Control
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall rely on the underlying filesystem for access and permission management and shall not implement its own access or permission controls. |
|||||
Permission Error Handling
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall report any access or permission errors encountered at the filesystem level to the application. |
|||||
Callback Support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The component shall provide an API for registering callbacks that are triggered by data change events. |
|||||