DEENESPTFRRUARHIKOZHNL

classe ara::shwa::PropertyList

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_00801] libellé pas encore importé Upstream: RS_SHWA_00001, RS_SHWA_00014

class PropertyList final {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

Header-Datei#include "ara/shwa/property_list.h"
Scopenamespace ara::shwa

Guide utilisateurGÉNÉRÉ PAR IA

Regroupe des propriétés pour des actionneurs matériels dans un objet-valeur sûr face aux exceptions pour transmission aux interfaces SHWA.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5dbb1d61ed77 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Regroupe des propriétés pour des actionneurs matériels dans un objet-valeur sûr face aux exceptions pour transmission aux interfaces SHWA.

La classe finale ara::shwa::PropertyList sert, dans le module AUTOSAR Adaptive shwa, à agréger et transmettre des propriétés. La création s'effectue via un constructeur de modèle variadique, déclaré comme noexcept et par conséquent sûr face aux exceptions ([AP_SWS_SHWA_00802]). Interprétation : Les instances devraient être principalement utilisées comme des objets-valeurs éphémères pour transmettre des attributs de configuration groupés à des interfaces matérielles. En tant que contrainte centrale, la classe n'est pas thread-safe (not thread-safe), raison pour laquelle les accès simultanés depuis plusieurs threads doivent être synchronisés de manière externe ([AP_SWS_SHWA_00802]). Question Q-6303ee8ec36bf3e3 (ouverte)

Contexte

La classe ara::shwa::PropertyList fait partie du module shwa (Smart Hardware Actuator) au sein de l'AUTOSAR Adaptive Platform. La spécification définit ce type comme une classe finale (class PropertyList final), ce qui exclut par avance toute dérivation par des classes utilisateur. Le rôle principal de la classe consiste à regrouper et à transmettre de manière structurée des propriétés. Via le modèle de constructeur [AP_SWS_SHWA_00802], la classe accepte une quantité variable d'objets de propriété. Interprétation : La classe devrait servir, au sein du module, de conteneur d'agrégation sécurisé du point de vue des types, qui regroupe des configurations hétérogènes ou des attributs matériels pour des actionneurs et des capteurs et les transmet aux interfaces de traitement. Question Q-70687f2df4a18776 (ouverte)

En interaction avec d'autres composants, la classe agit comme vecteur d'informations. L'appelant agrège des propriétés spécifiques à l'application, tandis que le sous-système SHWA reçoit ces listes afin de piloter des opérations proches du matériel. La définition de classe étant finale, PropertyList forme une structure de données fermée qui empêche une hiérarchie d'héritage directe et impose ainsi une sémantique uniforme lors de la transmission des paramètres.

Cycle de vie

Le cycle de vie d'une instance de ara::shwa::PropertyList débute par l'initialisation directe via le constructeur variadique template <typename... Properties> PropertyList(Properties... props) conformément à [AP_SWS_SHWA_00802]. La déclaration avec noexcept garantit que la création d'une instance se déroule de façon totalement sûre face aux exceptions, dans le respect de l'Exception Safety ([AP_SWS_SHWA_00802]). Si des erreurs surviennent lors du passage des paramètres ou du traitement interne, cela conduit, en raison de la garantie noexcept, à un arrêt direct du programme via std::terminate si les opérations sous-jacentes venaient à lever des exceptions.

En ce qui concerne le comportement vis-à-vis de la concurrence, la spécification stipule que la classe n'est pas thread-safe (not thread-safe) ([AP_SWS_SHWA_00802]). Cela signifie que les instances ne doivent pas être utilisées simultanément par plusieurs threads pendant leur création et lors de toutes les opérations consécutives, sans mécanismes de synchronisation externes. Interprétation : Les instances de PropertyList devraient typiquement être créées en tant qu'objets-valeurs (Value Objects) locaux sur la pile ou transmises par sémantique de déplacement (move semantics) aux fonctions appelées, instaurant ainsi des relations de propriété locales au thread sans état partagé. Question (ouverte)

La fin du cycle de vie suit les règles ordinaires applicables aux objets C++ automatiques ou dynamiques. Comme aucun destructeur virtuel ni aucun héritage n'est prévu, toutes les ressources contenues sont libérées de manière déterministe lors de la destruction de l'objet.

Parcours d'utilisation

Le chemin d'utilisation nominal de ara::shwa::PropertyList comprend la composition des propriétés pertinentes et la transmission de l'objet agrégé au sous-système SHWA :

  • Instanciation : l'utilisateur crée un objet de la classe en transmettant directement les propriétés souhaitées au constructeur variadique ([AP_SWS_SHWA_00802]). Grâce au patron, différents types de propriétés peuvent être combinés en un unique appel tout en respectant les types.
  • Transmission : l'instance créée est transmise aux méthodes ou interfaces cibles correspondantes du module shwa. Interprétation : après la construction, l'accès aux valeurs regroupées s'effectue vraisemblablement en lecture seule par les composants de traitement du sous-système matériel. Question Q-350de0ec77d53e28 (ouverte)
  • Nettoyage : à l'issue du traitement ou lors de la sortie de la portée, l'instance est automatiquement détruite sans qu'aucune étape explicite de désinitialisation ne soit requise.

Scénarios d'erreur

Puisque le constructeur de ara::shwa::PropertyList est explicitement déclaré comme noexcept, aucune exception C++ ne survient lors de son appel ([AP_SWS_SHWA_00802]). La sécurité vis-à-vis des exceptions est expressément désignée dans la spécification des exigences comme exception safe ([AP_SWS_SHWA_00802]). Les utilisateurs n'ont donc pas besoin de placer des blocs try-catch autour de la construction de listes de propriétés.

Un scénario d'erreur majeur réside dans le non-respect de la sécurité des threads. Comme PropertyList est classé not thread-safe selon [AP_SWS_SHWA_00802], un accès concurrent non protégé de plusieurs threads d'exécution à la même instance entraîne des situations de compétition et un comportement indéfini. Les développeurs doivent s'assurer que les instances sont soit exploitées exclusivement au niveau local du thread, soit protégées des accès concurrents par des primitives de synchronisation appropriées telles que des mutex.

Ce guide a été généré par une intelligence artificielle sur la base de la spécification AUTOSAR R25-11.

Constructeurs et destructeur

PropertyList fonction

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

template <typename... Properties> PropertyList (Properties... props) noexcept;

Détails

fonction PropertyList [AP_SWS_SHWA_00802] Upstream: RS_SHWA_00001, RS_SHWA_00007, RS_SHWA_00014

template <typename... Properties> PropertyList (Properties... props) noexcept;

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

Scopeclass ara::shwa::PropertyList
Thread Safetynot thread-safe
Exception Safetyexception safe

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00802
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00802@rel:R25-11#be4364e2
Content hash
be4364e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00802
Status: valid/unmigrated Version: rel:R25-11#46e60008 Versionshistorie & Revisions (1 transition)
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/AP_SWS_SHWA_00802@rel:R25-11#46e60008
Point-in-Time History:
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