Contém metadados, condições e informações de tamanho de um pacote de atualização de software para disponibilização via diagnóstico.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 0be8a0cfd01aProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Contém metadados, condições e informações de tamanho de um pacote de atualização de software para disponibilização via diagnóstico.
A estrutura ara::diag::SovdSwUpdate::UpdatePackageDetails serve como um objeto padronizado de transferência de dados para metadados de pacotes de atualização de software no âmbito do ASAM SOVD [SWS_DM_01877]. Ela transporta identificadores de pacote, tamanhos, condições e componentes afetados da aplicação que a implementa para a camada de protocolo SOVD da instância de diagnóstico AUTOSAR_AP_SWS_Diagnostics §7.4 «Figure 7.4: SOVD Software Update API - concept». A disponibilização dos dados ocorre primariamente como resposta a consultas via GetUpdatePackageDetails. Como a estrutura reúne variáveis-membro puramente passivas, ela não possui sincronização própria e requer proteção externa em caso de uso concorrente.
Contexto
A estrutura ara::diag::SovdSwUpdate::UpdatePackageDetails é definida no cabeçalho ara/diag/sovd_sw_update.h[SWS_DM_01877] e serve como um contêiner padronizado de dados para informações detalhadas sobre pacotes de atualização de software no contexto do Service-Oriented Vehicle Diagnostics (SOVD). De acordo com [SWS_DM_01796], a instância do Diagnostic Server implementa os métodos da API SOVD para atualizações de software em conformidade com o padrão ASAM SOVD. Como a lógica funcional das atualizações de software não é processada dentro do Functional Cluster Diagnostics, o processamento cabe primariamente à aplicação adaptativa, enquanto ara::diag::SovdSwUpdate se concentra no tratamento do protocolo SOVD subjacente AUTOSAR_AP_SWS_Diagnostics §7.4 «Figure 7.4: SOVD Software Update API - concept».
Nesta arquitetura, UpdatePackageDetails funciona como interface para a troca de informações entre a lógica de atualização específica do veículo da aplicação e a camada do protocolo SOVD. A estrutura agrupa metadados necessários para a identificação, validação, planejamento e exibição do processo de atualização. Isso inclui identificadores elementares como o ID do pacote id[SWS_DM_01878] e a designação name[SWS_DM_01879], além da referência de tradução translation_id[SWS_DM_01881]. Além disso, a estrutura encapsula informações de dimensionamento e tempo de execução, como o tamanho do pacote size em bytes [SWS_DM_01893], o tempo estimado de execução duration em segundos [SWS_DM_01891] e o sinalizador opcional automated para fluxos automatizados [SWS_DM_01882]. Para fins de rastreabilidade e gerenciamento de componentes de destino, ela transporta dados de procedência em origin[SWS_DM_01883], a lista dos componentes atualizados em updated_components[SWS_DM_01894] e as partes do sistema afetadas em affected_components[SWS_DM_01895]. Condições de contorno adicionais e interações do usuário são disponibilizadas por meio de preconditions[SWS_DM_01888], execution_conditions[SWS_DM_01890], notes[SWS_DM_01884] e user_activity[SWS_DM_01886], juntamente com seus respectivos identificadores de tradução preconditions_translation_id[SWS_DM_01889], notes_translation_id[SWS_DM_01885] e user_activity_translation_id[SWS_DM_01887].
Ciclo de vida
A classe é especificada como uma estrutura C++ struct com variáveis-membro puramente públicas AUTOSAR_AP_SWS_Diagnostics §8.58.4 «Struct: UpdatePackageDetails»[SWS_DM_01877]. Interpretação: como um puro objeto de transferência de dados (Data Transfer Object), UpdatePackageDetails não possui lógica de negócios própria nem máquina de estados interna. Pergunta Q-4f532d6356cadc54 (aberta) Sua instanciação ocorre conforme a necessidade pela aplicação, assim que informações sobre um pacote de atualização são consultadas ou gerenciadas.
Em relação à posse, a estrutura está sob a responsabilidade do criador. Na disponibilização por meio de funções de interface como GetUpdatePackageDetails[SWS_DM_01917], o objeto é tipicamente passado por valor ou via semântica de movimentação para o framework de diagnóstico. A vida útil de instâncias individuais fica, assim, vinculada ao respectivo contexto de execução das funções de processamento. Ao sair do escopo, a destruição ocorre de forma determinística segundo as regras padrão para objetos C++, com os tipos padrão incorporados, tais como ara::core::String, ara::core::Vector e ara::core::Optional, liberando sua memória alocada AUTOSAR_AP_SWS_Diagnostics §8.58.4.1 «Public Member Variables».
No tocante à concorrência, UpdatePackageDetails não oferece sincronização interna. Caso instâncias sejam compartilhadas ou modificadas entre threads, a proteção contra conflitos de dados é de total responsabilidade da aplicação chamadora.
Caminho de utilização
O uso primário de UpdatePackageDetails ocorre no contexto da obtenção de informações detalhadas de atualização via SOVD. Um fluxo típico organiza-se da seguinte forma:
Recepção da requisição: um cliente externo envia uma requisição para obter detalhes do pacote ao Diagnostic Server, que implementa os métodos da API SOVD para atualizações de software [SWS_DM_01796].
Chamada de método: como a camada de protocolo delega a lógica de atualização à aplicação AUTOSAR_AP_SWS_Diagnostics §7.4, o framework inicia a chamada de função GetUpdatePackageDetails[SWS_DM_01917].
Montagem dos dados: a aplicação determina as propriedades do pacote de atualização solicitado. Ela cria uma instância de UpdatePackageDetails[SWS_DM_01877] e preenche seus campos obrigatórios e opcionais:
Retorno e serialização: a estrutura completamente preenchida é passada ao framework de diagnóstico. Presumivelmente, o Diagnostic Server serializa os campos segundo as especificações do ASAM SOVD em uma resposta de protocolo correspondente e a entrega ao cliente. Pergunta Q-018edc7d19373646 (aberta)
gemini-3.8-flash-low· 2026-10-13 · Original em alemão