Requirements#

JSON Requirements
status: draft
safety: ASIL_B

General Requirements#

JSON Deserialization
status: valid
security: NO
safety: ASIL_B

The JSON-Library shall provide a service to deserialize JSON data according to RFC8259, i.e. parse and check for well-formedness.

JSON Serialization
status: valid
security: NO
safety: ASIL_B

The JSON-Library shall provide a service to serialize user format into JSON data according to RFC8259.

Return data in user format
status: valid
security: NO
safety: ASIL_B

The JSON-Library shall return parsed data in a compatible user format.

Note: The user format shall be a regular type and not defined within the library.

User friendly API for information exchange#

Support for programming language idioms
status: valid
security: NO
safety: ASIL_B

The public API shall support the idioms of the programming language it is written in.

Use programming language infrastructure
status: valid
security: NO
safety: ASIL_B

The public API shall use core infrastructure of its programming language and accompanying standard libraries, whenever possible and meaningful.

Note: This includes error handling.

Enforce strict type compatibility
status: valid
security: NO
safety: ASIL_B

The public API shall enforce strict type compatibility. When a user requests a value, the API shall validate that the requested return type is compatible with the type and value of the stored JSON data.

Note: This includes checking if the stored value exceeds the range of the expected type.

Full testability for the user facing API#

Fully testable public API
status: valid
security: NO
safety: ASIL_B

The public API of the library shall support dependency injection with test doubles.

Note: This enables full testability of the user code.

Safety Impact#

JSON library ASIL level
status: valid
security: NO
safety: ASIL_B

The JSON library shall be ASIL-B compliant.

AoU Requirements#

JSON data integrity
status: valid
security: NO
safety: ASIL_B
tags: baselibs
reqtype: Non-Functional

The user shall provide a string as input which is not corrupted due to HW or QM SW errors.

Note: This could be achieved by using a safe read-only filesystem for JSON file storage or a checksum protection on the JSON file content.

Access control
status: valid
security: NO
safety: ASIL_B
tags: baselibs
reqtype: Non-Functional

The user shall ensure access control and manipulation prevention on the JSON files.

Note: This can be done by the hosting process and system configuration (e.g. by using dm-verity).