Permet aux applications de traiter et de répondre aux requêtes d'opérations SOVD génériques du Diagnostic Manager.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 23f008b064deProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Permet aux applications de traiter et de répondre aux requêtes d'opérations SOVD génériques du Diagnostic Manager.
La classe de base sert à implémenter des gestionnaires d'opérations SOVD génériques pour traiter les requêtes d'exécution dans le Diagnostic Management [SWS_DM_02203]. Après l'instanciation, l'application active la réception via Offer(), après quoi le Diagnostic Manager transmet les requêtes entrantes via l'interface asynchrone StartExecution[SWS_DM_02174][SWS_DM_02210]. Les données de contenu transmises et le gestionnaire d'annulation sont strictement liés à la durée de l'opération [SWS_DM_02210].
Contexte
La classe ara::diag::GenericDiagnosticSovdOperation fournit une interface générique pour l'exécution d'opérations dans le cadre d'ASAM SOVD (Service-Oriented Vehicle Diagnostics) [SWS_DM_02203]. Elle fait office de passerelle entre la plateforme de diagnostic et l'implémentation spécifique à l'application des routines ou actions de diagnostic. Lorsqu'un client SOVD externe demande l'exécution d'une opération, l'instance du Diagnostic Server fournit la méthode SOVD correspondante AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 « Operations – Start execution of an operation »[SWS_DM_01396]. Dès que l'autorisation ou la vérification d'un Proximity Challenge requis s'est terminée avec succès, le Diagnostic Manager (DM) transmet l'appel à la méthode StartExecution de l'instance de gestionnaire enregistrée [SWS_DM_02174].
Cycle de vie
La création d'une instance s'effectue via le constructeur en indiquant un ara::core::InstanceSpecifier, qui référence un PortPrototype, ainsi qu'un type de concurrence (ConcurrencyType) [SWS_DM_02204]. Le constructeur de déplacement [SWS_DM_02206] et l'opérateur d'affectation par déplacement [SWS_DM_02207] étant déclarés comme protected, la classe est conçue comme classe de base pour des gestionnaires dérivés spécifiques à l'application. Après l'instanciation, l'objet se trouve à l'état inactif et n'accepte aucune requête. Offer() permet d'activer la transmission des requêtes par le Diagnostic Manager [SWS_DM_02211]. Avec StopOffer(), cette transmission peut de nouveau être désactivée [SWS_DM_02212]. Lors de la destruction de l'instance, le destructeur virtuel assure un nettoyage correct [SWS_DM_02205]. Le constructeur, le destructeur et les opérations de déplacement sont spécifiés comme thread-safe, tandis que Offer() et StopOffer() ne sont pas thread-safe et devraient typiquement être appelés pendant la phase d'initialisation ou d'arrêt du processus.
Le déroulement standard comprend la proposition du gestionnaire, la réception des requêtes d'opérations ainsi que la fourniture asynchrone de la réponse :
Proposer le service : l'application appelle Offer(), ce qui autorise le Diagnostic Manager à transmettre les requêtes SOVD entrantes à l'objet [SWS_DM_02211].
Démarrage de l'opération : après la réception de la méthode SOVD et la réussite de la vérification du Proximity Challenge, le DM appelle la méthode purement virtuelle StartExecution[SWS_DM_02174][SWS_DM_02210]. Le nom de l'opération SOVD (sovd_operation_name), les données utiles (sovd_content_data), les métainformations (meta_info) ainsi qu'un CancellationHandler sont alors transmis [SWS_DM_02210].
Retour du résultat : la méthode renvoie un ara::core::Future qui contient soit une réponse synchrone (StartSynchronousExecutionResponse), soit une réponse asynchrone (StartAsynchronousExecutionResponse) [SWS_DM_02210]. Dans le cas d'une opération synchrone, le DM reprend les données issues du résultat pour générer le corps de réponse SOVD [SWS_DM_02176].
Arrêter le service : avant la destruction de l'objet, l'application met fin à la transmission au moyen de StopOffer()[SWS_DM_02212].
Lors de l'utilisation de l'interface, des erreurs administratives ainsi que spécifiques au protocole peuvent survenir :
Déjà proposé : un nouvel appel de Offer() sur une instance déjà proposée échoue avec le code d'erreur DiagOfferErrc::kAlreadyOffered[SWS_DM_02211].
Erreur SOVD : si l'exécution de l'opération échoue, un code de réponse négatif correspondant conformément à l'ISO 17978-3 ou à l'ASAM SOVD 1.1 doit être renvoyé dans ara::core::Future[SWS_DM_02210].
Annulation : via l'objet cancellation_handler transmis, l'application est notifiée en cas d'annulation de la requête en cours. La spécification interdit formellement de stocker ce gestionnaire ou d'y accéder au-delà de la durée de vie de l'opération en cours [SWS_DM_02210]. De plus, les données d'entrée transmises dans sovd_content_data ne restent valides que jusqu'à ce que la promesse correspondante soit tenue ou que le traitement ait été annulé [SWS_DM_02210].
Ce guide est basé exclusivement sur la spécification AUTOSAR Adaptive Platform R25-11 (module diag) et a été élaboré automatiquement.
This Offer will enable the DM to forward request messages to this handler.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e7a3d094ee66ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode Offer de la classe ara::diag::GenericDiagnosticSovdOperation active le transfert des requêtes de diagnostic et de service entrantes depuis le Diagnostic Management (DM) vers le gestionnaire respectif [SWS_DM_02211]. La fonction ne prend aucun paramètre, déclare noexcept et renvoie un ara::core::Result<void>[SWS_DM_02211]. Interprétation : comme aucun ara::core::Future n'est renvoyé, l'activation du transfert devrait s'effectuer de manière synchrone pendant l'appel de la méthode. Question Q-d9213a2118672440 (ouverte)
Concernant la gestion des erreurs, l'interface garantit une sémantique de retour arrière (rollback) [SWS_DM_02211]. Si le service a déjà été proposé auparavant pour cette instance de gestionnaire, l'appel échoue et renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered[SWS_DM_02211]. Cet état d'erreur correspond au schéma d'erreur défini dans les domaines d'erreur de diagnostic pour les enregistrements multiples [SWS_DM_00514].
Les restrictions suivantes s'appliquent à la concurrence et au contexte d'appel :
Sécurité des threads : l'opération est spécifiée comme not thread-safe, mais exception safe[SWS_DM_02211]. Les appels parallèles sur la même instance de gestionnaire doivent être synchronisés côté application.
Ordre des états :Offer doit être appelée avant le transfert des requêtes [SWS_DM_02211]. Un nouvel appel sans révocation intermédiaire entraîne une erreur.
Dans l'ensemble du système, Offer suit le modèle de mise à disposition uniforme du Diagnostic Management adaptatif, tel qu'il est également défini de manière analogue pour les routines génériques [SWS_DM_00557], les services UDS [SWS_DM_00619] ou les contrôles de communication [SWS_DM_00809]. Ce principe est spécifiquement conçu pour ara::diag et ne doit pas être confondu avec la mise à disposition de services dans ara::com (SWS Diagnostics §7.3.4.1.2 « Monitors »).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
sovd_operation_name : nom de l'opération SOVD à exécuter [SWS_DM_02210].
sovd_content_data : données d'entrée de l'opération, qui restent valides jusqu'à ce que la promesse associée soit tenue ou que le traitement soit interrompu via le gestionnaire d'annulation [SWS_DM_02210].
meta_info : informations de métadonnées supplémentaires relatives au contexte de diagnostic [SWS_DM_02210].
cancellation_handler : signale une annulation de la requête en cours ; cet objet ne doit pas être stocké ou référencé au-delà de la durée de vie de l'opération [SWS_DM_02210].
Comme valeur de retour, la fonction fournit un ara::core::Future avec une ara::core::Variant constituée de StartSynchronousExecutionResponse ou StartAsynchronousExecutionResponse[SWS_DM_02210]. En cas d'exécution synchrone, le Diagnostic Management définit les paramètres dans le corps de réponse SOVD à partir des données de contenu de la réponse [SWS_DM_02176]. En cas de traitement asynchrone, le Diagnostic Management attribue un identifiant unique (id) pour identifier l'opération en cours et définit l'état d'exécution [SWS_DM_02177].
En cas d'erreur, une réponse négative contenant un code d'erreur SOVD applicable selon l'ISO 17978-3 ou l'ASAM SOVD 1.1 est renvoyée via le Future[SWS_DM_02210]. En ce qui concerne la concurrence et la sécurité, la méthode est définie comme thread-safe et exception safe ([SWS_DM_02210], AUTOSAR_AP_SWS_Diagnostics §8.62.2.1.3.2 « StartExecution »).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR AP R25-11.
A future with either StartSynchronousExecutionResponse or StartAsynchronousExecutionResponse(for a positive response message) or a SOVD Error (for an negative response message)
Fehler
Fehlercode
Beschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ab28d5476140ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode StopOffer de la classe ara::diag::GenericDiagnosticSovdOperation issue de l'en-tête ara/diag/generic_diagnostic_sovd_operation.h sert à désactiver le transfert des messages de requête entrants provenant du Diagnostic Management (DM) vers l'opération [SWS_DM_02212].
Utilisation et sémantique : la fonction possède la signature void StopOffer() noexcept;, ne prend aucun paramètre et ne renvoie aucune valeur de retour [SWS_DM_02212]. Comme aucun type de retour asynchrone tel que des promesses (futures) ou des rappels (callbacks) n'est défini, la désactivation devrait prendre effet de manière synchrone immédiatement pendant l'appel. Question Q-b0723617991a4e39 (ouverte) Elle est déclarée sûre vis-à-vis des exceptions (exception safe) [SWS_DM_02212].
Concurrence et gestion des erreurs : l'interface est spécifiée comme non sûre pour les threads (not thread-safe) [SWS_DM_02212]. Par conséquent, les accès parallèles à la même instance doivent être synchronisés au niveau de l'utilisateur. Aucun code d'erreur n'est renvoyé et aucun message DET ou DEM spécifique n'est généré [SWS_DM_02212].
Interaction :StopOffer suit le modèle de fournisseur de services standardisé d'AUTOSAR Adaptive Diag. Des méthodes analogues existent pour d'autres interfaces de diagnostic telles que les routines génériques [SWS_DM_00558], les services UDS génériques [SWS_DM_00620], les identifiants de données [SWS_DM_00639] ou les services de téléchargement [SWS_DM_00793]. Bien que le nom s'inspire de ara::com, il s'agit d'une implémentation de diagnostic indépendante AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ».
Ce texte a été créé par une IA et sert de guide d'orientation basé sur la spécification AUTOSAR.
gemini-3.8-flash-low· 2026-10-13 · Original allemand