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ïmporteerdUpstream: RS_SHWA_00006
class DeviceSelector {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Dient als abstracte interface voor de beoordeling en selectie van apparaten aan de hand van een specifieke selectiestrategie.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4c64c523c424HerkomstOpen 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].
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.
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.
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::DeviceSelector
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.
virtual ara::core::Result< int > operator() (const Device &device) const noexcept=0;
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::DeviceSelector
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 · Duits origineel