DEENESPTFRRUARHIKOZHNL

structure 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

Guide utilisateurGÉNÉRÉ PAR IA

Enregistre l'état, la progression en pourcentage et le code d'erreur d'une sous-entité lors de mises à jour logicielles basées sur SOVD.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 86b478c2c357 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Enregistre l'état, la progression en pourcentage et le code d'erreur d'une sous-entité lors de mises à jour logicielles basées sur SOVD.

La structure ara::diag::SovdSwUpdate::SubProgress encapsule la progression actuelle, l'état et les éventuelles erreurs d'une entité spécifique pendant une mise à jour logicielle basée sur SOVD ([SWS_DM_01896]). Les routines de mise à jour y enregistrent le composant à mettre à jour, actualisent la progression en pourcentage et transmettent l'état global à la gestion du diagnostic. Si la mise à jour échoue, le champ error spécifie le code d'erreur survenu, tandis qu'il n'est pas pris en compte en cas de déroulement régulier ([SWS_DM_01901]). Comme SubProgress est un type valeur de données pur sans synchronisation interne, la modification concurrente nécessite une protection au niveau de l'application.

Contexte

La structure ara::diag::SovdSwUpdate::SubProgress fait partie de l'interface C++ pour les mises à jour logicielles basées sur SOVD dans le module diag de l'AUTOSAR Adaptive Platform ([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 « Struct: SubProgress »). Dans le cadre de Service-Oriented Vehicle Diagnostics (SOVD), les opérations de mise à jour peuvent être constituées de plusieurs étapes partielles parallèles ou séquentielles. SubProgress assume la responsabilité de représenter l'état de traitement d'un sous-composant spécifique pendant la mise à jour. Les partenaires d'interaction comprennent des routines de mise à jour internes au diagnostic, qui effectuent des mises à jour partielles, ainsi que des instances de contrôle de niveau supérieur qui coordonnent la progression globale d'une mise à jour et la signalent aux outils de diagnostic externes.

La structure définit quatre variables membres publiques (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 « Public Member Variables ») :

  • entity : un ara::core::String qui nomme l'entité actuellement en cours de mise à jour ([SWS_DM_01898]).
  • status : une valeur de type SovdUpdateStatus qui représente l'état actuel de la mise à jour ([SWS_DM_01899]).
  • progress : une valeur optionnelle de type ara::core::Optional<std::uint8_t> pour la progression en pourcentage ([SWS_DM_01900]).
  • error : un code d'erreur de type ara::core::ErrorCode permettant de spécifier les erreurs survenues en cas d'erreur ([SWS_DM_01901]).

Cycle de vie

Conçue comme struct, SubProgress possède une sémantique de valeur (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 « Public Member Variables »). Une instance est typiquement créée sur la pile ou au sein d'un conteneur d'état de niveau supérieur dès qu'une nouvelle étape partielle commence au sein du traitement de la mise à jour. Le composant gestionnaire assigne au début à l'instance l'identifiant de l'entité cible via entity ([SWS_DM_01898]) et définit l'état initial dans status ([SWS_DM_01899]).

Pendant le déroulement, la progression en pourcentage ainsi que les changements d'état sont continuellement mis à jour dans la structure. Après l'achèvement ou l'interruption de la mise à jour partielle, la structure est transmise ou lue, puis finalement détruite automatiquement lors de la sortie de la portée. Comme la spécification ne prescrit pas de méthodes propres ni de primitives de synchronisation, la structure devrait faire office de pur conteneur de données sans sécurité des threads propre (interprétation). Un accès concurrent par plusieurs threads nécessite donc une synchronisation au niveau de l'application. Question Q-92b3fcc698f7bab8 (ouverte)

Parcours d'utilisation

Le déroulement régulier de la notification de progression s'articule en une succession fixe d'étapes : Tout d'abord, la logique de mise à jour exécutante instancie un objet de type SubProgress et définit l'identifiant de l'entité concernée dans entity ([SWS_DM_01898]). Simultanément, la valeur initiale de status est définie, par exemple pour signaler le début du traitement ([SWS_DM_01899]). Lors d'étapes continues, la logique écrit périodiquement la progression en pourcentage dans le champ progress ([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 « progress »). Comme progress est déclaré en tant que ara::core::Optional, le champ reste vide tant que la progression est encore indéterminée. Enfin, la structure est transmise à l'interface centrale SovdSwUpdate afin que les clients SOVD externes puissent interroger l'état ([SWS_DM_01896]).

Mise à jour de progression d'une étape partielle de mise à jour logicielleUpdate-LogikSubProgressSovdSwUpdateInstancier avec entity et l'état initialExécuter la mise à jour partielleMettre à jour status et progress (en pourcentage)SubProgress bereitstellenaltÉchec pendant la mise à jour partielleDéfinir status sur échoué et renseigner errorTransmettre SubProgress avec le code d'erreur

Diagramme de séquence : déroulement typique de la notification de progression et du traitement des erreurs pour une étape de mise à jour partielle. Sources : [SWS_DM_01896], [SWS_DM_01898], [SWS_DM_01899], [SWS_DM_01900], [SWS_DM_01901].

Scénarios d'erreur

En cas d'irrégularités ou d'erreurs pendant le traitement d'une sous-entité, le scénario d'erreur de la structure intervient. Si une erreur survient, la valeur contenue dans status bascule vers un état d'erreur ([SWS_DM_01899]). Conformément à [SWS_DM_01901], la variable error ne spécifie le code d'erreur exact que si l'état est en échec (« Specifies the error if status is failed »). Cela constitue un couplage logique contraignant entre status et error : les destinataires de la structure ne doivent évaluer le champ error comme significatif que si status signale effectivement un état en échec ; dans le cas contraire, le contenu reste vraisemblablement ignoré ou représente une valeur par défaut (interprétation). Question Q-3caa7622672dcb8e (ouverte)

Un autre scénario d'erreur concerne les progressions indéterminées : si l'entité exécutante ne peut déterminer aucune valeur en pourcentage concrète ou si le calcul s'interrompt prématurément, le champ optionnel progress reste sans valeur (ara::core::nullopt), ce qui évite que des valeurs numériques non valides soient interprétées à tort comme une indication de pourcentage ([SWS_DM_01900]).

Ce guide est basé sur la spécification AUTOSAR Adaptive Platform Release R25-11 et résume les exigences relatives à la structure ara::diag::SovdSwUpdate::SubProgress.

Carte des membres

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constantes

entity variable

Specifies the entity that is currently being updated.

error variable

Specifies the error if status is failed.

progress variable

Specifies the Update progress in percent.

status variable

Specifies the Update Status.

Documentation des constantes / variables

variable 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#df033395
Content hash
df033395
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

variable 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#00555222
Content hash
00555222
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

variable 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#33476bd6
Content hash
33476bd6
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

variable 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#74900940
Content hash
74900940
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