Registreert status, voortgangspercentage en foutcode van een deelentiteit bij op SOVD gebaseerde software-updates.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 86b478c2c357HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Registreert status, voortgangspercentage en foutcode van een deelentiteit bij op SOVD gebaseerde software-updates.
De structuur ara::diag::SovdSwUpdate::SubProgress kapselt de actuele voortgang, de status en eventuele fouten van een specifieke entiteit tijdens een op SOVD gebaseerde software-update in ([SWS_DM_01896]). Updateroutines leggen daarin de bij te werken component vast, werken het voortgangspercentage bij en verzenden de algehele toestand naar het diagnosebeheer. Mislukt de update, dan specificeert het veld error de opgetreden foutcode, terwijl dit bij een regulier verloop buiten beschouwing blijft ([SWS_DM_01901]). Aangezien SubProgress een puur datawaardetype zonder interne synchronisatie is, vereist gelijktijdige modificatie een beveiliging aan de applicatiezijde.
Context
De structuur ara::diag::SovdSwUpdate::SubProgress maakt deel uit van de C++-interface voor op SOVD gebaseerde software-updates in de module diag van het AUTOSAR Adaptive Platform ([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 “Struct: SubProgress”). In het kader van Service-Oriented Vehicle Diagnostics (SOVD) kunnen updateprocessen uit meerdere parallelle of sequentiële deelstappen bestaan. SubProgress neemt de verantwoordelijkheid op zich om de verwerkingstoestand van een specifieke deelcomponent tijdens de update af te beelden. Tot de interactiepartners behoren diagnose-interne updateroutines die deelupdates uitvoeren, evenals bovengeschikte controle-instanties die de totale voortgang van een update coördineren en aan externe diagnosetools melden.
entity: Een ara::core::String die de entiteit benoemt die momenteel wordt bijgewerkt ([SWS_DM_01898]).
status: Een waarde van het type SovdUpdateStatus die de huidige status van de update representeert ([SWS_DM_01899]).
progress: Een optionele waarde van het type ara::core::Optional<std::uint8_t> voor de voortgang in procenten ([SWS_DM_01900]).
error: Een foutcode van het type ara::core::ErrorCode voor de specificatie van opgetreden fouten in het foutgeval ([SWS_DM_01901]).
Levenscyclus
Als struct ontworpen bezit SubProgress waardesemantiek (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 “Public Member Variables”). Een instantie wordt typisch op de stack of binnen een bovenliggende toestandscontainer aangemaakt zodra een nieuwe deelstap binnen de updateverwerking begint. De beherende component wijst aan de instantie bij aanvang de identificatie van de doelentiteit toe via entity ([SWS_DM_01898]) en stelt de beginstatus in status in ([SWS_DM_01899]).
Tijdens het verloop worden het voortgangspercentage evenals statuswijzigingen doorlopend in de structuur bijgewerkt. Na afronding of afbreken van de deelupdate wordt de structuur overgedragen of uitgelezen en tenslotte bij het verlaten van de scope automatisch vernietigd. Aangezien de specificatie geen eigen methoden of synchronisatieprimitieven voorschrijft, fungeert de structuur vermoedelijk als pure datahouder zonder eigen thread-veiligheid (interpretatie). Vraag Q-92b3fcc698f7bab8 (open) Gelijktijdige toegang door meerdere threads vereist daarom een synchronisatie aan de applicatiezijde.
Gebruikspad
Het reguliere verloop voor de voortgangsmelding is onderverdeeld in een vaste reeks stappen:\nEerst instantieert de uitvoerende updatelogica een object van het type SubProgress en stelt de identifier van de betreffende entiteit in entity in ([SWS_DM_01898]). Tegelijkertijd wordt de startwaarde voor status ingesteld, bijvoorbeeld om het begin van de verwerking te signaleren ([SWS_DM_01899]). Bij continue stappen schrijft de logica periodiek de voortgang in procenten in het veld progress ([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 “progress”). Aangezien progress als ara::core::Optional is gedeclareerd, blijft het veld leeg zolang de voortgang nog onbepaald is. Tot slot wordt de structuur aan de centrale interface SovdSwUpdate overgedragen, zodat externe SOVD-clients de status kunnen opvragen ([SWS_DM_01896]).
In het geval van onregelmatigheden of fouten tijdens de verwerking van een deelentiteit treedt het foutscenario van de structuur in werking. Treedt er een fout op, dan wisselt de waarde in status naar een fouttoestand ([SWS_DM_01899]). Conform [SWS_DM_01901] specificeert de variabele error de exacte foutcode alleen wanneer de status mislukt is (“Specifies the error if status is failed”). Dit vormt een bindende logische koppeling tussen status en error: Ontvangers van de structuur mogen het veld error alleen als significant evalueren wanneer status daadwerkelijk een mislukte toestand meldt; anders blijft de inhoud vermoedelijk buiten beschouwing of vertegenwoordigt deze een standaardwaarde (interpretatie). Vraag Q-3caa7622672dcb8e (open)
Een ander foutscenario betreft onbepaalde voortgang: Kan de verwerkende entiteit geen concrete percentuele waarde bepalen of breekt de berekening voortijdig af, dan blijft het optionele veld progress zonder waarde (ara::core::nullopt), wat voorkomt dat ongeldige getalswaarden ten onrechte als percentage worden geïnterpreteerd ([SWS_DM_01900]).
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform Release R25-11 en vat de eisen aan de structuur ara::diag::SovdSwUpdate::SubProgress samen.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel