DEENESPTFRRUARHIKOZHNL

struct 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

User GuideKI-GENERIERT

Erfasst Status, prozentualen Fortschritt und Fehlercode einer Teilentität bei SOVD-basierten Software-Updates.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 86b478c2c357 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Erfasst Status, prozentualen Fortschritt und Fehlercode einer Teilentität bei SOVD-basierten Software-Updates.

Die Struktur ara::diag::SovdSwUpdate::SubProgress kapselt den aktuellen Fortschritt, den Status und eventuelle Fehler einer spezifischen Entität während eines SOVD-basierten Software-Updates ([SWS_DM_01896]). Update-Routinen erfassen darin die zu aktualisierende Komponente, führen den prozentualen Fortschritt nach und übermitteln den Gesamtzustand an die Diagnoseverwaltung. Schlägt die Aktualisierung fehl, spezifiziert das Feld error den aufgetretenen Fehlercode, während es bei regulärem Ablauf unberücksichtigt bleibt ([SWS_DM_01901]). Da SubProgress ein reiner Datenwerttyp ohne interne Synchronisation ist, erfordert die nebenläufige Modifikation eine anwendungsseitige Absicherung.

Kontext

Die Struktur ara::diag::SovdSwUpdate::SubProgress ist Teil der C++-Schnittstelle für SOVD-basierte Software-Aktualisierungen im Modul diag der AUTOSAR Adaptive Platform ([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 „Struct: SubProgress“). Im Rahmen von Service-Oriented Vehicle Diagnostics (SOVD) können Aktualisierungsvorgänge aus mehreren parallelen oder sequenziellen Teilschritten bestehen. SubProgress übernimmt die Verantwortung, den Verarbeitungszustand einer spezifischen Teilkomponente während der Aktualisierung abzubilden. Zu den Interaktionspartnern gehören diagnoseinterne Update-Routinen, die Teilaktualisierungen durchführen, sowie übergeordnete Kontrollinstanzen, welche den Gesamtfortschritt eines Updates koordinieren und an externe Diagnosetools melden.

Die Struktur definiert vier öffentliche Membervariablen (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 „Public Member Variables“):

  • entity: Ein ara::core::String, der die Entität benennt, die gegenwärtig aktualisiert wird ([SWS_DM_01898]).
  • status: Ein Wert vom Typ SovdUpdateStatus, welcher den gegenwärtigen Status der Aktualisierung darstellt ([SWS_DM_01899]).
  • progress: Ein optionaler Wert vom Typ ara::core::Optional<std::uint8_t> für den Fortschritt in Prozent ([SWS_DM_01900]).
  • error: Ein Fehlercode vom Typ ara::core::ErrorCode zur Spezifikation aufgetretener Fehler im Fehlerfall ([SWS_DM_01901]).

Lebenszyklus

Als struct konzipiert besitzt SubProgress Wertsemantik (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 „Public Member Variables“). Eine Instanz wird typischerweise auf dem Stack oder innerhalb eines übergeordneten Zustandsbehälters erzeugt, sobald ein neuer Teilschritt innerhalb der Update-Verarbeitung beginnt. Die verwaltende Komponente weist der Instanz zu Beginn die Kennung der Zielentität über entity zu ([SWS_DM_01898]) und setzt den Anfangsstatus in status ([SWS_DM_01899]).

Während des Ablaufs werden der prozentuale Fortschritt sowie Statusänderungen fortlaufend in der Struktur aktualisiert. Nach Abschluss oder Abbruch der Teilaktualisierung wird die Struktur übergeben oder ausgelesen und schließlich mit dem Verlassen des Gültigkeitsbereichs automatisch zerstört. Da die Spezifikation keine eigenen Methoden oder Synchronisationsprimitive vorgibt, dürfte die Struktur als reiner Datenhalter ohne eigene Thread-Sicherheit fungieren (Interpretation). Frage Q-92b3fcc698f7bab8 (offen) Ein nebenläufiger Zugriff mehrerer Threads erfordert daher eine anwendungsseitige Synchronisation.

Nutzungspfad

Der reguläre Ablauf zur Fortschrittsmeldung gliedert sich in eine feste Folge von Schritten: Zunächst instanziiert die ausführende Aktualisierungslogik ein Objekt vom Typ SubProgress und setzt den Bezeichner der betreffenden Entität in entity ([SWS_DM_01898]). Gleichzeitig wird der Startwert für status gesetzt, beispielsweise um den Beginn der Verarbeitung zu signalisieren ([SWS_DM_01899]). Bei kontinuierlichen Schritten schreibt die Logik periodisch den Fortschritt in Prozent in das Feld progress ([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 „progress“). Da progress als ara::core::Optional deklariert ist, bleibt das Feld leer, solange der Fortschritt noch unbestimmt ist. Abschließend wird die Struktur an die zentrale Schnittstelle SovdSwUpdate übergeben, damit externe SOVD-Clients den Status abfragen können ([SWS_DM_01896]).

Fortschrittsaktualisierung eines Software-Update-TeilschrittsUpdate-LogikSubProgressSovdSwUpdateInstanziieren mit entity und InitialstatusTeilaktualisierung ausführenstatus und progress (in Prozent) aktualisierenSubProgress bereitstellenaltFehlschlag während Teilaktualisierungstatus auf fehlgeschlagen setzen und error befüllenSubProgress mit Fehlercode übermitteln

Sequenzdiagramm: Typischer Ablauf der Fortschrittsmeldung und Fehlerbehandlung für einen Teil-Update-Schritt. Quellen: [SWS_DM_01896], [SWS_DM_01898], [SWS_DM_01899], [SWS_DM_01900], [SWS_DM_01901].

Fehlerszenarien

Im Falle von Unregelmäßigkeiten oder Fehlern während der Bearbeitung einer Teilentität greift das Fehlerszenario der Struktur. Tritt ein Fehler auf, wechselt der Wert in status auf einen Fehlerzustand ([SWS_DM_01899]). Gemäß [SWS_DM_01901] spezifiziert die Variable error den genauen Fehlercode nur dann, wenn der Status fehlgeschlagen ist („Specifies the error if status is failed“). Dies stellt eine verbindliche logische Kopplung zwischen status und error dar: Empfänger der Struktur dürfen das Feld error nur dann als signifikant auswerten, wenn status tatsächlich einen fehlgeschlagenen Zustand meldet; andernfalls bleibt der Inhalt vermutlich unberücksichtigt oder stellt einen Standardwert dar (Interpretation). Frage Q-3caa7622672dcb8e (offen)

Ein weiteres Fehlerszenario betrifft unbestimmte Fortschritte: Kann die verarbeitende Entität keinen konkreten Prozentwert ermitteln oder bricht die Berechnung vorzeitig ab, bleibt das optionale Feld progress ohne Wert (ara::core::nullopt), was verhindert, dass ungültige Zahlenwerte fälschlich als Prozentangabe interpretiert werden ([SWS_DM_01900]).

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11 und fasst die Anforderungen an die Struktur ara::diag::SovdSwUpdate::SubProgress zusammen.

Mitgliederkarte

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstanten

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.

Dokumentation der Konstanten / Variablen

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