Serve como interface de callback para notificar aplicações sobre novos blocos de dados de medição de uma base de tempo.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 12f9dc63673bProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Serve como interface de callback para notificar aplicações sobre novos blocos de dados de medição de uma base de tempo.
A classe abstrata ara::tsync::ProviderTimeBaseValidationNotification serve como interface de callback para disponibilizar dados de medição de base de tempo gravados a uma aplicação validadora. Implementações recebem através de SetMasterTimingData blocos de medição do Time Master [SWS_TS_00421] e através de SetPdelayResponderData dados de medição do Pdelay Responder [SWS_TS_00423]. Os métodos são especificados como noexcept, mas não são thread-safe, razão pela qual chamadas concorrentes na mesma instância devem ser evitadas.
Contexto
A classe ara::tsync::ProviderTimeBaseValidationNotification atua como interface de callback abstrata para a validação de bases de tempo dentro do módulo de sincronização. Por meio dessa interface, uma aplicação validadora receptora é notificada assim que novos blocos de dados de medição gravados estiverem disponíveis para uma base de tempo monitorada. A interface define pontos de transferência para dados de medição específicos do temporizador (Time Master) de acordo com [SWS_TS_00421], bem como para dados de medição do mecanismo de resposta de atraso (Pdelay Responder) de acordo com [SWS_TS_00423]. Os parceiros de interação são tipicamente o mecanismo provedor interno da pilha de sincronização de tempo como fonte de dados e uma instância de validação por parte da aplicação que avalia os dados de tempo registrados.
Ciclo de vida e concorrência
Como interface abstrata, ara::tsync::ProviderTimeBaseValidationNotification é derivada e implementada pela aplicação concreta de validação. O tempo de vida da implementação instanciada é de responsabilidade da aplicação. A classe possui um destrutor padrão virtual, que é declarado como seguro quanto a exceções (noexcept) [SWS_TS_01301]. Isso garante que instâncias de classes derivadas possam ser destruídas de forma polimórfica e segura em relação a recursos durante a desmontagem. No que diz respeito à simultaneidade, os métodos de notificação são explicitamente classificados como não seguros para threads (non_threadsafe) [SWS_TS_00421], [SWS_TS_00423]. Isso significa que chamadas de SetMasterTimingData e SetPdelayResponderData para a mesma instância não devem ser feitas desprotegidas a partir de threads concorrentes; o provedor de base de tempo chamador deve emitir essas chamadas sequencialmente, ou a aplicação deve assegurar a sincronização. Pergunta Q-8f59bb65825ead66 (aberta)
Caminho de utilização
O fluxo típico começa com a disponibilização de uma classe derivada de ara::tsync::ProviderTimeBaseValidationNotification pela aplicação validadora. A instância deve ser registrada no provedor de base de tempo para assinar os respectivos dados de medição. Assim que a pilha de tempo conclui novos ciclos de medição da base de tempo, ela entrega os blocos coletados por meio dos métodos puramente virtuais da interface. Para a análise do Time Master, ocorre a chamada de SetMasterTimingData com o parâmetro measurementData do tipo TimeMasterMeasurementType[SWS_TS_00421]. Se houver dados de medição disponíveis para a medição do tempo de propagação do sinal para a base de tempo, o provedor os transmite por meio de SetPdelayResponderData com o parâmetro measurementData do tipo PdelayResponderMeasurementType[SWS_TS_00423]. Após a conclusão da operação de monitoramento, a aplicação destrói a instância de forma ordenada por meio do destrutor virtual [SWS_TS_01301]. Pergunta Q-0ddb9ee8a3e8f381 (aberta)
Diagrama de sequência: notificação típica de uma aplicação validadora sobre novos blocos de dados de medição de base de tempo. Fontes: [SWS_TS_00421], [SWS_TS_00423], [SWS_TS_01301]
Cenários de erro e condições de contorno
Tanto SetMasterTimingData quanto SetPdelayResponderData são especificados como noexcept e possuem a classificação exception safe[SWS_TS_00421], [SWS_TS_00423]. Portanto, implementações dessa interface não podem repassar exceções ao provedor de sincronização chamador. Os métodos não retornam valor (void); assim, uma resposta sobre dados de medição defeituosos ou implausíveis não ocorre diretamente pela chamada do método. Como a interface é declarada como non_threadsafe, uma chamada simultânea sem sincronização externa resulta em comportamento indefinido. Uma pré-condição para o recebimento dos dados é um objeto intacto, cujo tempo de vida deve ser mantido durante todo o período de disponibilização do callback até a destruição por meio do destrutor [SWS_TS_01301].
Este guia baseia-se exclusivamente nos requisitos de especificação da AUTOSAR Adaptive (módulo tsync, Release R25-11).
gemini-3.8-flash-low· 2026-10-13 · Original em alemão