diff --git a/score/ts_client/docs/index.rst b/score/ts_client/docs/index.rst index ce32b5b9..35fa196e 100644 --- a/score/ts_client/docs/index.rst +++ b/score/ts_client/docs/index.rst @@ -18,13 +18,13 @@ Time Sync Client ################ .. document:: Time Sync Client - :id: doc__ts_client + :id: doc__time_ts_client :status: draft :version: 1 - :safety: ASIL_B + :safety: QM :security: NO :realizes: wp__cmpt_request - :tags: ts_client + :tags: time_ts_client .. comp:: Time Sync Client :id: comp__time_ts_client @@ -37,29 +37,22 @@ Time Sync Client Abstract ======== -[A short (~200 word) description of the component.] - +This component provides IPC mechanisms for time synchronization data exchange between time daemons and client applications within an ECU. Specification ============= -[Describe the requirements, architecture of any component.] or - - -How to Teach This -================= +The component provides shared memory-based IPC for distributing time synchronization data with thread-safe, low-latency access: -[How to teach users, new and experienced, how to apply the CR to their work.] - -.. note:: - For a CR that adds new functionality or changes behaviour, it is helpful to include a section on how to teach users, new and experienced, how to apply the CR to their work. +* :need:`comp_req__time_ts_client__shared_memory_mgmt` +* :need:`comp_req__time_ts_client__data_publishing` +* :need:`comp_req__time_ts_client__data_reception` +* :need:`comp_req__time_ts_client__lockfree_sync` +* :need:`comp_req__time_ts_client__low_latency` Footnotes ========= -[A collection of footnotes cited in the CR, and a place to list non-inline hyperlink targets.] - - Further Documentation of the component can be found in the following sections: Component Detail Information diff --git a/score/ts_client/docs/manuals/.gitkeep b/score/ts_client/docs/manuals/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/score/ts_client/docs/requirements/chklst_req_inspection.rst b/score/ts_client/docs/requirements/chklst_req_inspection.rst index 9a5d1ef2..587da0a3 100644 --- a/score/ts_client/docs/requirements/chklst_req_inspection.rst +++ b/score/ts_client/docs/requirements/chklst_req_inspection.rst @@ -171,10 +171,10 @@ Note: If a Review ID is not applicable for your requirement, then state ""n/a" i The following requirements in "valid" state and with "inspected" tag set are in the scope of this inspection: .. needtable:: - :filter: "ts_client" in docname and "requirements" in docname and docname is not None and status == "valid" + :filter: "time_ts_client" in docname and "requirements" in docname and docname is not None and status == "valid" :style: table :types: comp_req - :tags: ts_client + :tags: time_ts_client :columns: id;status;tags :colwidths: 25,25,25 :sort: title @@ -182,13 +182,10 @@ The following requirements in "valid" state and with "inspected" tag set are in And also the following AoUs in "valid" state and with "inspected" tag set (for these please answer the questions above as if the AoUs are requirements, except question REQ_03_01): .. needtable:: - :filter: "ts_client" in docname and "requirements" in docname and docname is not None and status == "valid" + :filter: "time_ts_client" in docname and "requirements" in docname and docname is not None and status == "valid" :style: table :types: aou_req - :tags: ts_client + :tags: time_ts_client :columns: id;status;tags :colwidths: 25,25,25 :sort: title - -.. attention:: - The above tables filtering must be updated according to your Component. diff --git a/score/ts_client/docs/requirements/index.rst b/score/ts_client/docs/requirements/index.rst index 400d1d03..0dfcc2e3 100644 --- a/score/ts_client/docs/requirements/index.rst +++ b/score/ts_client/docs/requirements/index.rst @@ -12,13 +12,103 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -Requirements -############ +Component Time Sync Client Requirements +######################################## -.. note:: - Work in progress: page structure only, content to follow in later PRs. +.. document:: Time Sync Client Requirements + :id: doc__time_ts_client_requirements + :status: draft + :version: 1 + :safety: ASIL_B + :security: NO + :realizes: wp__requirements_comp[version==1] + :tags: requirements, time_ts_client + + +Functional Requirements +----------------------- + +.. comp_req:: Shared Memory Channel Management + :id: comp_req__time_ts_client__shared_memory_mgmt + :reqtype: Functional + :security: NO + :safety: ASIL_B + :derived_from: feat_req__time__vehicle_time_sync[version==1] + :status: valid + :version: 1 + :satisfied_by: comp__time_ts_client + + The ts_client component shall provide operations to create, open, and close shared memory segments for gPTP time synchronization data exchange. + +.. comp_req:: Time Synchronization Data Publishing + :id: comp_req__time_ts_client__data_publishing + :reqtype: Functional + :security: NO + :safety: ASIL_B + :derived_from: feat_req__time__vehicle_time_sync[version==1] + :status: valid + :version: 1 + :satisfied_by: comp__time_ts_client + + The ts_client component shall provide a publisher interface that enables time daemon processes to write time synchronization metadata (synchronized time points, synchronization status, rate correction) to shared memory using single-writer semantics. + +.. comp_req:: Time Synchronization Data Reception + :id: comp_req__time_ts_client__data_reception + :reqtype: Functional + :security: NO + :safety: ASIL_B + :derived_from: feat_req__time__vehicle_time_sync[version==1] + :status: valid + :version: 1 + :satisfied_by: comp__time_ts_client + + The ts_client component shall provide a receiver interface that enables multiple reader processes to access time synchronization metadata from shared memory without blocking writers or other readers. + +.. comp_req:: Lock-Free Data Synchronization + :id: comp_req__time_ts_client__lockfree_sync + :reqtype: Functional + :security: NO + :safety: ASIL_B + :derived_from: feat_req__time__vehicle_time_sync[version==1] + :status: valid + :version: 1 + :satisfied_by: comp__time_ts_client + + The ts_client component shall allow thread-safe, lock-free access to shared time synchronization data between publisher and receiver processes. + + +Non-Functional Requirements +--------------------------- + +.. comp_req:: Low-Latency Time Data Access + :id: comp_req__time_ts_client__low_latency + :reqtype: Non-Functional + :security: NO + :safety: ASIL_B + :derived_from: feat_req__time__vehicle_time_ctrl_flow[version==1] + :status: valid + :version: 1 + :satisfied_by: comp__time_ts_client + + The ts_client component shall provide time synchronization data access operations with minimal latency to support real-time time-sensitive applications. + +Assumption of Use Requirements +------------------------------ + +.. aou_req:: Single Publisher Process + :id: aou_req__time_ts_client__single_publisher + :reqtype: Process + :security: NO + :safety: ASIL_B + :status: valid + :version: 1 + + The ts_client user shall ensure that only one publisher process opens and writes to a shared memory segment to maintain data consistency. + +.. needextend:: is_external == False and "time_ts_client" in id + :+tags: time_ts_client .. toctree:: + :maxdepth: 1 - requirements chklst_req_inspection diff --git a/score/ts_client/docs/requirements/requirements.rst b/score/ts_client/docs/requirements/requirements.rst deleted file mode 100644 index 129c87e7..00000000 --- a/score/ts_client/docs/requirements/requirements.rst +++ /dev/null @@ -1,112 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2026 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -Component Time Sync Client Requirements -######################################## - -.. document:: Time Sync Client Requirements - :id: doc__ts_client_requirements - :status: draft - :version: 1 - :safety: ASIL_B - :security: NO - :realizes: wp__requirements_comp[version==1] - :tags: ts_client - -.. note:: - Work in progress: structure, titles, and needs IDs only. Content and req/comp/feat traceability links to follow in later PRs. - -.. attention:: - The above directive must be updated according to your Component. - - - Adjust ``status`` to be ``valid`` - - Adjust ``safety``, ``security`` and ``tags`` according to your needs - - -=================================================================== - -Functional Requirements ------------------------ - -.. code-block:: rst - - .. comp_req:: Some Title - :id: comp_req__ts_client__some_title - :reqtype: Functional - :security: NO - :safety: ASIL_B - :derived_from: feat_req__time__example_req - :status: invalid - :version: 1 - :satisfied_by: comp__time_ts_client - - The Component shall do xyz to another component to bring it to this condition at this time - - Note: (optional, not to be verified) - -.. attention:: - The above directive must be updated according to your component requirements. - - - Replace the example content by the real content for your first requirement - - Set ``derived_from`` with links to Feature requirements - - Set ``satisfied_by`` with a link to the right Component id - - Set ``safety`` and ``security`` to the right value - - Set the status to valid and start the review/merge process - - Add other needed requirements for your component - -Assumption of Use Requirements ------------------------------- - -.. code-block:: rst - - .. aou_req:: Next Title - :id: aou_req__ts_client__next_title - :reqtype: Process - :security: NO - :safety: ASIL_B - :status: invalid - :version: 1 - - The Component User shall do xyz to use the component safely/securely - -Environmental Requirements --------------------------- - -.. code-block:: rst - - .. aou_req:: Another Title - :id: aou_req__ts_client__another - :reqtype: Process - :security: NO - :safety: ASIL_B - :status: invalid - :version: 1 - :tags: environment - - The Component shall only be used in a xyz environment to ensure its proper functioning. - -Hints ------ - -.. attention:: - The above directives must be updated according to your feature requirements. - - - Replace the example content by the real content for your first requirement (according to :need:`gd_guidl__req_engineering`) - - Set ``safety`` and ``security`` to the right value (ASIL B/QM; YES/NO) - - Set ``reqtype`` with a link to the right value () - - Add other needed requirements for your feature - - Set ``status`` to ``valid`` and start the review/merge process - -.. needextend:: is_external == False and "ts_client" in id - :+tags: ts_client