Requirements#

Time Synchronization#

Vehicle Time synchronization
status: valid
security: NO
safety: QM
reqtype: Functional

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

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: QM
reqtype: Functional

The score::time feature shall provide an API to access the synchronized vehicle time.

Vehicle Time base accuracy qualifier
status: valid
security: NO
safety: QM
reqtype: Functional

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

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: QM
reqtype: Functional

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

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

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

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

Absolute Time base accuracy qualifier
status: valid
security: YES
safety: QM
reqtype: Functional

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

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

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 precision clock API
status: valid
security: NO
safety: QM
reqtype: Functional

The score::time feature shall provide an API to read the high precision clock in nanoseconds precision.

Note: to which clock the high precision 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: QM
reqtype: Functional

The score::time feature shall provide an API to read monotonic, not adjustable clock value.

Testability#

score::time mocking APIs implementation
status: valid
security: NO
safety: QM
reqtype: Functional

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