From a32a48acf89ec4a9f853ecc4069b51409f9a36ce Mon Sep 17 00:00:00 2001 From: Simon Hein Date: Mon, 27 May 2024 16:54:34 +0200 Subject: [PATCH 1/4] system: remove user story for threads The user story for threads have no value because most of the time it repeats the requirements statement. Signed-off-by: Simon Hein --- docs/system_requirements/index.sdoc | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docs/system_requirements/index.sdoc b/docs/system_requirements/index.sdoc index 757ee56c..f10845da 100644 --- a/docs/system_requirements/index.sdoc +++ b/docs/system_requirements/index.sdoc @@ -209,9 +209,6 @@ TITLE: Thread support STATEMENT: >>> The Zephyr RTOS shall support threads. <<< -USER_STORY: >>> -As a Zephyr RTOS user, I want to be able to have support for the kernel objects named threads for processing work. -<<< [REQUIREMENT] UID: ZEP-SYRS-16 @@ -222,9 +219,6 @@ TITLE: Thread management STATEMENT: >>> The Zephyr RTOS shall provide a framework for managing multiple threads of execution. <<< -USER_STORY: >>> -As a Zephyr RTOS user, I want to be able to manage the execute of multiple threads with different priorities. -<<< [REQUIREMENT] UID: ZEP-SYRS-17 @@ -235,9 +229,6 @@ TITLE: Thread priority STATEMENT: >>> Threads shall have a priority. <<< -USER_STORY: >>> -As a Zephyr RTOS user, I want to be able to give my threads different priorities for execution. -<<< [/SECTION] From 2f9a876c134c819563703a9521484e0b522c75de Mon Sep 17 00:00:00 2001 From: Simon Hein Date: Mon, 27 May 2024 16:56:19 +0200 Subject: [PATCH 2/4] system: Change Threads requirement type Change the requirement type for the Threads to Non-Functional. Signed-off-by: Simon Hein --- docs/system_requirements/index.sdoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/system_requirements/index.sdoc b/docs/system_requirements/index.sdoc index f10845da..5d35c01f 100644 --- a/docs/system_requirements/index.sdoc +++ b/docs/system_requirements/index.sdoc @@ -203,7 +203,7 @@ TITLE: Threads [REQUIREMENT] UID: ZEP-SYRS-15 STATUS: Draft -TYPE: High Level +TYPE: Non-Functional COMPONENT: Threads TITLE: Thread support STATEMENT: >>> @@ -213,7 +213,7 @@ The Zephyr RTOS shall support threads. [REQUIREMENT] UID: ZEP-SYRS-16 STATUS: Draft -TYPE: High Level +TYPE: Non-Functional COMPONENT: Threads TITLE: Thread management STATEMENT: >>> @@ -223,7 +223,7 @@ The Zephyr RTOS shall provide a framework for managing multiple threads of execu [REQUIREMENT] UID: ZEP-SYRS-17 STATUS: Draft -TYPE: High Level +TYPE: Non-Functional COMPONENT: Threads TITLE: Thread priority STATEMENT: >>> From 318ffcf4360ef22cdb2dedcd5d29ab92910c4b79 Mon Sep 17 00:00:00 2001 From: Simon Hein Date: Tue, 28 May 2024 16:53:51 +0200 Subject: [PATCH 3/4] software: Add thread requirements Add new thread requirements to the software requirements Signed-off-by: Simon Hein --- docs/software_requirements/threads.sdoc | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/docs/software_requirements/threads.sdoc b/docs/software_requirements/threads.sdoc index ef610282..4145a78b 100644 --- a/docs/software_requirements/threads.sdoc +++ b/docs/software_requirements/threads.sdoc @@ -5,6 +5,62 @@ REQ_PREFIX: ZEP-SRS-1- [GRAMMAR] IMPORT_FROM_FILE: software_requirements.sgra +[REQUIREMENT] +UID: ZEP-SRS-1-13 +STATUS: Draft +TYPE: Functional +COMPONENT: Threads +TITLE: Thread definition at compile time +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to define and initialize threads at compile time. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-15 + +[REQUIREMENT] +UID: ZEP-SRS-1-14 +STATUS: Draft +TYPE: Functional +COMPONENT: Threads +TITLE: Thread definition at run time +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to define and initialize threads at run time. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-15 + +[REQUIREMENT] +UID: ZEP-SRS-1-15 +STATUS: Draft +TYPE: Functional +COMPONENT: Threads +TITLE: Thread stack definition at compile time +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to define the thread stack at compile time. +<<< + +[REQUIREMENT] +UID: ZEP-SRS-1-16 +STATUS: Draft +TYPE: Functional +COMPONENT: Threads +TITLE: Dynamic thread stack allocation +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to dynamically allocate thread stack at run time. +<<< + +[REQUIREMENT] +UID: ZEP-SRS-1-17 +STATUS: Draft +TYPE: Functional +COMPONENT: Threads +TITLE: Free dynamic allocated thread stack +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to free dynamically allocated thread stack at run time. +<<< + [REQUIREMENT] UID: ZEP-SRS-1-1 STATUS: Draft From 874a78349c73684fb2ce916cdcba32aecd5666ff Mon Sep 17 00:00:00 2001 From: Simon Hein Date: Mon, 10 Jun 2024 19:17:02 +0200 Subject: [PATCH 4/4] software: Refine thread requirements Update the thread requirements to align better to the guidelines how to write requirements and to make them more specific and aligned to the current implementation. Signed-off-by: Simon Hein --- docs/software_requirements/threads.sdoc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/software_requirements/threads.sdoc b/docs/software_requirements/threads.sdoc index 4145a78b..57918866 100644 --- a/docs/software_requirements/threads.sdoc +++ b/docs/software_requirements/threads.sdoc @@ -68,7 +68,7 @@ TYPE: Functional COMPONENT: Threads TITLE: Creating threads STATEMENT: >>> -The Zephyr RTOS shall provide an interface to create (start) a thread. +The Zephyr RTOS shall provide a mechanism to create a thread. <<< RELATIONS: - TYPE: Parent @@ -156,10 +156,7 @@ TYPE: Functional COMPONENT: Threads TITLE: Thread states 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. +Threads shall have different states during their lifetime. <<< RELATIONS: - TYPE: Parent