Zephyr Project Requirements
Threads

Threads

STATEMENT:

SPDX-License-Identifier: Apache-2.0

ZEP-SRS-1-1
1. Creating threads
UID: ZEP-SRS-1-1
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to create (start) a thread.

ZEP-SRS-1-2
2. Setting thread priority
UID: ZEP-SRS-1-2
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to set a thread's priority.

ZEP-SRS-1-3
3. Suspending a thread
UID: ZEP-SRS-1-3
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to suspend a thread.

ZEP-SRS-1-4
4. Resuming a suspended thread
UID: ZEP-SRS-1-4
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to resume a suspended thread.

ZEP-SRS-1-5
5. Resuming a suspended thread after a timeout
UID: ZEP-SRS-1-5
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to resume a suspended thread after a timeout.

ZEP-SRS-1-6
6. Deleting a thread
UID: ZEP-SRS-1-6
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to delete (end) a thread.

ZEP-SRS-1-7
7. Thread states
UID: ZEP-SRS-1-7
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

Threads shall have different states to fulfill the Life-cycle of a thread

USER_STORY:

As a Zephyr RTOS user, I want to know in what state a specific thread is.

ZEP-SRS-1-8
8. Thread stack objects
UID: ZEP-SRS-1-8
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

Every Thread shall have it's own stack.

USER_STORY:

As a Zephyr RTOS user I want to be able to configure the stack size of a thread. And every thread shall have it's own dedicated stack.

ZEP-SRS-1-9
9. Thread privileges
UID: ZEP-SRS-1-9
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to create threads with defined privilege.

ZEP-SRS-1-10
10. Scheduling multiple threads
UID: ZEP-SRS-1-10
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall provide an interface to schedule multiple threads.

ZEP-SRS-1-11
11. Thread Options
UID: ZEP-SRS-1-11
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

The Zephyr RTOS shall support a set of thread options.

USER_STORY:

As a Zephyr RTOS user, I want to be able to pass specific option to a thread.

ZEP-SRS-1-12
12. Thread Custom Data
UID: ZEP-SRS-1-12
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
RELATIONS (Parent):
STATEMENT:

Every thread shall have a custom data area.

USER_STORY:

As a Zephyr RTOS user, I want to be able to set a thread specific custom area for every thread I create and which can be used only by the thread itself or the can be used by the application