Служит интерфейсом обратного вызова для уведомления приложений о новых блоках данных измерений базиса времени.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 12f9dc63673bПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит интерфейсом обратного вызова для уведомления приложений о новых блоках данных измерений базиса времени.
Абстрактный класс ara::tsync::ProviderTimeBaseValidationNotification служит интерфейсом обратного вызова для предоставления записанных данных измерений базиса времени приложению-валидатору. Реализации получают через SetMasterTimingData блоки измерений Time Master [SWS_TS_00421], а также через SetPdelayResponderData данные измерений Pdelay Responder [SWS_TS_00423]. Методы специфицированы как noexcept, однако не являются потокобезопасными, поэтому параллельных вызовов для одного и того же экземпляра необходимо избегать.
Контекст
Класс ara::tsync::ProviderTimeBaseValidationNotification функционирует как абстрактный интерфейс обратного вызова для валидации базисов времени внутри модуля синхронизации. Через этот интерфейс принимающее приложение-валидатор уведомляется, как только для отслеживаемого базиса времени появляются новые записанные блоки данных измерений. Интерфейс определяет точки передачи специфических данных измерений таймера (Time Master) согласно [SWS_TS_00421], а также данных измерений механизма ответа на задержку (Pdelay Responder) согласно [SWS_TS_00423]. Партнерами по взаимодействию здесь обычно выступают внутренний механизм-поставщик стека синхронизации времени в качестве источника данных и экземпляр валидации со стороны приложения, который оценивает собранные временные данные.
Жизненный цикл и параллелизм
Являясь абстрактным интерфейсом, ara::tsync::ProviderTimeBaseValidationNotification наследуется и реализуется конкретным приложением валидации. Время жизни созданного экземпляра реализации входит в зону ответственности приложения. Класс имеет виртуальный деструктор по умолчанию, объявленный как безопасный относительно исключений (noexcept) [SWS_TS_01301]. Это гарантирует, что экземпляры производных классов могут быть разрушены полиморфно и ресурсобезопасно при удалении. Что касается параллелизма, методы уведомления явно классифицированы как непотокобезопасные (non_threadsafe) [SWS_TS_00421], [SWS_TS_00423]. Это означает, что вызовы SetMasterTimingData и SetPdelayResponderData для одного и того же экземпляра не должны производиться без защиты из конкурирующих потоков; вызывающий поставщик базиса времени должен выдавать эти вызовы последовательно, либо приложение должно обеспечивать синхронизацию. Вопрос Q-8f59bb65825ead66 (открытый)
Путь использования
Типичный сценарий начинается с предоставления производного от ara::tsync::ProviderTimeBaseValidationNotification класса приложением-валидатором. Экземпляр должен регистрироваться у поставщика базиса времени для подписки на соответствующие данные измерений. Вопрос Q-0ddb9ee8a3e8f381 (открытый) Как только стек времени завершает новые циклы измерений базиса времени, он доставляет собранные блоки через чисто виртуальные методы интерфейса. Для анализа Time Master выполняется вызов SetMasterTimingData с параметром measurementData типа TimeMasterMeasurementType[SWS_TS_00421]. Если для базиса времени доступны данные измерений времени распространения сигнала, поставщик передает их через SetPdelayResponderData с параметром measurementData типа PdelayResponderMeasurementType[SWS_TS_00423]. После завершения режима мониторинга приложение штатно уничтожает экземпляр через виртуальный деструктор [SWS_TS_01301].
Диаграмма последовательности: типичное уведомление приложения-валидатора о новых блоках данных измерений базиса времени. Источники: [SWS_TS_00421], [SWS_TS_00423], [SWS_TS_01301]
Сценарии ошибок и граничные условия
Как SetMasterTimingData, так и SetPdelayResponderData специфицированы как noexcept и имеют классификацию exception safe[SWS_TS_00421], [SWS_TS_00423]. Поэтому реализации этого интерфейса не должны передавать исключения вызывающему поставщику синхронизации. Методы не возвращают значения (void); таким образом, обратная связь о некорректных или неправдоподобных данных измерений не осуществляется напрямую через вызов метода. Поскольку интерфейс объявлен как non_threadsafe, параллельный вызов без внешней синхронизации приводит к неопределенному поведению. Предусловием для приема данных является целостный объект, время жизни которого должно поддерживаться на протяжении всего периода предоставления обратного вызова вплоть до уничтожения через деструктор [SWS_TS_01301].
Настоящее руководство основано исключительно на требованиях спецификации AUTOSAR Adaptive (модуль tsync, релиз R25-11).
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал