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.
Represents a function group state defined in the metamodel and enables its typed comparison.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1ee8ba6f6849ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Represents a function group state defined in the metamodel and enables its typed comparison.
The class ara::exec::FunctionGroupState represents a function group state defined in the AUTOSAR metamodel and binds it across its entire lifetime to a specific function group and the associated ARXML path [SWS_EM_02324]. Instances are created with the short-name of the target declaration, support full copy and move semantics, and enable the direct equivalence comparison of model states [SWS_EM_02273]. All operations are defined as exception-safe as well as noexcept, whereby modifying assignments and destructions, unlike thread-safe comparisons, must not be executed concurrently without synchronization.
Context
The class ara::exec::FunctionGroupState represents a function group state defined in the AUTOSAR metamodel (ARXML). Within module exec of the Adaptive Platform, an instance of this class serves as an implementation-specific representation of the corresponding metamodel information. A state is always bound to a concrete function group, which is referenced via an instance of FunctionGroup, and identified as a string via the short-name of the associated ModeDeclaration[SWS_EM_02324]. Via equality and inequality operators, instances can be compared directly with one another to determine whether they represent the same metamodel element [SWS_EM_02273][SWS_EM_02274].
Context diagram: Integration of FunctionGroupState between function group and ARXML metamodel. Sources: [SWS_EM_02324], [SWS_EM_02273].
Lifecycle
An instance is created via the parameterized constructor, which takes a reference to the associated FunctionGroup and a ara::core::StringView with the name of the ModeDeclaration[SWS_EM_02324]. After creation, the internal value of the object remains firmly bound to the underlying ARXML path across its entire lifetime. The class supports complete value semantics:
Copying: A copy constructor [SWS_EM_02325] and a copy assignment operator [SWS_EM_02330] enable duplicating instances.
Moving: Resources can be efficiently transferred to new or existing instances via the move constructor [SWS_EM_02331] and the move assignment operator [SWS_EM_02332].
Destruction: The destructor properly releases the resources of the instance [SWS_EM_02272].
A typical usage path comprises the creation, forwarding, evaluation, and destruction of a state representation:
Instantiation: The application creates a FunctionGroupState object specifying the target function group and the name of the ModeDeclaration[SWS_EM_02324].
State comparison: At runtime, the instance is compared with another instance to check whether both represent the same metamodel element [SWS_EM_02273] or differ from each other [SWS_EM_02274].
Release: Upon leaving the scope, the instance is destroyed via the destructor [SWS_EM_02272].
A precondition for error-free creation is the presence of a valid FunctionGroup as well as a ModeDeclaration defined in the metamodel [SWS_EM_02324]. Interpretation: Since constructor [SWS_EM_02324] returns no error objects and throws no exceptions, passing non-existent metamodel names is unlikely to be intercepted via regular API error codes, but presumably requires a correctly configured system model prior to instantiation. Question Q-7926777bafd2a76e (open)
Another failure scenario concerns uncoordinated concurrency: If copy, move, or destruction operations are executed concurrently on the same instance without external synchronization, race conditions threaten because these interfaces are not thread-safe [SWS_EM_02325][SWS_EM_02330][SWS_EM_02331][SWS_EM_02332][SWS_EM_02272].
This guide is based on the AUTOSAR Adaptive Platform specification R25-11 for the exec module and was generated automatically.
gemini-3.8-flash-low· 2026-10-13 · German original