Stelt applicaties in staat om nabijheidsbewijzen voor beschermde SOVD-diagnosebewerkingen te genereren en te controleren.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 7c7c088635a6HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Stelt applicaties in staat om nabijheidsbewijzen voor beschermde SOVD-diagnosebewerkingen te genereren en te controleren.
De interfaceklasse dient in het AUTOSAR Adaptive Platform voor de implementatie van nabijheidscontroles voor SOVD-operaties in de diagnosecontext [SWS_DM_01481]. Applicaties leiden af van de klasse, activeren het doorsturen door Diagnostic Management via Offer() en leveren asynchroon de vereiste challenge evenals de latere validatie daarvan [SWS_DM_01478]. Gelijktijdige aanroepen van de validatiemethoden richten zich naar de bij de constructie gekozen concurrency-modus, terwijl registratie en destructie niet thread-veilig zijn.
Context
De klasse ara::diag::SovdProximityChallenge[SWS_DM_01481] dient in het AUTOSAR Adaptive Platform voor de implementatie aan de applicatiezijde van de interface voor nabijheidsbewijzen (proximity challenge) binnen het veld van Service-Oriented Vehicle Diagnostics (SOVD). Zij vormt de brug tussen het AUTOSAR Diagnostic Management (DM respectievelijk Diagnostic Server) en de eigenlijke voertuigapplicatie, die de beveiligingslogica voor fysieke of cryptografische nabijheidscontroles levert AUTOSAR_AP_SWS_Diagnostics §8.56 “Providing the SOVD operation proximity_challenge”. Wanneer voor een SOVD-operatie is geconfigureerd dat een nabijheidsbewijs vereist is (attribuut proximityProofRequired is TRUE), vraagt Diagnostic Management bij de verwerking van een diagnoseverzoek een challenge aan bij de applicatie en laat het het door de client verzonden antwoord verifiëren [SWS_DM_01398]. Bij dit samenwerkingsverband zijn drie belangrijke partijen betrokken: de externe SOVD-client, het bemiddelende Diagnostic Management en de gebruikmakende applicatie.
De instantiëring van de handlerklasse vindt plaats via de constructor SovdProximityChallenge[SWS_DM_01480]. Deze koppelt de instantie aan een in het manifest gedefinieerde ara::core::InstanceSpecifier en bepaalt via de parameter ConcurrencyType of de latere uitvoering gelijktijdig (kConcurrent) of sequentieel (kNotConcurrent) plaatsvindt. De constructor zelf is gespecificeerd als thread-safe [SWS_DM_01480]. Na het aanmaken van het object bevindt de handler zich eerst in de passieve toestand. Pas door het expliciet aanroepen van Offer()[SWS_DM_01478] wordt Diagnostic Management geautoriseerd om verzoeken door te sturen naar de applicatie-instantie.
Het doorsturen kan op elk gewenst moment weer worden gedeactiveerd met StopOffer()[SWS_DM_01495]. Noch Offer(), StopOffer() noch de virtuele destructor ~SovdProximityChallenge()[SWS_DM_01479] zijn thread-safe. Interpretatie: vóór de vernietiging van het object is het vermoedelijk vereist om StopOffer() aan te roepen, om te voorkomen dat er wordt doorgestuurd naar een object dat wordt afgebroken. Vraag Q-b4c66854163f433e (open) Bovendien zal een applicatie-instantie in de praktijk typisch gedurende de gehele looptijd van het diagnoseproces behouden blijven om SOVD-operaties continu te beveiligen. De thread-safety van de daadwerkelijke opvraag- en validatiemethoden GetChallenge()[SWS_DM_01494] en ValidateResponse()[SWS_DM_01493] wordt aangestuurd door de in de constructor doorgegeven ConcurrencyType.
Gebruikspad
Na succesvolle initialisatie en dienstbeschikbaarstelling middels Offer()[SWS_DM_01478] reageert de klasse op verzoeken van Diagnostic Management. Vraagt een SOVD-client een beveiligde operatie aan, dan roept het DM de puur virtuele methode GetChallenge()[SWS_DM_01494] aan. De applicatie genereert het proximity-token en levert dit samen met het geldigheidstijdstip (valid_until) asynchroon terug via een ara::core::Future<SovdProximityChallengeType>[SWS_DM_01494]. Standaard wordt ervan uitgegaan dat er op elk moment slechts één enkele challenge bestaat die geldig is voor alle clients en operaties, waarbij de levensduur ervan typisch vast (bijv. op twee minuten) wordt vastgelegd AUTOSAR_AP_SWS_Diagnostics §8.56 “Providing the SOVD operation proximity_challenge”. Voor complexere scenario's kan de applicatie het doorgegeven ara::diag::MetaInfo-object evalueren om client- of operatiespecifieke controles uit te voeren AUTOSAR_AP_SWS_Diagnostics §8.56 “Providing the SOVD operation proximity_challenge”.
Diagnostic Management verzendt het attribuut proximity_challenge in de response-body naar de client [SWS_DM_01398]. Antwoordt de client met een proximity-bewijs, dan stuurt het DM deze gegevens door via ValidateResponse()[SWS_DM_01493]. Het doorgegeven geheugengebied proximityResponse blijft geldig totdat de geretourneerde ara::core::Future<ProximityChallengeValidationResultType> is vervuld of de verwerking wordt afgebroken [SWS_DM_01493]. Vóór het afsluiten van het proces wordt de service afgemeld via StopOffer()[SWS_DM_01495].
Al bij het aanmaken van het object via de constructor [SWS_DM_01480] controleert het framework de modelconsistentie en kan het de volgende schendingen melden: InstanceSpecifierMappingIntegrityViolation (de identifier kan niet worden opgelost of verwijst niet naar een port-prototype), PortInterfaceMappingViolation (het port-prototype is niet getypeerd als DiagnosticSovdProximityChallengeInterface), ProcessMappingViolation (geen passend gemodelleerd proces gevonden) of InstanceSpecifierAlreadyInUseViolation (de identifier wordt al in het proces gebruikt) [SWS_DM_01480].
Bij het aanroepen van Offer()[SWS_DM_01478] levert de resulterende ara::core::Result<void> bij fouten gestandaardiseerde foutcodes op: DiagOfferErrc::kAlreadyOffered als de service voor deze poort al actief wordt aangeboden, of DiagOfferErrc::kConfigurationMismatch wanneer de monitorconfiguratie niet overeenkomt met de DEXT. Voor GetChallenge()[SWS_DM_01494] en ValidateResponse()[SWS_DM_01493] zijn geen gestandaardiseerde foutcodes gedefinieerd. Alle elementfuncties van de klasse zijn gedeclareerd als noexcept en waarborgen exception-safety.
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform Release R25-11.
This Offer will enable the DM to forward request messages to this handler.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f009f89ccf76HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone methode Offer van de klasse ara::diag::SovdProximityChallenge (gedefinieerd in #include "ara/diag/sovd_proximity_challenge.h") registreert de handler bij Diagnostic Management (DM) en stelt deze in staat om binnenkomende verzoekberichten (request messages) door te sturen naar de handler-instantie [SWS_DM_01478]. De aanroep geschiedt parameterloos en is gespecificeerd met noexcept[SWS_DM_01478].
Als retourwaarde dient ara::core::Result<void>[SWS_DM_01478]. In geval van een fout retourneert de methode een specifieke foutcode met rollback-semantiek [SWS_DM_01478]:
DiagOfferErrc::kAlreadyOffered: De dienst is al aangeboden via de instantie [SWS_DM_01478].
DiagOfferErrc::kConfigurationMismatch: De configuratie van de handler komt niet overeen met de DEXT-gegevens [SWS_DM_01478].
Wat betreft de uitvoeringsveiligheid is de methode gedeclareerd als exception safe, maar geldt deze expliciet als not thread-safe[SWS_DM_01478]. Parallelle aanroepen op dezelfde instantie moeten daarom door de aanroepende applicatie worden gesynchroniseerd. Het aanbiedingspatroon komt overeen met het uniforme activeringsprincipe van DM-handlers, zoals dat onder andere ook wordt toegepast bij ara::diag::GenericRoutine[SWS_DM_00557], ara::diag::GenericUDSService[SWS_DM_00619] en ara::diag::CommunicationControl[SWS_DM_00809]. Interpretatie: Zolang Offer niet succesvol is uitgevoerd, stuurt de DM verzoeken voor de proximity-challenge vermoedelijk niet door naar de handler. Vraag Q-320a80aca81ef460 (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van AUTOSAR R25-11.
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype.
PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticSovdProximityChallengePortMapping needs to be typed by a DiagnosticSovdProximityChallengeInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.
Parameter (in)
Parameter
Beschreibung
instanceSpecifier
InstanceSpecifier to a PortPrototype of a DiagnosticSovdProximityChallengeInterface service instance in the manifest.
concurrencyType
Specifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).
Request a governed re-review of this record. The record is not changed immediately.
This StopOffer will disable the forwarding of request messages from DM.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: d973f1eccf91HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode StopOffer van de klasse ara::diag::SovdProximityChallenge deactiveert het doorsturen van verzoekberichten vanuit Diagnostic Management (DM) naar deze service-instantie ([SWS_DM_01495]). De interface wordt beschikbaar gesteld via de header ara/diag/sovd_proximity_challenge.h.
Gebruik en uitvoeringscontext
De functie wordt synchroon aangeroepen, accepteert geen overdrachtsparameters en heeft geen retourwaarde ([SWS_DM_01495]). Na uitvoering stuurt de DM geen verdere verzoeken voor de proximity-challenge meer door naar de applicatie.
Foutafhandeling en uitzonderingsveiligheid
De methode is gedeclareerd als noexcept en volledig uitzonderingsveilig (exception safe) ([SWS_DM_01495]). Fouttoestanden of specifieke foutcodes zijn voor deze aanroep niet voorzien.
Gelijktijdigheid en levenscyclus
Met betrekking tot de uitvoering is StopOffer uitdrukkelijk gespecificeerd als niet thread-safe (not thread-safe) ([SWS_DM_01495]). Parallelle aanroepen op dezelfde instantie moeten aan de aanroeperszijde worden gesynchroniseerd. Interpretatie: De aanroep zal doorgaans plaatsvinden bij het afsluiten van het component of bij een tijdelijk opgeschorte controle van de proximity-challenge. Vraag Q-7b8910a8d5f6dc05 (open)
This function validates the proximity response sent by the client.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 0179eb4520d7HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De zuiver virtuele methode ara::diag::SovdProximityChallenge::ValidateResponse dient voor de validatie van een door de client overgedragen proximity-antwoord [SWS_DM_01493]. De Diagnostic Server-instantie roept deze methode aan zodra een SOVD-request-body het attribuut proximity_response bevat [SWS_DM_01395], zoals bijvoorbeeld bij verzoeken tot het beëindigen van een operatie-uitvoering [SWS_DM_01391]. Meegegeven worden de byte-span proximityResponse evenals het contextobject metaInfo[SWS_DM_01493]. Dit laatste stelt de applicatie in staat om desgewenst client- of operatiespecifieke controles uit te voeren SWS Diagnostics p. 215. Het validatieresultaat wordt asynchroon via een ara::core::Future<ProximityChallengeValidationResultType> beschikbaar gesteld [SWS_DM_01493].
De interface is gedeclareerd als noexcept en exception-safe (exception safe) [SWS_DM_01493]. Er zijn geen gestandaardiseerde foutcodes voorgeschreven [SWS_DM_01493]. Interpretatie: Het mislukken van de proximity-validatie zal vermoedelijk via het retourtype ProximityChallengeValidationResultType of het foutkanaal van de Future worden weergegeven. Vraag Q-1be6378537b59f2b (open)
Wat betreft concurrency is de thread-safety voorwaardelijk (conditional): of de implementatie thread-safe moet zijn, wordt gestuurd via de in de constructor vastgelegde ConcurrencyType[SWS_DM_01493]. De overgedragen gegevens in de buffer proximityResponse blijven geldig totdat de bijbehorende Promise is vervuld of de verwerking door een CancellationHandler wordt afgebroken [SWS_DM_01493].
De functie werkt samen met het leveren van de challenge via GetChallenge[SWS_DM_01398]. Pas na succesvolle validatie van het proximity-antwoord voert de server aangevraagde acties uit, zoals het beëindigen van een operatie via Terminate op de SovdOperationExecution[SWS_DM_02179].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel