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.
Representa un estado de grupo de funciones definido en el metamodelo y permite su comparación tipada.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1ee8ba6f6849ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Representa un estado de grupo de funciones definido en el metamodelo y permite su comparación tipada.
La clase ara::exec::FunctionGroupState representa un estado de grupo de funciones definido en el metamodelo AUTOSAR y lo vincula durante toda su vida útil a un grupo de funciones específico y a la ruta ARXML correspondiente [SWS_EM_02324]. Las instancias se crean con el nombre corto de la declaración de destino, admiten una semántica completa de copia y movimiento, y permiten la comparación directa de equivalencia de estados del modelo [SWS_EM_02273]. Todas las operaciones están definidas como seguras frente a excepciones y noexcept, por lo que las asignaciones modificadoras y las destrucciones, a diferencia de las comparaciones seguras para subprocesos, no deben ejecutarse de forma concurrente sin sincronización.
Contexto
La clase ara::exec::FunctionGroupState representa un estado de grupo de funciones definido en el metamodelo AUTOSAR (ARXML). Dentro del módulo exec de la Adaptive Platform, una instancia de esta clase sirve como representación específica de la implementación de la información del metamodelo correspondiente. Un estado siempre se vincula a un grupo de funciones concreto, al cual se hace referencia a través de una instancia de FunctionGroup, y se identifica como cadena mediante el nombre corto (Short-Name) del ModeDeclaration correspondiente [SWS_EM_02324]. Mediante operadores de igualdad y desigualdad, las instancias se pueden comparar directamente entre sí para determinar si representan el mismo elemento del metamodelo [SWS_EM_02273][SWS_EM_02274].
Diagrama de contexto: integración de FunctionGroupState entre el grupo de funciones y el metamodelo ARXML. Fuentes: [SWS_EM_02324], [SWS_EM_02273].
Ciclo de vida
La creación de una instancia se realiza mediante el constructor parametrizado, que recibe una referencia al FunctionGroup asociado y un ara::core::StringView con el nombre del ModeDeclaration[SWS_EM_02324]. Tras la creación, el valor interno del objeto permanece firmemente vinculado a la ruta ARXML subyacente durante toda su vida útil. La clase admite una semántica de valores completa:
Copia: un constructor de copia [SWS_EM_02325] y un operador de asignación por copia [SWS_EM_02330] permiten duplicar instancias.
Movimiento: a través del constructor de movimiento [SWS_EM_02331] y del operador de asignación por movimiento [SWS_EM_02332], los recursos pueden transferirse eficientemente a instancias nuevas o existentes.
Destrucción: el destructor libera adecuadamente los recursos de la instancia [SWS_EM_02272].
En cuanto a la concurrencia, la creación de una instancia mediante el constructor es segura para subprocesos (thread-safe) [SWS_EM_02324]. Las operaciones de comparación también son seguras para subprocesos [SWS_EM_02273][SWS_EM_02274]. Por el contrario, todas las operaciones de ciclo de vida modificadoras —incluidos el constructor de copia [SWS_EM_02325], el constructor de movimiento [SWS_EM_02331], la asignación por copia [SWS_EM_02330], la asignación por movimiento [SWS_EM_02332] y el destructor [SWS_EM_02272]— están declaradas como no seguras para subprocesos (not thread-safe).
Ruta de uso
Una ruta de uso típica incluye la creación, transferencia, evaluación y destrucción de una representación de estado:
Instanciación: la aplicación crea un objeto FunctionGroupState especificando el grupo de funciones de destino y el nombre del ModeDeclaration[SWS_EM_02324].
Comparación de estado: en tiempo de ejecución, la instancia se compara con otra instancia para verificar si ambas representan el mismo elemento del metamodelo [SWS_EM_02273] o si difieren entre sí [SWS_EM_02274].
Liberación: al salir del ámbito de validez, la instancia se destruye a través del destructor [SWS_EM_02272].
La condición previa para una creación libre de errores es la presencia de un FunctionGroup válido y de un ModeDeclaration definido en el metamodelo [SWS_EM_02324]. Interpretación: Dado que el constructor [SWS_EM_02324] no devuelve objetos de error ni lanza excepciones, es probable que la transferencia de nombres de metamodelo inexistentes no se intercepte a través de códigos de error estándar de la API, sino que presumiblemente requiera un modelo de sistema configurado correctamente antes de la instanciación. Pregunta Q-7926777bafd2a76e (abierta)
Otro escenario de error concierne a la concurrencia no coordinada: si las operaciones de copia, movimiento o destrucción se ejecutan simultáneamente en la misma instancia sin sincronización externa, existe el riesgo de que se produzcan condiciones de carrera (race conditions), ya que estas interfaces no son seguras para subprocesos [SWS_EM_02325][SWS_EM_02330][SWS_EM_02331][SWS_EM_02332][SWS_EM_02272].
Esta guía se basa en la especificación R25-11 de AUTOSAR Adaptive Platform para el módulo exec y ha sido generada automáticamente.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán