Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
[AP_SWS_SHWA_00408] texto ainda não importadoUpstream: RS_SHWA_00006
class CpuSelector : public DeviceSelector {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permite a avaliação e a seleção direcionada de dispositivos de hardware com base em uma estratégia de seletor.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 89675708a89bProcedênciaPerguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Permite a avaliação e a seleção direcionada de dispositivos de hardware com base em uma estratégia de seletor.
A classe ara::shwa::CpuSelector serve, no módulo shwa, para a avaliação e seleção direcionada de dispositivos de hardware de acordo com uma estratégia de seletor específica [AP_SWS_SHWA_00410]. O software de aplicação pode avaliar candidatos individuais a dispositivos por meio de operator() ou determinar diretamente um dispositivo de destino adequado por meio do método SelectDevice()[AP_SWS_SHWA_00409]. Como condições de contorno essenciais, as interfaces estão especificadas como não thread-safe, não oferecem semântica de rollback e transmitem potenciais erros, como recursos ocupados, exclusivamente por meio de ara::core::Result.
Contexto
A classe ara::shwa::CpuSelector é parte integrante do módulo para aceleração de hardware (shwa) dentro da AUTOSAR Adaptive Platform. Ela deriva da interface base DeviceSelector e especializa a seleção funcional de dispositivos de execução. Sua responsabilidade primária consiste em avaliar dispositivos de hardware (Device) com base em uma estratégia de seletor ou selecionar diretamente um dispositivo adequado [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
No sistema como um todo, CpuSelector atua como elo de ligação entre os componentes de software solicitantes e as unidades de hardware disponíveis. Enquanto DeviceSelector disponibiliza a interface geral, CpuSelector deve visar, como estratégia de seletor, especificamente a recursos de hardware baseados em CPU, conforme sugere o nome da classe. Pergunta Q-32abbae13e272c68 (aberta) O software de aplicação inclui essa classe para tomar decisões fundamentadas sobre a adequação dos recursos antes da transferência de tarefas.
Ciclo de vida
Instâncias de CpuSelector são criadas no contexto da aplicação ou por instâncias gerenciadoras superiores para disponibilizar estratégias de seleção. As operações centrais de avaliação e seleção estão declaradas como const, razão pela qual a instância se comporta externamente sem estado durante seu uso e não modifica estados internos de seleção [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Para a concorrência, aplica-se que nem SelectDevice()[AP_SWS_SHWA_00410] nem operator()[AP_SWS_SHWA_00409] são thread-safe (not thread-safe). Como os métodos estão especificados como não thread-safe, acessos concorrentes à mesma instância de CpuSelector devem presumivelmente ser sincronizados pelo chamador. Pergunta Q-fced1ce242dea2c2 (aberta) Ao final do ciclo de vida, o seletor é desalocado sem procedimentos especiais de rollback.
Caminho de utilização
A interação típica com CpuSelector compreende ou a avaliação individual de candidatos isolados ou a consulta direta ao dispositivo de destino ideal. Para a verificação de candidatos, o chamador passa uma referência de dispositivo para operator()(const Device &device)[AP_SWS_SHWA_00409]. O retorno de operator() como ara::core::Result<int> deve representar uma métrica numérica de avaliação (score) para o Device passado, com base na qual vários dispositivos podem ser comparados. Pergunta Q-33885b34ba761592 (aberta)
Caso a aplicação queira deixar a seleção totalmente a cargo da estratégia, ela chama SelectDevice()[AP_SWS_SHWA_00410]. Este método determina internamente o dispositivo adequado e retorna um ara::core::Result<Device>, o qual encapsula o dispositivo de destino selecionado.
Diagrama de sequência: Fluxo típico para avaliação e seleção de um dispositivo de destino via CpuSelector. Fontes: [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Cenários de erro
Ambos os métodos estão declarados com noexcept e garantem total segurança contra exceções (exception safe) [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410]. Condições de erro ocorridas não são reportadas por meio de C++-Exceptions, mas retornadas por meio do domínio de erro em ara::core::Result.
Os seguintes valores de erro de ShwaErrorCode estão especificados para ambos os métodos:
ShwaErrorCode::kResourceBusy: A avaliação ou seleção não pôde ser executada porque o recurso endereçado está atualmente sobrecarregado [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
ShwaErrorCode::kFeatureNotSupported: Uma propriedade de dispositivo ou função de seletor solicitada não é suportada pelo sistema [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Como pré-condição para operator(), uma referência Device válida deve estar disponível. Ambas as funções abrem mão de semânticas de rollback (no_rollback_semantics), razão pela qual nenhuma limpeza automática de estados anteriores do sistema é realizada em caso de falha [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Este guia foi gerado por um sistema de IA com base na especificação de AUTOSAR Adaptive R25-11.
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::CpuSelector
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
ara::core::Result< int > operator() (const Device &device) const noexcept override;
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::CpuSelector
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão