Dient voor het retourneren van de payload van een positief diagnose-antwoord zonder service-ID bij downloadoperaties.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c06f480862f4HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient voor het retourneren van de payload van een positief diagnose-antwoord zonder service-ID bij downloadoperaties.
De gegevensstructuur ara::diag::DownloadService::OperationOutput dient als transporthouder voor de nuttige gegevens van positieve diagnoseantwoorden bij downloaddiensten ([SWS_DM_00785]). De adaptieve applicatie vult hierbij het veld responseData met de resultaatbytes en draagt de structuur over aan het diagnosebeheer ([SWS_DM_00786]). Een essentiële randvoorwaarde is dat responseData de nuttige gegevens verplicht zonder service-ID moet bevatten en dat er afhankelijk van de operatie, zoals DownloadData of RequestDownloadExit, verschillende inhoud wordt verwacht ([SWS_DM_00786]).
Context
De structuur ara::diag::DownloadService::OperationOutput is een gespecialiseerd gegevenstype van de diagnosemodule binnen het AUTOSAR Adaptive Platform en wordt beschikbaar gesteld via het headerbestand ara/diag/download.h ([SWS_DM_00785]). Zijn primaire rol bestaat erin de nuttige gegevens van een positief diagnoseantwoordbericht voor downloaddiensten in te kapselen (AUTOSAR_AP_SWS_Diagnostics §8.14.2 “Struct: OperationOutput”). Binnen de diagnosearchitectuur fungeert de structuur als gegevenstransporthouder tussen de concrete service-implementatie in de adaptieve applicatie en de onderliggende diagnoseruntime-omgeving (ara::diag), die op haar beurt interacteert met de externe diagnoseclient (tester) (AUTOSAR_AP_SWS_Diagnostics §7 “API Specification”).
Het enige opgenomen lid is het openbare veld responseData van het type ara::core::Vector<std::uint8_t> ([SWS_DM_00786]). Het transporteert de zuivere nuttige en payloadbytes die bij een succesvolle verwerking van een downloadoperatie naar de diagnosetester moeten worden teruggestuurd.
Levenscyclus
Als zuivere gegevensstructuur (struct) bezit OperationOutput geen interne toestandsmachines of eigen methoden ([SWS_DM_00785]). Zijn levenscyclus is kortstondig en direct gekoppeld aan de synchrone of asynchrone verwerking van een enkel diagnoseverzoek:
Aanmaak: de structuur wordt door de applicatie geïnstantieerd zodra een downloadoperatie met succes kon worden voltooid en er antwoordgegevens beschikbaar zijn. Het aanmaken zal typisch op de stack of binnen een callback- of future-keten plaatsvinden. Vraag (open)
Vullen en overdracht: de applicatie vult de vector responseData met de berekende bytes ([SWS_DM_00786]). Met de teruggave aan het diagnosebeheer gaat de verantwoordelijkheid voor de gegevens over naar het platform.
Vernietiging: zodra de platformlaag de gegevens heeft geserialiseerd en het UDS-frame heeft verzonden, wordt de instantie vrijgegeven.
Met betrekking tot gelijktijdigheid moet erop worden gelet dat OperationOutput als passief waardeobject niet thread-safe is. Als operaties in gelijktijdige worker-threads van de applicatie worden verwerkt, moet worden gewaarborgd dat er geen concurrerende toegangen tot responseData plaatsvinden voordat het object aan ara::diag wordt overgedragen.
Gebruikspad
Het typische gebruik van OperationOutput vindt plaats in het kader van de afhandeling van diagnostische downloadverzoeken. Een externe diagnosetester verzendt een verzoek naar het voertuig, dat door het platform in ontvangst wordt genomen en wordt doorgestuurd naar de passende methode van de DownloadService-interface in de adaptieve applicatie (AUTOSAR_AP_SWS_Diagnostics §7 “API Specification”). Na succesvolle interne verwerking maakt de applicatie een instantie van OperationOutput aan en draagt zij de antwoordgegevens over.
Bij het vullen van responseData moet erop worden gelet dat de nuttige gegevens zonder de service-ID (SID) moeten worden geleverd ([SWS_DM_00786]). Het platform vult de protocolspecifieke SID en eventuele headerinformatie zelfstandig aan. Bovendien hangt de exacte inhoudelijke structuur af van de aangeroepen operatie: bij DownloadData of RequestDownloadExit verschilt de semantische verwachting ten aanzien van het begin en de opbouw van de antwoordgegevens in de vector ([SWS_DM_00786]).
Foutscenario's
Aangezien OperationOutput expliciet voor positieve antwoordberichten is gespecificeerd (AUTOSAR_AP_SWS_Diagnostics §8.14.2 “Struct: OperationOutput”), bestaan er binnen de gegevensstructuur geen velden voor foutcodes of negatieve terugmeldingen. Als er bij de uitvoering van de downloadoperatie een fout optreedt (bijv. ongeldige adresbereiken, onjuiste blokvolgorde of afgebroken overdrachten), wordt OperationOutput vermoedelijk niet geëvalueerd; de applicatie signaleert het mislukken in plaats daarvan via foutkanalen van het platform, waarna een negatieve antwoordcode (NRC) wordt gegenereerd. Vraag (open)
Er is sprake van een fout aan de applicatiezijde bij het gebruik van OperationOutput wanneer de service-ID per ongeluk in responseData wordt ingevoegd. Dit is in tegenspraak met specificatie [SWS_DM_00786] en zal vermoedelijk leiden tot een foutieve frameformattering. Vraag (open) Evenzo leidt een verkeerde bytevolgorde of onvolledige hoeveelheid gegevens, afhankelijk van de specifieke operatie, tot protocolfouten aan de zijde van de tester ([SWS_DM_00786]).
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform release R25-11 en is geautomatiseerd opgesteld.
UML-klassendiagram
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
Content of positive response message (without SID) Depending on the operation (e.g.: DownloadData, RequestDownloadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.
Content of positive response message (without SID) Depending on the operation (e.g.: DownloadData, RequestDownloadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel