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 um estado de grupo de funções definido no metamodelo e permite sua comparação tipada.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1ee8ba6f6849ProcedênciaPerguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Representa um estado de grupo de funções definido no metamodelo e permite sua comparação tipada.
A classe ara::exec::FunctionGroupState representa um estado de grupo de funções definido no metamodelo AUTOSAR e vincula-o durante toda a sua vida útil a um grupo de funções específico e ao caminho ARXML correspondente [SWS_EM_02324]. As instâncias são criadas com o nome curto da declaração de destino, suportam semântica completa de cópia e movimento e possibilitam a comparação direta de equivalência de estados do modelo [SWS_EM_02273]. Todas as operações são definidas como seguras contra exceções bem como noexcept, sendo que atribuições modificadoras e destruições, em contraste com as comparações thread-safe, não podem ser executadas concorrentemente sem sincronização.
Contexto
A classe ara::exec::FunctionGroupState representa um estado de grupo de funções definido no metamodelo AUTOSAR (ARXML). Dentro do módulo exec da Adaptive Platform, uma instância desta classe serve como representação específica da implementação das respectivas informações do metamodelo. Um estado é sempre vinculado a um grupo de funções concreto, referenciado por meio de uma instância de FunctionGroup, e identificado como uma string através do nome curto (Short-Name) da respectiva ModeDeclaration[SWS_EM_02324]. Por meio de operadores de igualdade e desigualdade, instâncias podem ser diretamente comparadas entre si para determinar se representam o mesmo elemento do metamodelo [SWS_EM_02273][SWS_EM_02274].
Diagrama de contexto: Integração de FunctionGroupState entre o grupo de funções e o metamodelo ARXML. Fontes: [SWS_EM_02324], [SWS_EM_02273].
Ciclo de vida
A criação de uma instância ocorre através do construtor parametrizado, que recebe uma referência ao respectivo FunctionGroup bem como uma ara::core::StringView com o nome da ModeDeclaration[SWS_EM_02324]. Após a criação, o valor interno do objeto permanece estritamente vinculado ao caminho ARXML subjacente durante toda a sua vida útil. A classe suporta semântica de valor completa:
Cópia: Um construtor de cópia [SWS_EM_02325] e um operador de atribuição por cópia [SWS_EM_02330] possibilitam a duplicação de instâncias.
Movimento: Por meio do construtor de movimento [SWS_EM_02331] e do operador de atribuição por movimento [SWS_EM_02332], recursos podem ser transferidos eficientemente para instâncias novas ou existentes.
Destruição: O destrutor libera devidamente os recursos da instância [SWS_EM_02272].
Em relação à concorrência, a criação de uma instância via construtor é thread-safe [SWS_EM_02324]. As operações de comparação também são thread-safe [SWS_EM_02273][SWS_EM_02274]. Em contrapartida, todas as operações modificadoras de ciclo de vida — incluindo o construtor de cópia [SWS_EM_02325], construtor de movimento [SWS_EM_02331], atribuição por cópia [SWS_EM_02330], atribuição por movimento [SWS_EM_02332] e destrutor [SWS_EM_02272] — são declaradas como não thread-safe (not thread-safe).
Caminho de utilização
Um caminho de uso típico abrange a criação, repasse, avaliação e destruição de uma representação de estado:
Instanciação: A aplicação cria um objeto FunctionGroupState especificando o grupo de funções de destino e o nome da ModeDeclaration[SWS_EM_02324].
Comparação de estado: Em tempo de execução, a instância é comparada com outra instância para verificar se ambas mapeiam o mesmo elemento do metamodelo [SWS_EM_02273] ou se diferem uma da outra [SWS_EM_02274].
Liberação: Ao sair do escopo de validade, a instância é destruída por meio do destrutor [SWS_EM_02272].
O pré-requisito para a criação sem erros é a presença de um FunctionGroup válido, bem como de um ModeDeclaration definido no metamodelo [SWS_EM_02324]. Interpretação: Como o construtor [SWS_EM_02324] não retorna objetos de erro e não lança exceções, é provável que a passagem de nomes do metamodelo inexistentes não seja interceptada por meio de códigos de erro regulares da API, exigindo presumivelmente um modelo de sistema configurado corretamente antes da instanciação. Pergunta Q-7926777bafd2a76e (aberta)
Outro cenário de erro diz respeito à concorrência não coordenada: se operações de cópia, movimentação ou destruição forem executadas concorrentemente na mesma instância sem sincronização externa, há risco de condições de corrida (race conditions), uma vez que essas interfaces não são thread-safe [SWS_EM_02325][SWS_EM_02330][SWS_EM_02331][SWS_EM_02332][SWS_EM_02272].
Este guia baseia-se na especificação AUTOSAR Adaptive Platform R25-11 para o módulo exec e foi gerado automaticamente.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão