DEENESPTFRRUARHIKOZHNL

classe ara::shwa::DeviceSelector

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_00401] texto ainda não importado Upstream: RS_SHWA_00006

class DeviceSelector {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

Header-Datei#include "ara/shwa/device_selector.h"
Scopenamespace ara::shwa

Guia do utilizadorGERADO POR IA

Serve como interface abstrata para a avaliação e seleção de dispositivos com base em uma estratégia de seleção específica.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4c64c523c424 Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como interface abstrata para a avaliação e seleção de dispositivos com base em uma estratégia de seleção específica.

A classe abstrata ara::shwa::DeviceSelector define uma interface de estratégia para a avaliação e seleção de dispositivos-alvo no subsistema shwa. Ela possibilita a determinação direta de um dispositivo ideal por meio de SelectDevice(), bem como a avaliação comparativa de dispositivos candidatos individuais através de operator() [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. O destruidor padrão virtual garante a destruição segura de instâncias derivadas da estratégia. Entre as principais condições de contorno está o fato de as chamadas não serem thread-safe e de nenhuma semântica de rollback automático ser aplicada em caso de falhas.

Contexto

No módulo shwa, a classe ara::shwa::DeviceSelector disponibiliza uma interface abstrata para selecionar ou avaliar dispositivos de hardware ou funcionais (Device) com base em uma estratégia de seleção específica. Ela atua como uma camada de desacoplamento entre uma aplicação de controle de nível superior e os métodos de seleção concretos. Entre os parceiros de interação envolvidos estão a aplicação chamadora, a implementação concreta da estratégia de seleção e os objetos-alvo do tipo Device. A interface define duas operações centrais: a seleção direta de um dispositivo por meio de SelectDevice() [AP_SWS_SHWA_00403] e a avaliação individual comparativa de um dispositivo por meio do operador de chamada de função operator() [AP_SWS_SHWA_00404].

DeviceSelectorKontext Anwendung Anwendung DeviceSelector DeviceSelector Anwendung->DeviceSelector usa Device Device DeviceSelector->Device selektiert / bewertet

Diagrama de contexto: integração do DeviceSelector entre a aplicação e os alvos de dispositivo. Fontes: [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]

Ciclo de vida

Como classe base abstrata com métodos puramente virtuais, DeviceSelector não pode ser instanciada diretamente. Estratégias de seleção concretas devem ser implementadas como classes derivadas e criadas pelo componente de aplicação. O gerenciamento de posse fica tipicamente a cargo da aplicação, por exemplo, por meio de smart pointers como std::unique_ptr<DeviceSelector>. Para uma destruição polimórfica limpa das classes especializadas, a interface declara um destruidor padrão virtual ~DeviceSelector() [AP_SWS_SHWA_00402]. Este é designado explicitamente como noexcept, atendendo assim aos requisitos de segurança contra exceções (exception safe) no descarte das instâncias [AP_SWS_SHWA_00402]. Pergunta Q-4e22b2e57ef141e9 (aberta)

No que diz respeito à concorrência e transições de estado, as operações da interface são classificadas como não thread-safe (not thread-safe) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. Embora as funções-membro estejam anotadas com const, acessos concorrentes à mesma instância a partir de diferentes threads não devem ocorrer sem sincronização externa. Além disso, a especificação não prevê nenhuma reversão automática (no_rollback_semantics) para chamadas com falha [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404].

Caminho de utilização

Um fluxo de utilização típico compreende a inicialização de uma instância de estratégia concreta e a subsequente avaliação ou seleção de dispositivos candidatos. Existem dois caminhos de chamada primários:

  • Seleção direta de dispositivos: a aplicação chama o método sem parâmetros SelectDevice() [AP_SWS_SHWA_00403]. A estratégia concreta determina autonomamente o dispositivo mais adequado e retorna um ara::core::Result<Device>.
  • Avaliação individual iterativa: em algoritmos para filtragem ou ordenação de múltiplos candidatos, a aplicação passa as respectivas instâncias sucessivamente para operator()(const Device &device) [AP_SWS_SHWA_00404]. A avaliação através de operator() provavelmente analisa internamente propriedades ou estados operacionais relevantes do dispositivo passado. Pergunta Q-8ba0b9b900196d50 (aberta) O valor int retornado no ara::core::Result<int> deve refletir uma métrica de aptidão ou prioridade, com base na qual o ponto chamador toma uma decisão de seleção.
Sequências de chamada para avaliação e seleção de dispositivosAplicaçãoDeviceSelectorUse Case: Avaliação individual de um dispositivo candidatooperator()(device)altErfolgreiche AuswertungResult<int> (Bewertungswert)Ressource belegtShwaErrorCode::kResourceBusyUse Case: Seleção direta de dispositivoSelectDevice()altErfolgreiche SelektionResult<Device>Função não suportadaShwaErrorCode::kFeatureNotSupported

Diagrama de sequência: sequências de chamada para avaliação individual e seleção direta, incluindo tratamento de erros. Fontes: [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]

Cenários de erro

Ambos os métodos de seleção são declarados como noexcept e não lançam exceções C++ (exception safe). Em vez disso, sinalizam falhas pelo canal de erro de ara::core::Result. As aplicações devem sempre verificar o valor de retorno quanto a erros antes de acessar o resultado. Os seguintes estados de erro estão definidos para SelectDevice() e operator():

  • ShwaErrorCode::kResourceBusy: a operação solicitada não pôde ser executada porque o recurso necessário está ocupado no momento [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. Neste caso, a aplicação pode repetir a chamada em um momento posterior ou escolher uma estratégia alternativa.
  • ShwaErrorCode::kFeatureNotSupported: retornado quando uma funcionalidade solicitada para a seleção ou avaliação não é suportada pela implementação subjacente [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404].

Como não existe semântica de rollback (no_rollback_semantics) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404], em caso de erro o sistema permanece no estado atual, e o ponto chamador é responsável por medidas de compensação adequadas. Além disso, aplica-se como pré-condição para operator() que a referência de dispositivo passada deve permanecer válida durante toda a chamada.

Este guia de classe baseia-se na especificação AUTOSAR Adaptive R25-11 (módulo shwa) e foi curado de forma automatizada.

Mapa de membros

Construtores e destrutor

1

Métodos

1

Operadores

1

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

virtual ~DeviceSelector () noexcept=default;

Métodos

SelectDevice função

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

virtual ara::core::Result< Device > SelectDevice () const noexcept=0;

Operadores

operator() função

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

virtual ara::core::Result< int > operator() (const Device &device) const noexcept=0;

Detalhes

função ~DeviceSelector [AP_SWS_SHWA_00402] Upstream: RS_SHWA_00006

virtual ~DeviceSelector () noexcept=default;

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

Scopeclass ara::shwa::DeviceSelector
Exception Safetyexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00402
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00402@rel:R25-11#bd559c5e
Content hash
bd559c5e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00402
Status: valid/unmigrated Version: rel:R25-11#8e9d36b4 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_00402@rel:R25-11#8e9d36b4
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função SelectDevice [AP_SWS_SHWA_00403] Upstream: RS_SHWA_00006, RS_SHWA_00007

virtual ara::core::Result< Device > SelectDevice () const noexcept=0;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::DeviceSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00403
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00403@rel:R25-11#8aa214e1
Content hash
8aa214e1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00403
Status: valid/unmigrated Version: rel:R25-11#83b7e520 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_00403@rel:R25-11#83b7e520
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função operator() [AP_SWS_SHWA_00404] Upstream: RS_SHWA_00006, RS_SHWA_00007

virtual ara::core::Result< int > operator() (const Device &device) const noexcept=0;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::DeviceSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00404
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00404@rel:R25-11#50c2529d
Content hash
50c2529d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00404
Status: valid/unmigrated Version: rel:R25-11#2bfa9942 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_00404@rel:R25-11#2bfa9942
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill