Requirements#
OS Library Requirements
|
status: draft
security: YES
safety: ASIL_B
|
||||
Functional Requirements#
Operating System API Abstraction
|
status: valid
security: NO
safety: ASIL_B
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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. |
|||||