Class representing Function Group State defined in meta-model (ARXML). An instance of this class will represent Function Group State defined inside meta-model (ARXML). This class is intended to be an implementation specific representation, of information inside meta-model. Once created based on ARXML path, its internal value stays bounded to it for entire lifetime of a object.
Représente un état de groupe de fonctions défini dans le métamodèle et permet sa comparaison typée.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1ee8ba6f6849ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Représente un état de groupe de fonctions défini dans le métamodèle et permet sa comparaison typée.
La classe ara::exec::FunctionGroupState représente un état de groupe de fonctions défini dans le métamodèle AUTOSAR et le lie pendant toute la durée de vie à un groupe de fonctions spécifique et au chemin ARXML associé [SWS_EM_02324]. Les instances sont créées avec le nom court de la déclaration cible, prennent en charge l'intégralité de la sémantique de copie ainsi que de déplacement et permettent la comparaison d'équivalence directe d'états du modèle [SWS_EM_02273]. Toutes les opérations sont définies comme étant sûres vis-à-vis des exceptions ainsi que noexcept, les assignations modificatrices et les destructions ne devant pas, contrairement aux comparaisons thread-safe, être exécutées de manière concurrente sans synchronisation.
Contexte
La classe ara::exec::FunctionGroupState représente un état de groupe de fonctions défini dans le métamodèle AUTOSAR (ARXML). Au sein du module exec de l'Adaptive Platform, une instance de cette classe sert de représentation spécifique à l'implémentation des informations correspondantes du métamodèle. Un état est alors toujours lié à un groupe de fonctions concret, référencé via une instance de FunctionGroup, et identifié sous forme de chaîne de caractères par le nom court (Short-Name) du ModeDeclaration associé [SWS_EM_02324]. Des opérateurs d'égalité et d'inégalité permettent de comparer directement des instances entre elles afin de déterminer si elles représentent le même élément de métamodèle [SWS_EM_02273][SWS_EM_02274].
Diagramme de contexte : intégration de FunctionGroupState entre le groupe de fonctions et le métamodèle ARXML. Sources : [SWS_EM_02324], [SWS_EM_02273].
Cycle de vie
La création d'une instance s'effectue via le constructeur paramétré, qui accepte une référence vers le FunctionGroup associé ainsi qu'un ara::core::StringView contenant le nom du ModeDeclaration[SWS_EM_02324]. Après la création, la valeur interne de l'objet reste liée de manière fixe au chemin ARXML sous-jacent pendant toute sa durée de vie. La classe prend en charge une sémantique de valeur complète :
Copie : un constructeur de copie [SWS_EM_02325] et un opérateur d'assignation par copie [SWS_EM_02330] permettent de dupliquer des instances.
Déplacement : le constructeur de déplacement [SWS_EM_02331] et l'opérateur d'assignation par déplacement [SWS_EM_02332] permettent de transférer efficacement des ressources vers de nouvelles instances ou des instances existantes.
Destruction : le destructeur libère correctement les ressources de l'instance [SWS_EM_02272].
En ce qui concerne la concurrence, la création d'une instance via le constructeur est thread-safe [SWS_EM_02324]. Les opérations de comparaison sont également thread-safe [SWS_EM_02273][SWS_EM_02274]. En revanche, toutes les opérations de cycle de vie modificatrices — y compris le constructeur de copie [SWS_EM_02325], le constructeur de déplacement [SWS_EM_02331], l'assignation par copie [SWS_EM_02330], l'assignation par déplacement [SWS_EM_02332] et le destructeur [SWS_EM_02272] — sont déclarées non thread-safe (not thread-safe).
Parcours d'utilisation
Un chemin d'utilisation typique comprend la création, la transmission, l'évaluation et la destruction d'une représentation d'état :
Instanciation : l'application crée un objet FunctionGroupState en spécifiant le groupe de fonctions cible et le nom du ModeDeclaration[SWS_EM_02324].
Comparaison d'états : à l'exécution, l'instance est comparée à une autre instance pour vérifier si toutes deux représentent le même élément de métamodèle [SWS_EM_02273] ou si elles diffèrent l'une de l'autre [SWS_EM_02274].
Libération : lors de la sortie de la portée, l'instance est détruite via le destructeur [SWS_EM_02272].
La précondition pour une création sans erreur est la présence d'un FunctionGroup valide ainsi que d'un ModeDeclaration défini dans le métamodèle [SWS_EM_02324]. Interprétation : étant donné que le constructeur [SWS_EM_02324] ne renvoie pas d'objets d'erreur et ne lève pas d'exceptions, la transmission de noms de métamodèle inexistants ne devrait pas être interceptée par des codes d'erreur d'API réguliers, mais requiert vraisemblablement un modèle de système correctement configuré avant l'instanciation. Question Q-7926777bafd2a76e (ouverte)
Un autre scénario d'erreur concerne la concurrence non coordonnée : si des opérations de copie, de déplacement ou de destruction sont exécutées de manière concurrente sur la même instance sans synchronisation externe, des conditions de concurrence (race conditions) menacent d'apparaître, car ces interfaces ne sont pas thread-safe [SWS_EM_02325][SWS_EM_02330][SWS_EM_02331][SWS_EM_02332][SWS_EM_02272].
Ce guide est basé sur la spécification AUTOSAR Adaptive Platform R25-11 pour le module exec et a été généré automatiquement.
gemini-3.8-flash-low· 2026-10-13 · Original allemand