DEENESPTFRRUARHIKOZHNL

estrutura ara::diag::SovdSwUpdate::SubProgress

[SWS_DM_01896] Upstream: RS_Diag_04265

struct SubProgress {...};

Definition of Sovd Progress type.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdSwUpdate

Guia do utilizadorGERADO POR IA

Registra o status, o progresso percentual e o código de erro de uma subentidade em atualizações de software baseadas em SOVD.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 86b478c2c357 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Registra o status, o progresso percentual e o código de erro de uma subentidade em atualizações de software baseadas em SOVD.

A estrutura ara::diag::SovdSwUpdate::SubProgress encapsula o progresso atual, o status e eventuais erros de uma entidade específica durante uma atualização de software baseada em SOVD ([SWS_DM_01896]). Nela, rotinas de atualização registram o componente a ser atualizado, atualizam o progresso percentual e transmitem o estado geral para o gerenciamento de diagnóstico. Se a atualização falhar, o campo error especifica o código de erro ocorrido, enquanto permanece desconsiderado no fluxo regular ([SWS_DM_01901]). Como SubProgress é um tipo de valor de dados puro sem sincronização interna, a modificação concorrente requer proteção pelo lado da aplicação.

Contexto

A estrutura ara::diag::SovdSwUpdate::SubProgress faz parte da interface C++ para atualizações de software baseadas em SOVD no módulo diag da AUTOSAR Adaptive Platform ([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 «Struct: SubProgress»). No âmbito do Service-Oriented Vehicle Diagnostics (SOVD), os processos de atualização podem consistir em várias etapas parciais paralelas ou sequenciais. SubProgress assume a responsabilidade de mapear o estado de processamento de um subcomponente específico durante a atualização. Entre os parceiros de interação estão rotinas de atualização internas de diagnóstico, que executam atualizações parciais, bem como instâncias de controle de nível superior, que coordenam o progresso geral de uma atualização e o reportam a ferramentas de diagnóstico externas.

A estrutura define quatro variáveis-membro públicas (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 «Public Member Variables»):

  • entity: Um ara::core::String que nomeia a entidade que está sendo atualizada no momento ([SWS_DM_01898]).
  • status: Um valor do tipo SovdUpdateStatus que representa o status atual da atualização ([SWS_DM_01899]).
  • progress: Um valor opcional do tipo ara::core::Optional<std::uint8_t> para o progresso em porcentagem ([SWS_DM_01900]).
  • error: Um código de erro do tipo ara::core::ErrorCode para a especificação de erros ocorridos em caso de falha ([SWS_DM_01901]).

Ciclo de vida

Projetada como struct, SubProgress possui semântica de valor (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 «Public Member Variables»). Uma instância é tipicamente criada na pilha ou dentro de um contêiner de estado de nível superior assim que uma nova etapa parcial é iniciada no processamento da atualização. No início, o componente gerenciador atribui à instância o identificador da entidade de destino por meio de entity ([SWS_DM_01898]) e define o status inicial em status ([SWS_DM_01899]).

Durante a execução, o progresso percentual e as mudanças de status são continuamente atualizados na estrutura. Após a conclusão ou o cancelamento da atualização parcial, a estrutura é transmitida ou lida e, finalmente, destruída de forma automática ao sair do escopo. Como a especificação não define métodos próprios ou primitivas de sincronização, a estrutura provavelmente funciona como um mero detentor de dados sem segurança de thread própria (interpretação). Pergunta Q-92b3fcc698f7bab8 (aberta) Portanto, um acesso concorrente por múltiplas threads exige sincronização do lado da aplicação.

Caminho de utilização

O fluxo regular para o relato de progresso é dividido em uma sequência fixa de etapas:\nPrimeiro, a lógica de atualização em execução instancia um objeto do tipo SubProgress e define o identificador da entidade em questão em entity ([SWS_DM_01898]). Ao mesmo tempo, o valor inicial para status é definido, por exemplo, para sinalizar o início do processamento ([SWS_DM_01899]). Em etapas contínuas, a lógica grava periodicamente o progresso em porcentagem no campo progress ([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 «progress»). Como progress está declarado como ara::core::Optional, o campo permanece vazio enquanto o progresso ainda estiver indeterminado. Por fim, a estrutura é transmitida para a interface central SovdSwUpdate, para que clientes SOVD externos possam consultar o status ([SWS_DM_01896]).

Atualização de progresso de uma etapa de atualização de softwareUpdate-LogikSubProgressSovdSwUpdateInstanciar com entity e status inicialExecutar atualização parcialAtualizar status e progress (em porcentagem)SubProgress bereitstellenaltFalha durante a atualização parcialDefinir status como com falha e preencher errorTransmitir SubProgress com código de erro

Diagrama de sequência: fluxo típico de relato de progresso e tratamento de erros para uma etapa de atualização parcial. Fontes: [SWS_DM_01896], [SWS_DM_01898], [SWS_DM_01899], [SWS_DM_01900], [SWS_DM_01901].

Cenários de erro

No caso de irregularidades ou erros durante o processamento de uma subentidade, o cenário de erro da estrutura entra em ação. Se ocorrer um erro, o valor em status muda para um estado de erro ([SWS_DM_01899]). De acordo com [SWS_DM_01901], a variável error especifica o código de erro exato apenas se o status for de falha («Specifies the error if status is failed»). Isso representa um acoplamento lógico obrigatório entre status e error: os destinatários da estrutura só podem avaliar o campo error como significativo se status realmente reportar um estado de falha; caso contrário, o conteúdo provavelmente será desconsiderado ou representará um valor padrão (interpretação). Pergunta Q-3caa7622672dcb8e (aberta)

Outro cenário de erro diz respeito a progressos indeterminados: se a entidade de processamento não puder determinar um valor percentual concreto ou se o cálculo for interrompido prematuramente, o campo opcional progress permanece sem valor (ara::core::nullopt), o que impede que valores numéricos inválidos sejam interpretados erroneamente como uma indicação percentual ([SWS_DM_01900]).

Este guia baseia-se na especificação AUTOSAR Adaptive Platform Release R25-11 e resume os requisitos para a estrutura ara::diag::SovdSwUpdate::SubProgress.

Mapa de membros

Diagrama de classes

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__SovdSwUpdate__SubProgress643 «struct» SubProgress + entity + error + progress + status

Vista de detalhes

Selecione uma entrada no índice.

Constantes

entity variável

Specifies the entity that is currently being updated.

error variável

Specifies the error if status is failed.

progress variável

Specifies the Update progress in percent.

status variável

Specifies the Update Status.

Documentação das constantes / variáveis

variável entity [SWS_DM_01898] Upstream: RS_Diag_04265

ara::core::String entity;

Specifies the entity that is currently being updated.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolentity
Typara::core::String

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01898
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01898@rel:R25-11#14cd3e20
Content hash
14cd3e20
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01898
Status: valid/unmigrated Version: rel:R25-11#ae29483e Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01898@rel:R25-11#ae29483e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#df0333952026-09-30
  • R23-11rel:R23-11#ae29483e2026-10-14
  • R24-11rel:R24-11#ae29483e2026-10-14
  • R25-11rel:R25-11#ae29483e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variável error [SWS_DM_01901] Upstream: RS_Diag_04265

ara::core::ErrorCode error;

Specifies the error if status is failed.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolerror
Typara::core::ErrorCode

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01901
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01901@rel:R25-11#9c204f8c
Content hash
9c204f8c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01901
Status: valid/unmigrated Version: rel:R25-11#dc82b576 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01901@rel:R25-11#dc82b576
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#005552222026-09-30
  • R23-11rel:R23-11#dc82b5762026-10-14
  • R24-11rel:R24-11#dc82b5762026-10-14
  • R25-11rel:R25-11#dc82b5762026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variável progress [SWS_DM_01900] Upstream: RS_Diag_04265

ara::core::Optional<std::uint8_t> progress;

Specifies the Update progress in percent.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolprogress
Typara::core::Optional< std::uint8_t >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01900
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01900@rel:R25-11#c2167d5a
Content hash
c2167d5a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01900
Status: valid/unmigrated Version: rel:R25-11#28ed7b01 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01900@rel:R25-11#28ed7b01
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#33476bd62026-09-30
  • R23-11rel:R23-11#28ed7b012026-10-14
  • R24-11rel:R24-11#28ed7b012026-10-14
  • R25-11rel:R25-11#28ed7b012026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variável status [SWS_DM_01899] Upstream: RS_Diag_04265

SovdUpdateStatus status;

Specifies the Update Status.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolstatus
TypSovdUpdateStatus

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01899
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01899@rel:R25-11#84d64f5e
Content hash
84d64f5e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01899
Status: valid/unmigrated Version: rel:R25-11#2a27d32e Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01899@rel:R25-11#2a27d32e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#749009402026-09-30
  • R23-11rel:R23-11#2a27d32e2026-10-14
  • R24-11rel:R24-11#2a27d32e2026-10-14
  • R25-11rel:R25-11#2a27d32e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill