Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
[AP_SWS_SHWA_01401] libellé pas encore importéUpstream: RS_SHWA_00004
class DeviceMonitor final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permet la surveillance de périphériques matériels et l'interrogation de leur état opérationnel actuel.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7b51b19e11acProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Permet la surveillance de périphériques matériels et l'interrogation de leur état opérationnel actuel.
La classe ara::shwa::DeviceMonitor sert à la surveillance synchrone de l'état de périphériques matériels dans le cluster de fonctionnalités shwa. Les instances sont créées via la méthode de fabrique statique Create à partir d'une référence de périphérique ([AP_SWS_SHWA_01407]), après quoi l'état du périphérique peut être interrogé en continu via la méthode Status() ([AP_SWS_SHWA_01409]). Alors que la création via les méthodes de fabrique s'exécute de manière sûre au niveau des threads (thread-safe), l'appel pour l'interrogation d'état n'est pas thread-safe et requiert, en cas d'accès parallèle, vraisemblablement une synchronisation côté application. Question (ouverte)
Contexte
La classe ara::shwa::DeviceMonitor fournit dans le module shwa l'interface centrale pour la surveillance de l'état de périphériques matériels. Le logiciel applicatif utilise la classe pour interroger l'état opérationnel d'un composant matériel identifié par une référence de périphérique Device ou par un élément sélecteur DeviceSelector ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Grâce à l'encapsulation de la détermination de l'état dans le type de retour DeviceStatus ([AP_SWS_SHWA_01409]), DeviceMonitor découple l'application de commande appelante des détails matériels internes et sert d'observateur standardisé pour le cycle de vie et d'erreur du périphérique adressé.
Cycle de vie
Les instances de DeviceMonitor ne peuvent pas être créées via un constructeur par défaut sans paramètre, car celui-ci est explicitement supprimé ([AP_SWS_SHWA_01402]). La création d'objets s'effectue à la place de façon contrôlée via deux méthodes de fabrique statiques : Create(const Device &device) ([AP_SWS_SHWA_01407]) ou la fonction template Create(const DeviceSelector &deviceSelector) ([AP_SWS_SHWA_01408]). Les deux chemins de fabrique retournent un ara::core::Result<DeviceMonitor>, sont spécifiés comme étant sûrs au niveau des exceptions (exception safe) et garantissent la sécurité des threads.
En ce qui concerne les relations de possession et la sémantique de valeur, la classe présente un comportement flexible : tant le constructeur de copie ([AP_SWS_SHWA_01403]) et l'opérateur d'assignation par copie ([AP_SWS_SHWA_01404]) que le constructeur de déplacement ([AP_SWS_SHWA_01405]) et l'opérateur d'assignation par déplacement ([AP_SWS_SHWA_01406]) sont disponibles en tant qu'opérations standardisées (default) et sûres vis-à-vis des exceptions (noexcept).
Concernant la concurrence, il convient de distinguer strictement la construction de l'utilisation : tandis que la création via les fonctions de fabrique est thread-safe, la méthode d'interrogation Status() est explicitement déclarée comme non thread-safe (not thread-safe) ([AP_SWS_SHWA_01409]). En cas d'accès parallèle de plusieurs threads à une même instance, une synchronisation côté application est vraisemblablement requise. Question Q-4002d6fb6cac23ce (ouverte)
Parcours d'utilisation
Le chemin d'utilisation typique s'articule autour de la création de l'instance de surveillance, de la validation du résultat et de l'interrogation répétée de l'état du périphérique. L'application appelle tout d'abord l'une des méthodes de fabrique Create et transmet le composant cible ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Ensuite, l'application vérifie le succès du ara::core::Result résultant. Si l'objet est valide, la méthode Status() est appelée ([AP_SWS_SHWA_01409]), laquelle fournit de manière synchrone un objet de type DeviceStatus.
Diagramme de séquence : déroulement typique des appels, de l'instanciation jusqu'à l'interrogation répétée de l'état. Sources : [AP_SWS_SHWA_01407], [AP_SWS_SHWA_01409]
Scénarios d'erreur
Les erreurs surviennent principalement lors de la création via les méthodes de fabrique Create et sont fournies sans exceptions C++ dans le type de retour ara::core::Result via ShwaErrorCode ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Les états d'erreur suivants sont définis pour la création :
ShwaErrorCode::kResourceBusy : la ressource sous-jacente est actuellement occupée, de sorte que la création du moniteur ne peut pas être achevée immédiatement ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kInvalidParameter : un argument non valide a été transmis à l'appel, par exemple une indication de périphérique non autorisée ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kFeatureNotSupported : la fonction de surveillance demandée n'est pas prise en charge par la plateforme cible ou la configuration matérielle ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
En fonctionnement nominal lors de l'appel de Status(), aucun code d'erreur ni aucune exception n'est prévu ; la méthode est noexcept et garantit la sécurité des exceptions ([AP_SWS_SHWA_01409]). Une défaillance matérielle ou une perte de liaison devrait donc être représentée dans la valeur d'état retournée DeviceStatus. Question Q-8e2c8c2c7533b36f (ouverte)
Ce guide est basé sur les exigences de la spécification AUTOSAR Adaptive Platform R25-11.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::DeviceMonitor
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::DeviceMonitor
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Original allemand