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] Wortlaut noch nicht übernommenUpstream: RS_SHWA_00004
class DeviceMonitor final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Ermöglicht die Überwachung von Hardware-Geräten und die Abfrage ihres aktuellen Betriebszustands.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7b51b19e11acHerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Ermöglicht die Überwachung von Hardware-Geräten und die Abfrage ihres aktuellen Betriebszustands.
Die Klasse ara::shwa::DeviceMonitor dient der synchronen Überwachung des Zustands von Hardware-Geräten im Funktionscluster shwa. Instanzen werden über die statische Factory-Methode Create anhand einer Gerätereferenz erzeugt ([AP_SWS_SHWA_01407]), woraufhin der Gerätestatus fortlaufend über die Methode Status() abgefragt werden kann ([AP_SWS_SHWA_01409]). Während die Erzeugung über Factory-Methoden threadsicher ausgeführt wird, ist der Aufruf zur Statusabfrage nicht threadsicher und erfordert bei parallelem Zugriff vermutlich eine anwendungsseitige Synchronisation. Frage (offen)
Kontext
Die Klasse ara::shwa::DeviceMonitor stellt im Modul shwa die zentrale Schnittstelle zur Überwachung des Zustands von Hardware-Geräten bereit. Anwendungssoftware nutzt die Klasse, um den Betriebsstatus einer über eine Gerätereferenz Device oder über ein Selektorelement DeviceSelector identifizierten Hardwarekomponente abzufragen ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Durch die Kapselung der Statusermittlung im Rückgabetyp DeviceStatus ([AP_SWS_SHWA_01409]) entkoppelt DeviceMonitor die aufrufende Steuerungsanwendung von den internen Hardwaredetails und dient als standardisierter Beobachter für den Lebens- und Fehlerzyklus des adressierten Geräts.
Lebenszyklus
Instanzen von DeviceMonitor können nicht über einen parameterlosen Standardkonstruktor erzeugt werden, da dieser explizit gelöscht ist ([AP_SWS_SHWA_01402]). Die Objekterzeugung erfolgt stattdessen kontrolliert über zwei statische Factory-Methoden: Create(const Device &device) ([AP_SWS_SHWA_01407]) oder die Template-Funktion Create(const DeviceSelector &deviceSelector) ([AP_SWS_SHWA_01408]). Beide Factory-Pfade liefern ein ara::core::Result<DeviceMonitor> zurück, sind als ausnahmesicher (exception safe) spezifiziert und garantieren Thread-Sicherheit.
Hinsichtlich der Besitzverhältnisse und der Wertsemantik verhält sich die Klasse flexibel: Sowohl Kopierkonstruktor ([AP_SWS_SHWA_01403]) und Kopierzuweisungsoperator ([AP_SWS_SHWA_01404]) als auch Verschiebekonstruktor ([AP_SWS_SHWA_01405]) und Verschiebezuweisungsoperator ([AP_SWS_SHWA_01406]) stehen als standardisierte (default) und ausnahmesichere (noexcept) Operationen zur Verfügung.
Beim Thema Nebenläufigkeit ist strikt zwischen Konstruktion und Nutzung zu unterscheiden: Während die Erzeugung über die Factory-Funktionen threadsicher ist, ist die Abfragemethode Status() explizit als nicht threadsicher (not thread-safe) deklariert ([AP_SWS_SHWA_01409]). Bei parallelem Zugriff mehrerer Threads auf dieselbe Instanz ist vermutlich eine anwendungsseitige Synchronisation erforderlich. Frage Q-4002d6fb6cac23ce (offen)
Nutzungspfad
Der typische Nutzungspfad gliedert sich in die Erzeugung der Monitorinstanz, die Validierung des Ergebnisses und die wiederholte Abfrage des Gerätestatus. Zunächst ruft die Anwendung eine der Factory-Methoden Create auf und übergibt die Zielkomponente ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Anschließend überprüft die Anwendung das resultierende ara::core::Result auf Erfolg. Ist das Objekt gültig, wird die Methode Status() aufgerufen ([AP_SWS_SHWA_01409]), welche synchron ein Objekt vom Typ DeviceStatus liefert.
Fehler treten vorwiegend bei der Erzeugung über die Factory-Methoden Create auf und werden ohne C++-Ausnahmen im Rückgabetyp ara::core::Result über ShwaErrorCode bereitgestellt ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Folgende Fehlerzustände sind für die Erzeugung definiert:
ShwaErrorCode::kResourceBusy: Die zugrunde liegende Ressource ist derzeit belegt, sodass die Monitorerstellung nicht unmittelbar abgeschlossen werden kann ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kInvalidParameter: Dem Aufruf wurde ein ungültiges Argument übergeben, beispielsweise eine unzulässige Geräteangabe ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kFeatureNotSupported: Die angeforderte Überwachungsfunktion wird von der Zielplattform oder Hardwarekonfiguration nicht unterstützt ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
Im laufenden Betrieb bei Aufruf von Status() sind keine Fehlercodes oder Ausnahmen vorgesehen; die Methode ist noexcept und garantiert Exception Safety ([AP_SWS_SHWA_01409]). Ein Hardwareausfall oder Verbindungsverlust dürfte daher im zurückgegebenen Zustandswert DeviceStatus abgebildet werden. Frage Q-8e2c8c2c7533b36f (offen)
Dieser Leitfaden basiert auf den Festlegungen der Spezifikation 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-medium· 2026-10-13