Sert à la transmission et à la gestion de l'état d'une ligne d'activation DoIP au Diagnostic Manager.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f91d71d289e3ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert à la transmission et à la gestion de l'état d'une ligne d'activation DoIP au Diagnostic Manager.
La classe ara::diag::DoIPActivationLine permet à une application de fournir l'état d'une ligne d'activation DoIP et de transmettre les modifications au Diagnostic Manager [SWS_DM_00830]. Après l'instanciation basée sur un port, le service est activé au moyen de Offer(), à la suite de quoi le DM interroge l'état de la ligne et l'ID réseau, et reçoit les changements d'état via UpdateActivationLineState()[SWS_DM_00834]. En tant que contrainte centrale, l'interface réseau correspondante doit être configurée dans le modèle comme dépendante de la ligne d'activation [SWS_DM_00833].
Contexte
La classe ara::diag::DoIPActivationLine représente l'interface DiagnosticDoIPActivationLineInterface conformément à [SWS_DM_00830]. Elle permet à une Adaptive Application (AA) de signaler et de fournir l'état physique ou logique d'une ligne d'activation DoIP au Diagnostic Manager (DM). Via cette ligne d'activation, une application contrôle indirectement l'émission de messages d'annonce de véhicule DoIP (Vehicle Announcement Messages), comme spécifié dans AUTOSAR_AP_SWS_Diagnostics, p. 107, sans déclencher elle-même explicitement l'envoi.
Trois composants participent principalement à l'interaction : l'Adaptive Application qui implémente, l'instance de ara::diag::DoIPActivationLine en tant qu'interface de service ainsi que le Diagnostic Manager du système de base. Si le DM détecte via cette interface un changement d'état de la ligne d'activation, il notifie les interfaces réseau dépendantes et initie des processus DoIP normalisés [SWS_DM_00816].
Une instance de ara::diag::DoIPActivationLine est créée via un ara::core::InstanceSpecifier qui référence un PortPrototype[SWS_DM_00831]. La classe modélise une instance univoque : les constructeurs de copie et de déplacement ainsi que les opérateurs d'assignation par copie et par déplacement sont supprimés (=delete), ce qui exclut tout déplacement ou duplication ([SWS_DM_01631], [SWS_DM_01632], [SWS_DM_01633], [SWS_DM_01634]).
Après l'instanciation, l'objet se trouve dans l'état « non proposé ». L'appel de Offer() active la mise à disposition, afin que le DM puisse écouter les changements d'état de la ligne d'activation [SWS_DM_00836]. Cette mise à disposition est de nouveau désactivée au moyen de StopOffer()[SWS_DM_00837]. Le destructeur virtuel est déclaré comme destructeur par défaut et libère les ressources [SWS_DM_00832]. Concernant la concurrence, le constructeur [SWS_DM_00831] ainsi que les interrogations en lecture pure GetActivationLineState()[SWS_DM_00835] et GetNetworkInterfaceId()[SWS_DM_00833] sont exécutés de manière thread-safe, tandis que Offer()[SWS_DM_00836], StopOffer()[SWS_DM_00837] et UpdateActivationLineState()[SWS_DM_00834] ne sont pas thread-safe.
Parcours d'utilisation
Le déroulement régulier comprend la dérivation et l'enregistrement d'une classe spécifique à l'application ainsi que la transmission continue de l'état :
Instanciation : l'Adaptive Application instancie la classe dérivée en indiquant le InstanceSpecifier approprié [SWS_DM_00831].
Proposer le service : l'application appelle Offer() afin de libérer l'interface pour le DM [SWS_DM_00836].
Interrogation réseau et initiale : le DM détermine via la méthode pure virtual GetNetworkInterfaceId() l'ID d'interface correspondante [SWS_DM_00833] et interroge avec GetActivationLineState() l'état actuel de la ligne [SWS_DM_00835]. Les deux méthodes renvoient un ara::core::Future.
Mise à jour de l'état : si l'état physique de la ligne change (par ex. changement de niveau sur une ligne matérielle), l'application en informe le DM de manière synchrone via UpdateActivationLineState()[SWS_DM_00834]. Cela déclenche des actions consécutives de la part du DM, telles que des notifications d'état aux interfaces réseau [SWS_DM_00816].
Arrêt : avant l'arrêt ou en cas de désactivation, l'application appelle StopOffer()[SWS_DM_00837].
Lors de l'utilisation de ara::diag::DoIPActivationLine, des erreurs fonctionnelles et de configuration peuvent survenir :
Violations de modèle et de port lors de la création : le constructeur vérifie la validité du InstanceSpecifier[SWS_DM_00831]. Si la résolution échoue, des notifications de violation standardisées sont déclenchées : InstanceSpecifierMappingIntegrityViolation (élément de modèle non valide), PortInterfaceMappingViolation (port non typé par DiagnosticDoIPActivationLineInterface), ProcessMappingViolation (référence de processus manquante) ou InstanceSpecifierAlreadyInUseViolation (spécificateur déjà attribué au sein du processus).
Offre multiple : si Offer() est appelé alors que le service est déjà proposé, l'opération échoue avec le code d'erreur DiagOfferErrc::kAlreadyOffered[SWS_DM_00836].
Incohérence de configuration de l'interface réseau : si l'application signale via GetNetworkInterfaceId() un ID d'interface dont le DoIpNetworkConfiguration associé possède la propriété isActivationLineDependent = 'FALSE', cela est explicitement considéré par la spécification comme une erreur de configuration critique [SWS_DM_00833].
Sécurité face aux exceptions : alors que le constructeur, les accesseurs (getters), Offer(), StopOffer() et le destructeur sont spécifiés comme sûrs face aux exceptions (exception safe), UpdateActivationLineState() est explicitement désigné comme non sûr face aux exceptions (not exception safe) [SWS_DM_00834]. Les erreurs au sein de cet appel doivent donc être traitées avec soin par l'application appelante.
Ce guide se base exclusivement sur les exigences de spécification issues d'AUTOSAR AP Release 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 DiagnosticDoIpActivationLinePortMapping needs to be typed by a DiagnosticDoIPActivationLineInterface. 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
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticDoIPActivationLineInterface
Request a governed re-review of this record. The record is not changed immediately.
network interface id for which this activation line is responsible.
Fehler
Fehlercode
Beschreibung
This function does not specify any standardized errors.
Hinweise: If the reported DoIpNetworkConfiguration.networkInterfaceId belongs to a DoIpNetworkConfiguration with property isActivationLineDependent = ’FALSE’, this is an error!
Request a governed re-review of this record. The record is not changed immediately.
This Offer will enable the DM to listen to activation line state changes.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3534ff4305bfProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode synchrone Offer de la classe ara::diag::DoIPActivationLine ([SWS_DM_00836], fichier d'en-tête #include "ara/diag/doip_activationline.h") permet au Diagnostic Management (DM) de détecter les changements d'état de la ligne d'activation. L'opération ne possède aucun paramètre d'entrée et renvoie le résultat via le type de retour ara::core::Result<void>.
Dès que l'interface a été mise à disposition au moyen de Offer, le DM surveille la ligne d'activation. Si le DM détecte une transition vers l'état « active », il déclenche l'envoi de messages d'annonce de véhicule (Vehicle Announcement Messages) selon l'ISO 13400-2 sur les interfaces réseau concernées ([SWS_DM_00816], AUTOSAR_AP_SWS_Diagnostics §[SWS_DM_00816] p. 106). Interprétation : l'appel de Offer devrait typiquement intervenir durant la phase d'initialisation de l'application, afin que les changements d'état soient détectés au plus tôt. Question Q-254ced2fd3a1e3d2 (ouverte)
En cas d'erreur, un code d'erreur correspondant est renvoyé dans Result. Si la méthode est appelée de manière répétée pour la même instance alors que le service est déjà proposé, elle renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered avec une sémantique de rollback ([SWS_DM_00836]).
Concernant la concurrence, la méthode est spécifiée comme non thread-safe (not thread-safe) ([SWS_DM_00836]). Les appels simultanés sur la même instance doivent par conséquent être synchronisés côté application. Grâce à sa déclaration en tant que noexcept, la fonction est totalement exception-safe ([SWS_DM_00836]).
Cette note d'utilisation est basée sur la spécification AUTOSAR Adaptive Platform Release R25-11.
This StopOffer will disable the provision of activation line state to DM.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 668b8f5f37f2ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode ara::diag::DoIPActivationLine::StopOffer met fin à la mise à disposition de l'état de la ligne d'activation DoIP (Activation Line) vis-à-vis du Diagnostic Management (DM) conformément à [SWS_DM_00837].
La fonction possède la signature void StopOffer() noexcept et est exécutée de manière synchrone sur une instance de ara::diag::DoIPActivationLine (AUTOSAR_AP_SWS_Diagnostics §5 « Overview »). Elle ne prend aucun paramètre et ne renvoie aucune valeur de retour. L'appel désactive la transmission active des changements d'état de la ligne d'activation vers le Diagnostic Manager.
En ce qui concerne la gestion des erreurs, la méthode est spécifiée comme exception safe et garantit via noexcept qu'aucune exception n'est levée ([SWS_DM_00837]). L'opération étant not thread-safe selon la spécification, les appels sur la même instance ne doivent pas être effectués de manière concurrente non protégée depuis plusieurs threads ; les accès parallèles nécessitent obligatoirement une synchronisation côté application.
Le patron de conception suit la nomenclature établie dans l'Adaptive Platform pour la mise à disposition de services (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors »). Alors que StopOffer désactive le réacheminement des requêtes entrantes du DM pour des classes DoIP apparentées telles que ara::diag::DoIPGroupIdentification ([SWS_DM_00726]) ou ara::diag::DoIPPowerMode ([SWS_DM_00736]), il arrête ici spécifiquement le signalement de l'état de la ligne d'activation au DM. Interprétation : pour un déroulement opérationnel cohérent, il devrait être supposé qu'une mise à disposition via la même instance a déjà été activement initiée avant l'appel de StopOffer. Question Q-c5d38151ef8198e7 (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : becd58166c09ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode UpdateActivationLineState de la classe ara::diag::DoIPActivationLine sert à transmettre l'état actuel de la ligne d'activation DoIP au Diagnostic Management adaptatif [SWS_DM_00834] (AUTOSAR_AP_SWS_Diagnostics §8.32.1.1.3.5). La déclaration est fournie par le fichier d'en-tête ara/diag/doip_activationline.h.
Utilisation et paramètres :
Paramètre : le paramètre d'entrée booléen activation_line_state signale au système si la ligne d'activation est active (TRUE) ou inactive (FALSE) [SWS_DM_00834].
Valeur de retour : l'opération ne possède aucune valeur de retour (void) et fonctionne de manière synchrone.
Concurrence et restrictions :
Sécurité vis-à-vis des threads : la fonction est explicitement spécifiée comme not thread-safe[SWS_DM_00834]. Interprétation : les appels sur la même instance de DoIPActivationLine doivent être synchronisés par l'application appelante afin d'éviter les conflits de données. Question Q-d1c43b8ffc4bdcff (ouverte)
Gestion des erreurs : la méthode est déclarée comme not exception safe[SWS_DM_00834]. Aucun code d'erreur ou exception spécifique n'est défini ; l'application appelante ne devrait généralement pouvoir intercepter aucune exception. Question Q-394304b9d771cf69 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification.
gemini-3.8-flash-low· 2026-10-13 · Original allemand