Time Component Requirements#

Time Requirements
status: valid
security: NO
safety: ASIL_B
tags: requirements, time, time
version: 1

Functional Requirements#

Unified clock facade across time domains
status: valid
security: NO
safety: ASIL_B

The Component shall provide a single type-safe accessor for all supported clock domains that prevents mixing time values from different domains by rejecting domain-mismatched operations at compile time when accessing time snapshots.

Immutable snapshot with quality metadata
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Functional
version: 1

The Component shall return a single immutable value that bundles the timepoint with the domain’s synchronization and quality metadata, so callers observe state that cannot change after creation and can determine time validity without a separate status query.

Explicit lifecycle for backends that need it
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Functional
version: 1

The Component shall provide initialization, availability-check, and availability-wait operations for clock domains that depend on external resources, and shall cause compilation failure when those operations are invoked on clock domains that are always ready.

VehicleClock returns snapshot with status
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Functional
version: 1

The Component shall read the vehicle time timepoint and its status atomically from the backend within a single backend operation, so downstream callers observe consistent time and status values.

VehicleClock lifecycle operations
status: valid
security: NO
safety: ASIL_B

The Component shall delegate initialization and availability checks to the backend and shall report backend init failure and availability-wait timeouts to the caller without blocking indefinitely.

HighResSteadyClock always-ready snapshot
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Functional
version: 1
satisfied by: comp__time

The Component shall provide steady high-resolution time snapshots without requiring prior initialization.

SteadyClock always-ready snapshot
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Functional
version: 1
satisfied by: comp__time

The Component shall provide steady time snapshots without requiring prior initialization, and shall cause compilation failure when initialization or availability operations are invoked on the steady time domain.

SystemClock always-ready snapshot
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Functional
version: 1
satisfied by: comp__time

The Component shall provide system time snapshots without requiring prior initialization, and shall cause compilation failure when initialization or availability operations are invoked on the system time domain.

Supported platforms
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Non-Functional
version: 1
satisfied by: comp__time

The Component shall build and run on Linux and QNX host platforms, providing platform-specific backends where the underlying OS APIs differ.

Assumption of Use Requirements#

Backend initialization by the user
status: valid
security: NO
safety: ASIL_B
tags: time
reqtype: Process
version: 1

The Component User shall initialize the backends for clock domains that require initialization before requesting time snapshots from those domains.