Requirements#

OS Library Requirements
status: draft
security: YES
safety: ASIL_B
tags: requirements, os_library, operating_system

Functional Requirements#

Operating System API Abstraction
status: valid
security: NO
safety: ASIL_B
tags: operating_system, baselibs, os_library
reqtype: Functional

The OS library shall provide a C++ abstraction layer that wraps operating system interfaces using type-safe, idiomatic C++ constructs.

Note

Operating system interfaces include POSIX system calls, POSIX library functions, C standard library functions, and platform-specific OS APIs

Thin Wrapper Principle
status: valid
security: NO
safety: ASIL_B
tags: operating_system, baselibs, os_library
reqtype: Functional

The OS library wrappers shall not add application-level logic beyond parameter type conversion and error translation.

Result-Based Error Propagation
status: valid
security: NO
safety: ASIL_B
tags: operating_system, baselibs, os_library
reqtype: Functional

The OS library shall propagate errors from operating system interfaces using a result type that either contains the successful return value or an error.

Linux Operating System Support
status: valid
security: NO
safety: ASIL_B
tags: operating_system, baselibs, os_library
reqtype: Functional

The OS library shall provide platform-specific abstractions for Linux operating system APIs, including Linux-specific system calls and services not available in the POSIX standard.

QNX Operating System Support
status: valid
security: NO
safety: ASIL_B
tags: operating_system, baselibs, os_library
reqtype: Functional

The OS library shall provide platform-specific abstractions for QNX operating system APIs, including QNX-specific system calls and services not available in the POSIX standard.

Assumptions of Use (AoU)#

Thread Safety
status: valid
security: NO
safety: ASIL_B
tags: operating_system, baselibs, os_library
reqtype: Non-Functional

The user shall implement external synchronization mechanisms (e.g., mutexes, atomic operations, or locks) when accessing or modifying OS library objects from multiple threads concurrently.

Note

The OS library provides no internal thread safety guarantees beyond those of the underlying system calls.