DEENESPTFRRUARHIKOZHNL

klasse 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] tekst nog niet geïmporteerd 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

User GuideAI-GEGENEREERD

Dient als abstracte interface voor de beoordeling en selectie van apparaten aan de hand van een specifieke selectiestrategie.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4c64c523c424 Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als abstracte interface voor de beoordeling en selectie van apparaten aan de hand van een specifieke selectiestrategie.

De abstracte klasse ara::shwa::DeviceSelector definieert een strategie-interface voor het beoordelen en selecteren van doelapparaten in het subsysteem shwa. Deze maakt via SelectDevice() de directe bepaling van een optimaal apparaat mogelijk, evenals via operator() de vergelijkende beoordeling van individuele apparaatkandidaten [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. De virtuele standaarddestructor garandeert de veilige vernietiging van afgeleide strategie-instanties. Tot de centrale randvoorwaarden behoort dat de aanroepen niet thread-safe zijn en er bij fouten geen automatische rollback-semantiek van kracht is.

Context

De klasse ara::shwa::DeviceSelector stelt in de module shwa een abstracte interface beschikbaar om hardware- of functionele apparaten (Device) te selecteren of te beoordelen op basis van een specifieke selectiestrategie. Deze fungeert als ontkoppelingslaag tussen een bovenliggende besturingstoepassing en de concrete selectiemethoden. Tot de betrokken interactiepartners behoren de aanroepende applicatie, de concrete implementatie van de selectiestrategie en de doelobjecten van het type Device. De interface definieert twee centrale operaties: de directe selectie van een apparaat via SelectDevice() [AP_SWS_SHWA_00403] en de vergelijkende individuele beoordeling van een apparaat via de functie-aanroepoperator operator() [AP_SWS_SHWA_00404].

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

Contextdiagram: Inbedding van DeviceSelector tussen applicatie en apparaatdoelen. Bronnen: [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]

Levenscyclus

Als abstracte basisklasse met zuiver virtuele methoden kan DeviceSelector niet direct worden geïnstantieerd. Concrete selectiestrategieën worden vermoedelijk geïmplementeerd als afgeleide klassen en aangemaakt door de applicatiecomponent. Vraag Q-4e22b2e57ef141e9 (open) Het beheer van de eigendomsverhoudingen ligt typisch bij de applicatie, bijvoorbeeld via smart pointers zoals std::unique_ptr<DeviceSelector>. Voor een correcte polymorfe vernietiging van de gespecialiseerde klassen declareert de interface een virtuele standaarddestructor ~DeviceSelector() [AP_SWS_SHWA_00402]. Deze is expliciet aangeduid als noexcept en voldoet daarmee aan de eisen voor uitzonderingsveiligheid (exception safe) bij het afbreken van de instanties [AP_SWS_SHWA_00402].

Wat betreft gelijktijdigheid en statusovergangen zijn de interface-operaties geclassificeerd als niet thread-safe (not thread-safe) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. Hoewel de lidfuncties zijn geannoteerd met const, mogen gelijktijdige toegangen tot dezelfde instantie vanuit verschillende threads niet plaatsvinden zonder externe synchronisatie. De specificatie voorziet voor foutieve aanroepen bovendien niet in een automatische terugdraaiing (no_rollback_semantics) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404].

Gebruikspad

Een typisch gebruiksverloop omvat de initialisatie van een concrete strategie-instantie en de aansluitende beoordeling of selectie van apparaatkandidaten. Hierbij bestaan twee primaire aanroeppaden:

  • Directe apparaatselectie: De applicatie roept de parameterloze methode SelectDevice() aan [AP_SWS_SHWA_00403]. De concrete strategie bepaalt autonoom het meest geschikte apparaat en retourneert een ara::core::Result<Device>.
  • Iteratieve individuele beoordeling: Bij algoritmen voor het filteren of sorteren van meerdere kandidaten geeft de applicatie de respectievelijke instanties opeenvolgend door aan operator()(const Device &device) [AP_SWS_SHWA_00404]. De evaluatie via operator() analyseert intern vermoedelijk relevante eigenschappen of bedrijfstoestanden van het meegegeven apparaat. Vraag Q-8ba0b9b900196d50 (open) De geretourneerde int-waarde in ara::core::Result<int> weerspiegelt hierbij vermoedelijk een geschiktheidsscore of prioriteit op basis waarvan de aanroepende instantie een selectiebeslissing neemt.
Aanroepsequenties voor apparaatbeoordeling en -selectieAnwendungDeviceSelectorUse Case: Individuele beoordeling van een kandidaat-apparaatoperator()(device)altErfolgreiche AuswertungResult<int> (Bewertungswert)Ressource belegtShwaErrorCode::kResourceBusyUse Case: Directe apparaatselectieSelectDevice()altErfolgreiche SelektionResult<Device>Functie niet ondersteundShwaErrorCode::kFeatureNotSupported

Sequentiediagram: Aanroepsequenties voor individuele beoordeling en directe selectie inclusief foutafhandeling. Bronnen: [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]

Foutscenario's

Beide selectiemethoden zijn gedeclareerd als noexcept en werpen geen C++-uitzonderingen op (exception safe). In plaats daarvan signaleren ze fouten via het foutkanaal van ara::core::Result. Applicaties moeten de retourwaarde altijd op fouten controleren voordat het resultaat wordt benaderd. De volgende fouttoestanden zijn gedefinieerd voor SelectDevice() en operator():

  • ShwaErrorCode::kResourceBusy: De aangevraagde operatie kon niet worden uitgevoerd omdat de vereiste resource momenteel bezet is [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. In dit geval kan de applicatie de aanroep op een later tijdstip herhalen of een alternatieve strategie kiezen.
  • ShwaErrorCode::kFeatureNotSupported: Wordt geretourneerd wanneer een voor de selectie of beoordeling aangevraagde functionaliteit niet wordt ondersteund door de onderliggende implementatie [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404].

Aangezien er geen rollback-semantiek bestaat (no_rollback_semantics) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404], blijft het systeem bij fouten in de huidige toestand en is de aanroepende instantie verantwoordelijk voor passende compenserende maatregelen. Als voorwaarde voor operator() geldt bovendien dat de meegegeven apparaatreferentie gedurende de gehele aanroep geldig moet blijven.

Deze klassehandleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11 (module shwa) en is geautomatiseerd gecureerd.

Ledenkaart

Constructors en destructor

1

Methoden

1

Operatoren

1

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

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

virtual ~DeviceSelector () noexcept=default;

Methoden

SelectDevice functie

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Operatoren

operator() functie

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Details

functie ~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#d8fdda34
Content hash
d8fdda34
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

functie 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#be96277b
Content hash
be96277b
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

functie 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#b7f70a0a
Content hash
b7f70a0a
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