Stelt de challenge-bytes en de geldigheidsperiode beschikbaar voor de SOVD-nabijheidscontrole.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 3ac9286258b1HerkomstOpen vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Stelt de challenge-bytes en de geldigheidsperiode beschikbaar voor de SOVD-nabijheidscontrole.
De datastructuur ara::diag::SovdProximityChallengeType dient als retourtype voor SovdProximityChallenge::GetChallenge() en bundelt de voor de SOVD-nabijheidscontrole vereiste gegevens [SWS_DM_01482]. Deze stelt een challenge-bytereeks als ara::core::Span en het bijbehorende geldigheidstijdstip valid_until beschikbaar voor de SOVD-client [SWS_DM_01492]. De client moet de challenge oplossen voordat dit tijdstip wordt bereikt, terwijl de gereferentieerde buffer gedurende de gehele gebruiksduur geldig moet blijven in het geheugen.
Context
De datastructuur ara::diag::SovdProximityChallengeType dient binnen de diagnosemodule (ara::diag) van het AUTOSAR Adaptive Platform als gestandaardiseerde retourcontainer voor beveiligings- en proximity-controles [SWS_DM_01482]. Concreet neemt de structuur de resultaatgegevens van de methode-aanroep SovdProximityChallenge::GetChallenge() op AUTOSAR_AP_SWS_Diagnostics §8.56.3 “Struct: SovdProximityChallengeType”. De voornaamste taak van deze structuur bestaat erin om de SOVD-client (Service-Oriented Vehicle Diagnostics) van alle noodzakelijke parameters te voorzien waarmee deze het fysieke bewijs van de voertuignabijheid (proximity) kan leveren [SWS_DM_01492].
In de interactie fungeert SovdProximityChallengeType als een zuiver overdrachtsobject tussen de beschikbaarstellende diagnose-instantie SovdProximityChallenge en de verzoekende SOVD-client [SWS_DM_01482]. De structuur bundelt twee fundamentele attributen: de challenge-reeks challenge en de absolute vervaldatum valid_untilAUTOSAR_AP_SWS_Diagnostics §8.56.3.1 “Public Member Variables”. Interpretatie: De structuur zelf kapselt geen bedrijfslogica in, maar fungeert als een zuiver Plain Old Data (POD) Value Object voor staatloze parameteroverdracht. Vraag Q-d2f4870d4cfaf724 (open)
Levenscyclus
De levenscyclus van een SovdProximityChallengeType-instantie begint met de aanmaak ervan door de aanroepende diagnose-interface SovdProximityChallenge::GetChallenge()AUTOSAR_AP_SWS_Diagnostics §8.56.3 “Struct: SovdProximityChallengeType”. De structuur bezit waardesemantiek (Value Semantics), waardoor deze na de aanroep door middel van kopiëren of verplaatsen (Move) aan de aanroeper wordt overgedragen.
Met betrekking tot de eigendomsverhoudingen moet bij de lidvariabelen een belangrijk onderscheid in acht worden genomen:
Het gegevenselement challenge is gedefinieerd als ara::core::Span<ara::core::Byte>[SWS_DM_01492]. Een ara::core::Span is een niet-bezittende weergave (Non-owning View) op een aaneengesloten bytereeks in het geheugen. Vermoedelijk moet het geheugengebied waarnaar deze span verwijst, worden beheerd door de onderliggende diagnosecomponent en minstens zo lang geldig blijven als de span wordt benaderd. Vraag (open)
Het gegevenselement valid_until slaat een absolute tijdstempel van het type std::chrono::system_clock::time_point op [SWS_DM_01491]. Deze tijdstempel definieert rechtstreeks de functionele geldigheidsperiode van de challenge in het totale systeem.
De vernietiging van de struct vindt automatisch plaats volgens de reguliere C++-regels bij het verlaten van de scope van de aanroeper. Aangezien de struct zelf geen dynamisch geheugen alloceert, is de vernietiging triviaal, maar vereist wel inachtneming van de levensduur van de onderliggende databuffer van de span [SWS_DM_01492].
Gebruikspad
Het typische gebruikspad in de context van de SOVD-nabijheidscontrole is opgedeeld in een vaste opeenvolging van opvragen, evaluatie en bewijslevering:
Als retourwaarde wordt een instantie van SovdProximityChallengeType gegenereerd, die is gevuld met de gegenereerde challenge-bytes en het vervaltijdstip [SWS_DM_01482].
De ontvanger leest challenge uit als byte-span om de op te lossen taak naar de SOVD-client te verzenden [SWS_DM_01492].
Tegelijkertijd wordt de tijdstempel valid_until geëvalueerd om het tijdvenster voor het bewijs vast te leggen [SWS_DM_01491].
De SOVD-client lost de challenge op en verzendt het bewijs voordat het door valid_until gemarkeerde tijdstip is bereikt [SWS_DM_01491], [SWS_DM_01492].
Bij het gebruik van SovdProximityChallengeType moet met name rekening worden gehouden met twee foutgevoelige randvoorwaarden:
Time-out: Als de systeemtijd de in valid_until gespecificeerde tijdstempel std::chrono::system_clock::time_point bereikt [SWS_DM_01491], verliest de challenge zijn geldigheid. Interpretatie: Een na het verstrijken van valid_until binnenkomende oplossingspoging van de SOVD-client zal door de verifiërende diagnose-instantie vermoedelijk als ongeldig worden afgewezen, waardoor een hernieuwde aanroep van SovdProximityChallenge::GetChallenge() noodzakelijk wordt. Vraag Q-ab9b44a73c189384 (open)
Ongeldige geheugenreferentie (Dangling Span): Aangezien challenge als niet-bezittende ara::core::Span<ara::core::Byte> is geïmplementeerd [SWS_DM_01492], leidt toegang tot de bytes na vernietiging of herallocatie van de onderliggende buffer tot ongedefinieerd gedrag. De aanroeper moet waarborgen dat de gereferentieerde bytebuffer gedurende de gehele gebruiksduur van de span in het geheugen behouden blijft.
Deze handleiding is gebaseerd op de AUTOSAR-specificatie voor het Adaptive Platform (Release R25-11) en beschrijft de struct ara::diag::SovdProximityChallengeType als datacontainer voor SOVD-nabijheidscontroles.
UML-klassendiagram
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel