DEENESPTFRRUARHIKOZHNL

structure ara::diag::GenericRoutine::OperationOutput

[SWS_DM_00551] Upstream: RS_Diag_04169, RS_Diag_04224

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/generic_routine.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericRoutine

Guide utilisateurGÉNÉRÉ PAR IA

Sert à recevoir et à renvoyer des données utiles lors de réponses positives de services de routine génériques.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d9df3888892f Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert à recevoir et à renvoyer des données utiles lors de réponses positives de services de routine génériques.

La structure ara::diag::GenericRoutine::OperationOutput sert de structure de retour pour les messages de réponse positive des services de routine génériques dans AUTOSAR Adaptive [SWS_DM_00633]. Après l'exécution réussie d'une routine, l'application instancie la structure et renseigne le membre responseData avec les données utiles du résultat SWS Diagnostics p. 80. Une condition aux limites essentielle est que le vecteur responseData contienne exclusivement les données de résultat pures et que le RoutineIdentifier ne doive explicitement pas y figurer [SWS_DM_00633].

Contexte

La structure ara::diag::GenericRoutine::OperationOutput sert, dans le module de diagnostic d'AUTOSAR Adaptive, de conteneur de données dédié pour les messages de réponse positive des services de routine génériques [SWS_DM_00633]. Elle est disponible via le fichier d'en-tête ara/diag/generic_routine.h [SWS_DM_00633] et encapsule les données utiles qu'une application de diagnostic adaptative renvoie au Diagnostic Management (ara::diag) après l'exécution réussie d'une routine. Trois entités participent principalement à l'interaction : le testeur de diagnostic externe en tant qu'émetteur de requêtes de routine, le framework de plate-forme ara::diag pour le traitement du protocole et l'implémentation spécifique à l'application de GenericRoutine, qui exécute la logique métier et fournit le résultat SWS Diagnostics p. 80. La tâche fondamentale de OperationOutput consiste à fournir de manière structurée les pures données de sortie de la routine, le RoutineIdentifier ne faisant explicitement pas partie de cette structure de données [SWS_DM_00633].

Cycle de vie

En tant que structure de données légère (struct), OperationOutput possède un cycle de vie de valeur simple. L'instanciation s'effectue à la demande par l'application de diagnostic adaptative dès qu'une commande adressée à la routine (par exemple démarrage, arrêt ou interrogation de résultat) a pu être menée à bien de manière positive. L'unique élément de données est responseData de type ara::core::Vector<std::uint8_t> [SWS_DM_00633]. L'application alloue le vecteur, le remplit avec les données de retour spécifiques à l'application et transmet la structure achevée au sous-système de diagnostic. Le renvoi au framework de diagnostic devrait s'effectuer typiquement de manière asynchrone via des types Result ou Future de ara::core (interprétation : convention d'interface asynchrone de l'Adaptive Platform). Après la transmission, la responsabilité de la sérialisation passe à ara::diag. Dès que les données ont été transmises ou copiées dans des mémoires tampons internes, la structure est détruite dès la sortie de la portée concernée. Concernant la concurrence, il convient de noter que OperationOutput est créée pour le contexte d'une exécution d'opération individuelle ; un accès partagé et non protégé entre plusieurs threads n'a généralement pas lieu. Question Q-e672dfb8b9ff416a (ouverte)

Parcours d'utilisation

Le déroulement standard pour l'utilisation de OperationOutput comprend plusieurs phases successives :

  • Réception de la requête : un client de diagnostic envoie une requête UDS RoutineControl, qui est relayée par la couche de diagnostic à l'instance GenericRoutine compétente SWS Diagnostics p. 84.
  • Exécution : l'application adaptative exécute la routine demandée et traite les paramètres d'entrée.
  • Génération du résultat : après une exécution réussie, l'application crée un exemplaire de OperationOutput et renseigne responseData avec les valeurs d'octets résultantes [SWS_DM_00633].
  • Transmission de la réponse : la structure est renvoyée à ara::diag en tant que résultat d'opération positif.
  • Transmission de la réponse : le Diagnostic Management prend vraisemblablement en charge l'adjonction automatique du RoutineIdentifier devant le champ responseData lors de l'assemblage de la réponse UDS (interprétation : ajout de l'en-tête de protocole par le démon) et envoie le paquet global au client [SWS_DM_00633]. Question Q-ccdd2867b87d00d1 (ouverte)
Mise à disposition de données de réponse positives via OperationOutputClient de diagnosticara::diagGenericRoutineRoutineControl RequestExécuter la routineOperationOutput instanziierenRemplir responseDataRenvoyer OperationOutputPositive Response (avec responseData)

Diagramme de séquence : déroulement typique de la mise à disposition des données via OperationOutput lors de l'exécution réussie d'une routine. Sources : [SWS_DM_00633], SWS Diagnostics p. 80.

Scénarios d'erreur

Si une erreur survient pendant l'exécution de la routine ou si les données d'entrée transmises sont non valides, le chemin d'utilisation de OperationOutput est interrompu. En cas d'erreur, l'application devrait transmettre un code d'erreur au Diagnostic Management au lieu de OperationOutput, déclenchant ainsi une réponse UDS négative (interprétation : chemin d'erreur via le domaine Result/Error). Question (ouverte) Une précondition essentielle pour l'utilisation de OperationOutput stipule donc que l'opération de routine a été achevée complètement et sans erreur. Comme postcondition, l'application garantit que responseData contient exclusivement les pures données utiles du message de réponse positive et qu'aucun préfixe de protocole tel que le RoutineIdentifier n'y figure [SWS_DM_00633]. Si une routine s'est terminée avec succès mais ne génère aucune donnée de retour supplémentaire, le vecteur responseData reste vide SWS Diagnostics p. 70.

Ce guide repose sur la spécification AUTOSAR Adaptive pour le module Diagnostics (R25-11). Les explications s'appuient sur l'extrait de spécification et sont soumises au cadre d'hypothèses documenté.

Diagramme de classes UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__GenericRoutine__OperationOutput174 «struct» OperationOutput + responseData

Constantes

responseData variable

Content of positive respose message (without RoutineIdentifier)

Documentation des constantes / variables

variable responseData [SWS_DM_00633] Upstream: RS_AP_00137, RS_Diag_04169, RS_Diag_04224

ara::core::Vector<std::uint8_t> responseData;

Content of positive respose message (without RoutineIdentifier)

Header-Datei#include "ara/diag/generic_routine.h"
Scopestruct ara::diag::GenericRoutine::OperationOutput
SymbolresponseData
Typara::core::Vector< std::uint8_t >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00633
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00633@rel:R25-11#85d41a6a
Content hash
85d41a6a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00633
Status: valid/unmigrated Version: rel:R25-11#05a25446 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00633@rel:R25-11#05a25446
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#85d41a6a2026-09-30
  • R20-11rel:R20-11#bfdc6f692026-10-14
  • R21-11rel:R21-11#bfdc6f692026-10-14
  • R22-11rel:R22-11#816f129b2026-10-14
  • R23-11rel:R23-11#4c6a51d42026-10-14
  • R24-11rel:R24-11#4c6a51d42026-10-14
  • R25-11rel:R25-11#05a254462026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill