diff --git a/docs/software_requirements/condition_variables.sdoc b/docs/software_requirements/condition_variables.sdoc new file mode 100644 index 0000000..0b7e249 --- /dev/null +++ b/docs/software_requirements/condition_variables.sdoc @@ -0,0 +1,97 @@ +[DOCUMENT] +TITLE: Condition Variables +REQ_PREFIX: ZEP-SRS-21- + +[GRAMMAR] +IMPORT_FROM_FILE: software_requirements.sgra + +[REQUIREMENT] +UID: ZEP-SRS-21-1 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Dynamic initialization of condition variables +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable dynamically (at runtime). +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 + +[REQUIREMENT] +UID: ZEP-SRS-21-2 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Static initialization of condition variables +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable statically (at compile time). +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 + +[REQUIREMENT] +UID: ZEP-SRS-21-3 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Signal one waiting thread +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to signal one waiting thread when a condition is met. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 + +[REQUIREMENT] +UID: ZEP-SRS-21-4 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Signal multiple waiting threads +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism to signal all waiting threads when a condition is met. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 + +[REQUIREMENT] +UID: ZEP-SRS-21-5 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Wait on a condition variable +STATEMENT: >>> +The Zephyr RTOS shall provide a mechanism for a thread to wait on a condition variable. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 + +[REQUIREMENT] +UID: ZEP-SRS-21-6 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Release mutex on wait +STATEMENT: >>> +While waiting on a condition variable the thread shall release the current owned mutex. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 + +[REQUIREMENT] +UID: ZEP-SRS-21-7 +STATUS: Draft +TYPE: Functional +COMPONENT: Condition Variables +TITLE: Unblock a waiting thread +STATEMENT: >>> +A waiting thread shall only be unblocked if a signal is sent to the condition variable. +<<< +RELATIONS: +- TYPE: Parent + VALUE: ZEP-SYRS-20 diff --git a/docs/software_requirements/index.sdoc b/docs/software_requirements/index.sdoc index 668701e..e200aa9 100644 --- a/docs/software_requirements/index.sdoc +++ b/docs/software_requirements/index.sdoc @@ -61,3 +61,6 @@ FILE: timers.sdoc [DOCUMENT_FROM_FILE] FILE: tracing.sdoc + +[DOCUMENT_FROM_FILE] +FILE: condition_variables.sdoc