Class SynchronizedTimeBaseProvider is the access to the synchronized timebase referenced by the IntstanceSpecifier. It allows to get the current time_point, the rate deviation, the current status and the received user data
클래스 ara::tsync::SynchronizedTimeBaseProvider는 시간 제공자 애플리케이션에 대해 ara::core::InstanceSpecifier를 통해 모델링된 동기화된 시간 기반에 대한 활성 제어 액세스를 제공합니다 [SWS_TS_01101]. AUTOSAR Adaptive에서 이 인스턴스는 제공 애플리케이션 로직, 로컬 Time-Sync 데몬 및 연결된 통신 버스 간의 인터페이스 역할을 합니다. 이 컴포넌트를 통해 애플리케이션은 새로운 시간 값과 사용자 지정 페이로드를 시스템에 주입하고, 속도 보정을 통해 드리프트를 조정하며, 검증 매개변수를 기록합니다 [SWS_TS_01107][SWS_TS_01110][SWS_TS_01114].
검증 등록: 필요한 경우 제공자 애플리케이션은 새로 기록된 시간 동기화 데이터 블록을 수신하기 위해 RegisterTimeValidationNotification()를 통해 알림 객체를 등록합니다 [SWS_TS_01114]. 최대 하나의 알림 수신자만 활성화될 수 있습니다. 신규 등록은 기존 등록을 덮어쓰며 [SWS_TS_01114], UnregisterTimeValidationNotification()는 바인딩을 해제합니다 [SWS_TS_01115].
시간 값 설정: 즉각적인 배포가 필요한 경우 애플리케이션은 SetTime()를 호출합니다. 이는 로컬 시간 값을 설정하고 버스로의 전송을 즉시 트리거합니다 [SWS_TS_01107]. 버스 전송이 다음 정규 주기에만 수행되어야 하는 경우 대신 UpdateTime()가 사용되며, 이를 통해 시계는 처음에 로컬에서만 업데이트됩니다 [SWS_TS_01108].
보정 및 페이로드:SetRateCorrection()를 통해 로컬 시계의 드리프트를 보정 계수로 조정할 수 있습니다(1.0보다 작은 값은 시계를 느리게 하고, 1.0보다 큰 값은 시계를 빠르게 함) [SWS_TS_01110]. 추가적인 사용자 지정 시간 기반 데이터는 SetUserData()를 통해 업데이트할 수 있습니다 [SWS_TS_01112].
반환값 ara::core::Result<void>를 갖는 메서드는 롤백 시맨틱 없이 타입 TsyncErrc의 오류 코드를 통해 실패를 알립니다:
TsyncErrc::kInvalidUserDataSize: 전달된 UserData가 UserData::kMaxUserDataSize의 최대 길이(현재 3바이트)를 초과할 때 SetTime(), UpdateTime() 및 SetUserData()에서 발생합니다 [SWS_TS_01107][SWS_TS_01108][SWS_TS_01112].
TsyncErrc::kDaemonConnectionLost: 호출 시점에 Time-Sync 데몬에 대한 IPC 연결이 끊어진 경우 SetTime()에서 발생합니다 [SWS_TS_01107].
TsyncErrc::kLimitsExceeded: 요청된 속도 보정 계수가 허용된 값 범위를 벗어난 경우 SetRateCorrection()에서 반환됩니다 [SWS_TS_01110].
TsyncErrc::kFunctionNotSupported: 기본 플랫폼 또는 시간 기반이 속도 보정을 지원하지 않는 경우 SetRateCorrection()에서 보고됩니다 [SWS_TS_01110].
이 가이드는 AUTOSAR Adaptive Platform R25-11 명세(tsync 모듈)를 기반으로 하며 autodocs를 위해 작성되었습니다.
Method that can be used by time provider applications to receive time sync parameters. A maximum of one notifier can be registered. Every further registration overwrites the current registration.
A method that can be used to set a new time value for the clock. The clock value is only updated locally, transmission on the bus will happen in the next cycle.
Method that can be used by time provider applications to receive time sync parameters. A maximum of one notifier can be registered. Every further registration overwrites the current registration.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 89b44278d606출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
메서드 RegisterTimeValidationNotification은(는) 클래스 ara::tsync::SynchronizedTimeBaseProvider의 일부이며 헤더 #include "ara/tsync/synchronized_time_base_provider.h"을(를) 통해 포함됩니다 [SWS_TS_01114]. Time Provider 애플리케이션이 시간 동기화 파라미터를 수신하는 데 사용됩니다 [SWS_TS_01114]. 파라미터 timeBaseValidationNotification을(를) 통해 ProviderTimeBaseValidationNotification 형식의 알림 객체에 대한 참조가 전달되며, 이 객체는 타임베이스를 위한 새로운 데이터 블록이 준비되는 즉시 알림을 받습니다 [SWS_TS_01114]. 이 메서드는 반환값을 제공하지 않습니다(void) [SWS_TS_01114].
오류 처리
이 메서드는 noexcept(으)로 선언되어 있으며 exception safe 속성을 가집니다 [SWS_TS_01114]. 예외를 발생시키지 않으며 오류 코드를 반환하지 않습니다 [SWS_TS_01114].
동시성 및 제약사항
사용 시 다음 제한 사항에 유의해야 합니다:
등록 제한: 최대 하나의 notifier만 등록할 수 있으며, 추가로 등록할 때마다 현재 등록을 덮어씁니다 [SWS_TS_01114].
스레드 안전성: 이 함수는 non_threadsafe(으)로 명시되어 있습니다 [SWS_TS_01114]. 병렬 접근 시 동일한 인스턴스에 대한 호출은 애플리케이션 측에서 동기화되어야 합니다.
상호 작용
이 함수가 시간 제공자(Provider) 측의 등록을 구현하는 반면 [SWS_TS_01114], 클래스 ara::tsync::SynchronizedTimeBaseConsumer은(는) RegisterTimeValidationNotification 및 ConsumerTimeBaseValidationNotification 형식을 통해 시간 소비자(Consumer)를 위한 기능적 대응부를 나타냅니다 [SWS_TS_01016].
Rate correction factor applied to the local clock value. A factor smaller than 1.0 slows down the local clock by that factor, a value greater than 1.0 speeds up the clock.
PortInterfaceMap- A PortPrototype that is referenced by a pingViolation TimeSyncPortPrototypeToTimeBaseMapping needs to be typed by a SynchronizedTimeBaseProviderInterface.
Parameter (in)
Parameter
Beschreibung
specifier
InstanceSpecifier to an PortPrototype of a PortPrototype typed by a SynchronizedTimeBaseProviderInterface
Request a governed re-review of this record. The record is not changed immediately.
Method that can be used by time provider applications to receive time sync parameters.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4be2caa7a1a0출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::tsync::SynchronizedTimeBaseProvider의 메서드 UnregisterTimeValidationNotification은(는) 헤더 파일 ara/tsync/synchronized_time_base_provider.h을(를) 통해 제공됩니다 [SWS_TS_01115]. 이 메서드는 시간 동기화 및 시간 동기화 파라미터 수신 컨텍스트에서 시간 제공자 애플리케이션(Time Provider Applications)을 위해 사용되며 [SWS_TS_01115], 식별자로 볼 때 이전에 등록된 시간 검증 알림을 등록 해제하는 것이 목적일 것으로 보입니다. 질문 Q-49ba26b4b16dd5c7 (열림)
호출 컨텍스트 및 시맨틱과 관련하여 다음 요구 사항이 적용됩니다:
시그니처 및 반환값: 이 함수는 파라미터를 받지 않으며 반환값이 없습니다(void) [SWS_TS_01115].
오류 처리: 이 작업은 noexcept(으)로 선언되어 있으며 예외 안전(exception safe)한 것으로 명시되어 있습니다 [SWS_TS_01115]. 이 인터페이스에는 오류 코드나 DET 또는 DEM으로의 알림이 정의되어 있지 않습니다.
동시성: 이 함수는 명시적으로 non_threadsafe(으)로 분류되어 있습니다 [SWS_TS_01115]. 따라서 SynchronizedTimeBaseProvider의 동일한 인스턴스에 대한 병렬 호출은 호출자가 동기화해야 합니다.
시간 동기화 아키텍처의 상호작용에서 시간 수신자(Time Consumer Applications)를 위해 클래스 ara::tsync::SynchronizedTimeBaseConsumer(ara/tsync/synchronized_time_base_consumer.h에 정의됨)에 직접적인 대응부가 존재하며, 이는 스레드 안전성 및 예외 안전성과 관련하여 동일한 특성을 가집니다 [SWS_TS_01017].
🚫Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
Date
Actor
Transition
Reason / Rationale
Campaign
2026-08-13
tool
none → valid/unmigrated
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
2026-08-13-status-backfill
함수 UpdateTime [SWS_TS_01108]Upstream: RS_TS_00010 문구 아직 가져오지 않음, RS_TS_00011 문구 아직 가져오지 않음, RS_TS_00029 문구 아직 가져오지 않음, RS_TS_00026 문구 아직 가져오지 않음, RS_TS_00009 문구 아직 가져오지 않음
A method that can be used to set a new time value for the clock. The clock value is only updated locally, transmission on the bus will happen in the next cycle.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: a90a9a9d69ee출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
헤더 ara/tsync/synchronized_time_base_provider.h의 메서드 UpdateTime은(는) 클래스 ara::tsync::SynchronizedTimeBaseProvider에 속합니다 [SWS_TS_01108]. 이 메서드는 클록에 대한 새로운 시간 값을 설정하는 데 사용됩니다. 이 메서드는 템플릿 파라미터 Duration을(를) 갖는 설정할 시점 timePoint 및 사용자 정의 애플리케이션 데이터 userData을(를) 전달받습니다 [SWS_TS_01108]. 이때 클록 값은 로컬에서 즉시 업데이트되며, 버스를 통한 전송은 다음 주기에 수행됩니다 [SWS_TS_01108].
오류 처리
호출은 noexcept(으)로 선언되어 있으며 ara::core::Result<void>을(를) 반환합니다 [SWS_TS_01108]. 전달된 userData의 길이가 현재 UserData::kMaxUserDataSize에 의해 3바이트로 제한된 최대 허용 크기를 초과하면 작업이 실패합니다 [SWS_TS_01108]. 이 경우 Result 객체는 오류 코드 TsyncErrc::kInvalidUserDataSize을(를) 반환하며, 오류 발생 시 롤백 시맨틱(no_rollback_semantics)은 제공되지 않습니다 [SWS_TS_01108].
동시성 및 제약사항
통합 시 UpdateTime이(가) 스레드 안전하지 않은 것(non_threadsafe)으로 명시되어 있음에 유의해야 합니다 [SWS_TS_01108]. 동시 실행 컨텍스트에서 SynchronizedTimeBaseProvider의 인스턴스를 사용하는 경우, 호출하는 코드에서 적절한 동기화를 보장해야 합니다. 그러나 이 함수는 예외 안전성(exception safe)을 보장합니다 [SWS_TS_01108].
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문