Définit des énumérations de checkpoints à sûreté de typage pour la surveillance de fonctions via le Platform Health Management.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b0c83abdbab1ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Définit des énumérations de checkpoints à sûreté de typage pour la surveillance de fonctions via le Platform Health Management.
Cet espace de noms fournit dans le Platform Health Management des énumérations fortement typées pour les checkpoints d'entités surveillées [SWS_PHM_00424]. Chaque entité surveillée reçoit sa propre énumération délimitée (scoped enumeration) avec le type de base std::uint32_t, dont les énumérateurs déclarés sont signalés en tant que points de contrôle à l'interface ara::phm::PhmSupervisedEntityInterface[SWS_PHM_00424], [SWS_PHM_00425]. La mise à disposition statique dans l'espace de noms à sûreté de typage empêche de manière fiable, dès la compilation, toute confusion entre les points de contrôle de différentes entités.
Contexte
L'espace de noms C++ namespace ara::phm::supervised_entities::{ <hierarchical-namespace-list-lower-skeleton>} sert, au sein du Platform Health Management (PHM) de l'AUTOSAR Adaptive Platform, de zone dédiée aux points de contrôle (checkpoints) à sûreté de typage des unités fonctionnelles surveillées (Supervised Entities). Conformément à [SWS_PHM_00424], cet espace de noms contient des énumérations délimitées au format enum class {<phmssi-sn>} : std::uint32_t, qui définissent les checkpoints discrets pour l'interface ara::phm::PhmSupervisedEntityInterface. Pour chaque élément configuré de la liste des points de contrôle, il existe une déclaration d'énumérateur C++ unique [SWS_PHM_00425]. Cette interaction lie trois composants fonctionnels clés : le logiciel d'application surveillé (Supervised Entity), les checkpoints typés modélisés par l'espace de noms ainsi que l'interface de plateforme ara::phm::PhmSupervisedEntityInterface, par l'intermédiaire de laquelle les événements de surveillance sont transmis au service PHM.
Diagramme de contexte : interaction entre le logiciel d'application surveillé, l'énumération typée de checkpoints et l'interface de plateforme. Sources : [SWS_PHM_00424], [SWS_PHM_00425]
Cycle de vie
Les types et constantes au sein de l'espace de noms possèdent un caractère statique à la compilation. Ils ne sont soumis à aucun cycle de vie dynamique à l'exécution par allocation ou libération sur le tas, mais sont fournis sous forme d'énumérations délimitées C++11 typées avec le type de base std::uint32_t[SWS_PHM_00424]. Interprétation : les définitions sont typiquement générées de manière automatisée à partir de la description de service AUTOSAR au cours du processus de compilation, car les chemins et les identifiants dépendent des paramètres de modèle de l'interface. Question (ouverte) Pour l'inclusion, la norme met à disposition un fichier d'en-tête propre par unité surveillée sous #include "ara/phm/supervised_entities/{ <si-namespace-derived-directory-path-lower>}/{<phmssi-sn>}.h", tandis que les déclarations de type générales peuvent être déclarées de manière anticipée via l'en-tête de réacheminement #include "ara/phm/phm_fwd.h"[SWS_PHM_00424]. Les constantes d'énumérateur sont ainsi disponibles de manière immuable pour l'application pendant toute la durée de vie du processus [SWS_PHM_00425].
Parcours d'utilisation
Le chemin d'utilisation typique pour les composants logiciels agissant en tant que Supervised Entity se divise en trois étapes consécutives :
Inclusion de l'en-tête : l'application inclut l'en-tête généré de l'unité surveillée via le chemin de fichier ara/phm/supervised_entities/{ <si-namespace-derived-directory-path-lower>}/{<phmssi-sn>}.h ou le réacheminement central ara/phm/phm_fwd.h[SWS_PHM_00424].
Initialisation de l'interface : l'application instancie ou lie l'interface ara::phm::PhmSupervisedEntityInterface, pour laquelle les checkpoints de l'énumération ont été déclarés [SWS_PHM_00424].
Signalisation de checkpoint : lors du passage par des points de contrôle pertinents dans l'algorithme, l'application sélectionne l'énumérateur {<symbol-phm-checkpoint>} correspondant dans l'espace de noms [SWS_PHM_00425] et le signale à l'instance de ara::phm::PhmSupervisedEntityInterface[SWS_PHM_00424].
La liaison au type de base std::uint32_t[SWS_PHM_00424] et l'affectation explicite d'une valeur à chaque point de contrôle [SWS_PHM_00425] garantissent une identification à sûreté de typage et sans ambiguïté des étapes de programme respectives au moment de l'exécution.
Scénarios d'erreur
Les utilisations incorrectes de cet espace de noms résultent principalement de mauvaises configurations liées aux modèles et aux types. Comme il s'agit d'une enum class[SWS_PHM_00424], le système de types C++ empêche les conversions de type implicites ; l'utilisation de types de données incorrects ou d'énumérateurs appartenant à des Supervised Entities tierces est ainsi déjà interceptée au moment de la compilation. Des erreurs à l'exécution peuvent survenir si la configuration dans la description de modèle ne correspond pas exactement à la liste des énumérateurs : conformément à [SWS_PHM_00425], un énumérateur correspondant doit être déclaré pour chaque checkpoint. Interprétation : si une application venait à transmettre à ara::phm::PhmSupervisedEntityInterface une valeur std::uint32_t non configurée dans le modèle, en raison d'une conversion de type non autorisée ou de fichiers d'en-tête obsolètes, le service PHM ne devrait pas être en mesure d'associer ce checkpoint et considérerait cela comme une violation de la surveillance. Question Q-b8fb7472f6ea8d10 (ouverte)
Ce guide se base exclusivement sur les spécifications de l'AUTOSAR Adaptive Platform R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand