Component Time Sync Client Requirements#

Time Sync Client Requirements
status: draft
security: NO
safety: ASIL_B
tags: requirements, ts_client, ts_client
version: 1

Functional Requirements#

Shared Memory Management#

Shared Memory Channel Management
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Functional
version: 1

The ts_client component shall provide operations to create, open, and close shared memory channels for gPTP data exchange between time_slave and time_daemon.

Shared Memory Region Validation
status: valid
security: NO
safety: ASIL_B

The ts_client component shall validate shared memory region integrity on Open operations and reject regions that fail validation.

Publisher Creates Channels
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Functional
version: 1

The ts_client Publisher shall create shared memory channels that Receivers subsequently open.

Receiver Multi-Reader Semantics
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Functional
version: 1

The ts_client Receiver shall support multiple concurrent readers accessing shared memory channels in read-only mode.

Data Validity Indication
status: valid
security: NO
safety: ASIL_B

The ts_client Receiver shall indicate whether the shared memory channel is obviously corrupted.

Data Synchronization#

Lock-Free Synchronization
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Functional
version: 1

The ts_client component shall implement non-blocking synchronization between writer and readers and ensure readers can detect concurrent writes.

Data Exchange Interfaces#

gPTP Synchronization Status Exchange
status: valid
security: NO
safety: QM
tags: ts_client
reqtype: Interface
version: 1

The ts_client component shall exchange gPTP synchronization status information containing synchronized state and timeout condition.

Sync/FollowUp Message Metadata Exchange
status: valid
security: NO
safety: QM
tags: ts_client
reqtype: Interface
version: 1

The ts_client component shall exchange gPTP Sync and FollowUp message metadata containing precise origin timestamp, reference global timestamp, reference local timestamp, sync ingress timestamp, correction field, sequence identifier, path delay, port number, and clock identity.

PDelay Message Metadata Exchange
status: valid
security: NO
safety: QM
tags: ts_client
reqtype: Interface
version: 1

The ts_client component shall exchange gPTP Peer Delay (PDelay) message metadata containing request origin timestamp, request receipt timestamp, response origin timestamp, response receipt timestamp, path delay measurement, request port number, response port number, request clock identity, response clock identity, reference global timestamp, and reference local timestamp.

Time Correlation Data Exchange
status: valid
security: NO
safety: QM
tags: ts_client
reqtype: Interface
version: 1

The ts_client component shall exchange time correlation data containing synchronized PTP assumed time, local system time reference, and clock rate deviation.

Platform Abstraction#

Platform Support
status: valid
security: NO
safety: QM
tags: ts_client
reqtype: Functional
version: 1

The ts_client component shall support POSIX and QNX 8.0 SDP platforms for shared memory operations and inter-process communication.

Non-Functional Requirements#

Cache-Optimized Memory Layout
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Non-Functional
version: 1

The ts_client component shall optimize shared memory layout to prevent cache contention between concurrent writer and reader processes.

Assumption of Use Requirements#

Single Publisher Process
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Process
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. Multiple publishers writing to the same segment will cause data corruption and readers will receive invalid data.

Shared Memory Permissions
status: valid
security: NO
safety: ASIL_B
tags: ts_client
reqtype: Process
version: 1

The user shall configure system permissions to allow publisher write access and readers read access to shared memory segments. Incorrect permissions will cause channel creation or opening failures.