Requirements#
Concurrency Requirements
|
status: draft
security: YES
safety: ASIL_B
|
||||
Functional Requirements#
Asynchronous Task Execution
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall allow running tasks asynchronously. |
|||||
Task Cancellation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall allow cancelling tasks when needed. |
|||||
Simple Task Implementation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide implementation for executing callable objects without returning results, supporting fire-and-forget asynchronous operations. |
|||||
Task Result Management
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide implementation to access the result of an asynchronously running task or to request aborting the task when the result is no longer needed. |
|||||
Periodic Task Execution
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide implementation for executing callable objects at regular intervals with configurable first execution time and period duration. |
|||||
Delayed Task Execution
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide implementation for executing callable objects after a specified delay with support for early cancellation. |
|||||
Executor Interface
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide interface defining a common API for task submission operations, graceful shutdown, and maximum concurrency level reporting. |
|||||
Thread Pool Implementation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide implementation that manages submitted tasks in FIFO order. |
|||||
Interruptible Condition Variable
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide an abortable mechanism for threads to wait for conditions. |
|||||
Interruptible Wait Utilities
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide utilities offering APIs for sleep operations allowing early cancellation. |
|||||
Notification Mechanism
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall allow one thread to notify another thread once, with a timeout option. |
|||||
Synchronized Queue
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide a thread-safe container facilitating FIFO transmission of data in a N:1 communication pattern. |
|||||
Long-Running Threads Container
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall provide a container for managing long-running threads, allowing addition and removal of threads. |
|||||
Non-Functional Requirements#
Memory Usage Control
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall limit memory usage to prevent uncontrolled resource consumption. |
|||||
Memory Reservation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall allow reserving memory upfront for tasks to ensure predictable resource allocation. |
|||||
Thread Count Reporting
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall report the maximum number of concurrent threads available for task execution. |
|||||
Operation Timeout Protection
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall avoid indefinitely blocking, unabortable operations. |
|||||
Future Error Handling
|
status: valid
security: NO
safety: ASIL_B
|
||||
The concurrency module shall use error codes instead of throwing exceptions. |
|||||