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äsentiert einen im Metamodell definierten Funktionsgruppenzustand und ermöglicht dessen typisierten Vergleich.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1ee8ba6f6849HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Repräsentiert einen im Metamodell definierten Funktionsgruppenzustand und ermöglicht dessen typisierten Vergleich.
Die Klasse ara::exec::FunctionGroupState repräsentiert einen im AUTOSAR-Metamodell definierten Funktionsgruppenzustand und bindet diesen über die gesamte Lebensdauer an eine spezifische Funktionsgruppe und den zugehörigen ARXML-Pfad [SWS_EM_02324]. Instanzen werden mit dem Kurznamen der Ziel-Deklaration erzeugt, unterstützen vollständige Kopier- sowie Move-Semantik und ermöglichen den direkten Äquivalenzvergleich von Modellzuständen [SWS_EM_02273]. Sämtliche Operationen sind als ausnahmesicher sowie noexcept definiert, wobei verändernde Zuweisungen und Zerstörungen im Gegensatz zu den thread-sicheren Vergleichen nicht nebenläufig ohne Synchronisation ausgeführt werden dürfen.
Kontext
Die Klasse ara::exec::FunctionGroupState repräsentiert einen im AUTOSAR-Metamodell (ARXML) definierten Funktionsgruppenzustand. Innerhalb des Moduls exec der Adaptive Platform dient eine Instanz dieser Klasse als implementierungsspezifische Repräsentation der entsprechenden Metamodell-Informationen. Ein Zustand wird dabei stets an eine konkrete Funktionsgruppe gebunden, die über eine Instanz von FunctionGroup referenziert wird, sowie über den Kurznamen (Short-Name) der zugehörigen ModeDeclaration als Zeichenkette identifiziert [SWS_EM_02324]. Über Gleichheits- und Ungleichheitsoperatoren lassen sich Instanzen direkt miteinander vergleichen, um festzustellen, ob sie dasselbe Metamodell-Element repräsentieren [SWS_EM_02273][SWS_EM_02274].
Kontextdiagramm: Einbindung von FunctionGroupState zwischen Funktionsgruppe und ARXML-Metamodell. Quellen: [SWS_EM_02324], [SWS_EM_02273].
Lebenszyklus
Die Erzeugung einer Instanz erfolgt über den parametrisierten Konstruktor, der eine Referenz auf die zugehörige FunctionGroup sowie einen ara::core::StringView mit dem Namen der ModeDeclaration entgegennimmt [SWS_EM_02324]. Nach der Erzeugung bleibt der interne Wert des Objekts über dessen gesamte Lebensdauer fest an den zugrunde liegenden ARXML-Pfad gebunden. Die Klasse unterstützt vollständige Wertesemantik:
Kopieren: Ein Kopierkonstruktor [SWS_EM_02325] und ein Kopierzuweisungsoperator [SWS_EM_02330] ermöglichen das Duplizieren von Instanzen.
Verschieben: Über den Move-Konstruktor [SWS_EM_02331] und den Move-Zuweisungsoperator [SWS_EM_02332] können Ressourcen effizient auf neue oder bestehende Instanzen übertragen werden.
Zerstörung: Der Destruktor gibt die Ressourcen der Instanz ordnungsgemäß frei [SWS_EM_02272].
Hinsichtlich der Nebenläufigkeit ist die Erzeugung einer Instanz über den Konstruktor thread-safe [SWS_EM_02324]. Auch die Vergleichsoperationen sind thread-safe [SWS_EM_02273][SWS_EM_02274]. Dagegen sind sämtliche modifizierenden Lebenszyklus-Operationen – einschließlich Kopierkonstruktor [SWS_EM_02325], Move-Konstruktor [SWS_EM_02331], Kopierzuweisung [SWS_EM_02330], Move-Zuweisung [SWS_EM_02332] und Destruktor [SWS_EM_02272] – als nicht thread-safe (not thread-safe) deklariert.
Nutzungspfad
Ein typischer Nutzungspfad umfasst die Erzeugung, Weitergabe, Auswertung und Zerstörung einer Zustandsrepräsentation:
Instanziierung: Die Anwendung erzeugt ein FunctionGroupState-Objekt unter Angabe der Ziel-Funktionsgruppe und des Namens der ModeDeclaration[SWS_EM_02324].
Zustandsvergleich: Zur Laufzeit wird die Instanz mit einer anderen Instanz verglichen, um zu prüfen, ob beide dasselbe Metamodell-Element abbilden [SWS_EM_02273] bzw. sich voneinander unterscheiden [SWS_EM_02274].
Freigabe: Beim Verlassen des Gültigkeitsbereichs wird die Instanz über den Destruktor zerstört [SWS_EM_02272].
Vorbedingung für die fehlerfreie Erzeugung ist das Vorhandensein einer gültigen FunctionGroup sowie einer im Metamodell definierten ModeDeclaration[SWS_EM_02324]. Interpretation: Da der Konstruktor [SWS_EM_02324] keine Fehlerobjekte zurückgibt und keine Ausnahmen auslöst, dürfte eine Übergabe nicht existierender Metamodell-Namen nicht über reguläre API-Fehlercodes abgefangen werden, sondern erfordert vermutlich ein korrekt konfiguriertes Systemmodell vor der Instanziierung. Frage Q-7926777bafd2a76e (offen)
Ein weiteres Fehlerszenario betrifft unkoordinierte Nebenläufigkeit: Werden Kopier-, Move- oder Zerstörungsoperationen ohne externe Synchronisation nebenläufig auf derselben Instanz ausgeführt, drohen Race Conditions, da diese Schnittstellen nicht thread-safe sind [SWS_EM_02325][SWS_EM_02330][SWS_EM_02331][SWS_EM_02332][SWS_EM_02272].
Dieser Leitfaden basiert auf der AUTOSAR Adaptive Platform Spezifikation R25-11 für das Modul exec und wurde automatisiert erstellt.
gemini-3.8-flash-medium· 2026-10-13