Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 18 additions & 37 deletions score/time_slave/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,65 +15,46 @@
.. _time_slave:

Time Slave
#####################

.. note:: Document header
##########

.. document:: Time Slave
:id: doc__time_slave
:status: draft
:status: valid
:version: 1
:safety: ASIL_B
:safety: QM
:security: NO
:realizes: wp__cmpt_request
:tags: time_slave

.. note::
Work in progress: structure, titles, and needs IDs only. Content and req/comp/feat traceability links to follow in later PRs.

.. code-block:: rst

.. comp:: Time Slave
:id: comp__time_slave_template
:security: YES
:safety: ASIL_B
:status: invalid
:implements: logic_arc_int__feature_name__interface_name1
:consists_of: comp__component_name_internal_1, comp__component_name_internal_2, comp__component_name_internal_3
:belongs_to: feat__feature_name

.. attention::
The above directives must be updated according to your Component.
.. comp:: Time Slave
:id: comp__time_slave
:security: NO
:safety: QM
:status: valid
:version: 1
:belongs_to: feat__time[version==1]

- Adjust ``status`` to be ``valid``
- Adjust ``safety`` and ``tags`` according to your needs

Abstract
========

[A short (~200 word) description of the component.]

This component implements a gPTP (IEEE 802.1AS) time synchronization slave daemon that receives time synchronization data from network and publishes it to IPC for client applications.

Specification
=============

[Describe the requirements, architecture of any component.] or


How to Teach This
=================
The component provides gPTP slave functionality with network message processing and IPC publishing:

[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_slave__gptp_slave`
* :need:`comp_req__time_slave__time_publishing`
* :need:`comp_req__time_slave__sync_state`
* :need:`comp_req__time_slave__phc_sync`
* :need:`comp_req__time_slave__error_reporting`
* :need:`comp_req__time_slave__efficient_access`

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
Expand Down
20 changes: 4 additions & 16 deletions score/time_slave/docs/requirements/chklst_req_inspection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,12 @@
.. document:: Time Slave Requirements Inspection Checklist
:id: doc__time_slave_req_inspection
:status: draft
:version: 2
:safety: ASIL_B
:security: YES
:version: 1
:safety: QM
:security: NO
:realizes: wp__requirements_inspect
:tags: time_slave

.. 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

Requirement Inspection Checklist
================================

Expand Down Expand Up @@ -166,7 +157,7 @@ See also :need:`doc_concept__wp_inspections` for further information about revie
.. attention::
The above checklist entries must be filled according to your component requirements in scope.

Note: If a Review ID is not applicable for your requirement, then state ""n/a" in status and comment accordingly in remarks.
Note: If a Review ID is not applicable for your requirement, then state "n/a" in status and comment accordingly in remarks.

The following requirements in "valid" state and with "inspected" tag set are in the scope of this inspection:

Expand All @@ -189,6 +180,3 @@ And also the following AoUs in "valid" state and with "inspected" tag set (for t
:columns: id;status;tags
:colwidths: 25,25,25
:sort: title

.. attention::
The above tables filtering must be updated according to your Component.
157 changes: 152 additions & 5 deletions score/time_slave/docs/requirements/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,160 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Requirements
############
Component Time Slave Requirements
##################################

.. document:: Time Slave Requirements
:id: doc__time_slave_requirements
:status: draft
:version: 1
:safety: QM
:security: NO
:realizes: wp__requirements_comp[version==1]
:tags: requirements, time_slave

Functional Requirements
-----------------------

.. comp_req:: gPTP Slave Protocol
:id: comp_req__time_slave__gptp_slave
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall receive and process gPTP (IEEE 802.1AS) protocol messages as a slave endpoint when connected to a network with a gPTP master.

.. comp_req:: Time Data Publishing
:id: comp_req__time_slave__time_publishing
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall publish synchronized time data to IPC after each successful synchronization update from the gPTP master.

.. comp_req:: Synchronization State Tracking
:id: comp_req__time_slave__sync_state
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall track synchronization state and report loss of synchronization when no valid gPTP messages are received within the configured timeout period.

.. comp_req:: Hardware Clock Synchronization
:id: comp_req__time_slave__phc_sync
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall support synchronization of the PTP hardware clock with the gPTP master when hardware timestamping is available.

.. comp_req:: Error Reporting
:id: comp_req__time_slave__error_reporting
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall report initialization failures and protocol errors via the logging interface when they occur.

.. comp_req:: Lifecycle Management
:id: comp_req__time_slave__lifecycle
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall support lifecycle management including initialization, runtime execution, and graceful shutdown.

.. comp_req:: Peer Delay Measurement
:id: comp_req__time_slave__peer_delay
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall measure network peer delay via IEEE 802.1AS PDelayReq/PDelayResp exchange and include it in published time data.

.. comp_req:: Platform Portability
:id: comp_req__time_slave__platform_portability
:reqtype: Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_sync[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall support deployment on multiple target platforms (Linux, QNX) with platform-specific network and hardware clock adaptations.

Non-Functional Requirements
---------------------------

.. comp_req:: Efficient Time Access
:id: comp_req__time_slave__efficient_access
:reqtype: Non-Functional
:security: NO
:safety: QM
:derived_from: feat_req__time__vehicle_time_ctrl_flow[version==1]
:status: valid
:version: 1
:satisfied_by: comp__time_slave

The component shall publish time data via shared memory to enable fast client access without kernel calls.

Assumption of Use Requirements
------------------------------

.. aou_req:: Network Interface Availability
:id: aou_req__time_slave__network_available
:reqtype: Process
:security: NO
:safety: QM
:status: valid
:version: 1

The user shall ensure the configured network interface is available and supports hardware timestamping before starting the component.

.. aou_req:: Single Instance Per Interface
:id: aou_req__time_slave__single_instance
:reqtype: Process
:security: NO
:safety: QM
:status: valid
:version: 1

The user shall run only one time_slave instance per network interface to avoid protocol conflicts.

.. needextend:: is_external == False and "time_slave" in id
:+tags: time_slave

.. note::
Work in progress: page structure only, content to follow in later PRs.

.. toctree::
:maxdepth: 1

requirements
chklst_req_inspection
Loading
Loading