Time Requirements#

Time Synchronization#

Vehicle Time synchronization
status: valid
security: NO
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall synchronize the local clock with an external Time Master using the gPTP protocol (IEEE 802.1AS).

Vehicle Time synchronization precision
status: valid
security: NO
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall synchronize the local time, see feat_req__time__vehicle_time__sync, base with Time Master within a defined precision, based on the system setup.

Note:

  • the particular target precision depends on the system setup

  • for AVB nodes the maximum difference in the synchronized time between two AVB ports/ECUs while

    both are in state SYNC, and could be 1 usec

  • for non-AVB node the precision is relaxed, and could be 200-500 usec

Vehicle Time base API
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to access the synchronized vehicle time. Usage of this API shall be free from interferences for the consuming components.

Note (providing tracebility as long as safety analysis is not available):

Vehicle Time base API (feat_req__time__vehicle_time_time_api) requires backing by Vehicle time end-to-end int... (aou_req__feature__veh_time_e2e_integrity) to guarantee end-to-end data integrity.

Vehicle Time base accuracy qualifier
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read the accuracy qualifier of the local synchronized time base.

Note: qualifier shall reflect the accuracy of the local time base, e.g.

  • if it is synchronized to an external time source or not,

  • are there any instabilities, like time jumps to the past or to the future

  • does the time increase in a monotonic manner.

Vehicle Time base time point qualifier
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read the time point qualifier of the local synchronized time base.

Note: qualifier shall reflect if the time point could be treated as ASIL-B data or QM data

Vehicle Time control flow
status: valid
security: NO
safety: ASIL_B
reqtype: Non-Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an access its data via specified APIs in a fast and very efficient manner, avoiding, if possible, kernel calls, resource manager involvement and so on.

For APIs see:

  • feat_req__time__vehicle_time__time_api

  • feat_req__time__vehicle_time__acc_qual_api

  • feat_req__time__vehicle_time__time_pt_qual

Use case: frequent access to the current synchronized time and its metadata by multiple clients within one ECU.

Vehicle Time synchronization logging
status: valid
security: NO
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide a mechanism to log the internal state of the synchronization process, to be able to debug and diagnose the synchronization process.

Use case: Debugging and diagnostics of the time synchronization process.

Time Synchronization to absolute external sources#

score::time external synchronization
status: valid
security: YES
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall support synchronization with external time sources, such as UTC time from GPS.

Absolute Time base API
status: valid
security: YES
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read the absolute time base, synchronized to external time sources. Usage of this API shall be free from interferences for the consuming components.

Absolute Time base accuracy qualifier
status: valid
security: YES
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read accuracy qualifier of the absolute time base, synchronized to external time sources.

Note: the inaccuracy could be indicated in the following manner

  • Inaccuracy higher than 24h

  • Inaccuracy less than 24h

  • Inaccuracy less than 1h

  • Inaccuracy less than 15min

  • Inaccuracy less than 60s

  • Inaccuracy less than 10s

  • Inaccuracy less than 1s

  • Inaccuracy less than 500ms

  • Inaccuracy less than 100ms

  • Inaccuracy less than 50ms

  • Inaccuracy less than 10ms

  • Inaccuracy not available

Absolute Time base security qualifier
status: valid
security: YES
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read security qualifier of the absolute time base, synchronized to external time sources.

Note: the security level might be indicated in the following steps

  • No time available

  • Time not trustworthy

  • Time trustworthy

  • Time very trustworthy

Absolute Time synchronization status log
status: valid
security: NO
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide a mechanism to log the internal state of the absolute time synchronization process, to be able to debug and diagnose the synchronization process.

Local Clock#

High resolution clock API
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read the high resolution clock in nanoseconds resolution. Usage of this API shall be free from interferences for the consuming components.

Note: to which clock the high resolution clock is mapped, depends on the system design.

Use case: such clocks might be used for time-critical applications, such as audio/video streaming, event logging, and diagnostics.

Monotonic clock API
status: valid
security: NO
safety: ASIL_B
reqtype: Functional
valid_from: v1.0.0
version: 1
satisfied by: feat__time

The score::time feature shall provide an API to read monotonic, not adjustable clock value. Usage of this API shall be free from interferences for the consuming components.

Testability#

score::time mocking APIs implementation
status: valid
security: NO
safety: QM
reqtype: Functional
valid_from: v1.0.0
version: 1

The score::time feature shall provide support for mocking its public interfaces, enabling unit, component and integration testing of applications.