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_01201] tekst nog niet geïmporteerdUpstream: RS_SHWA_00001
class TaskHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Maakt de aanmaak en indiening van zowel afzonderlijke als parallelle rekentaken naar versnellerapparaten mogelijk.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6d7c7c77c2a9HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Maakt de aanmaak en indiening van zowel afzonderlijke als parallelle rekentaken naar versnellerapparaten mogelijk.
De klasse ara::shwa::TaskHandler dient voor het uitvoeren van taken op accelerator-hardware via queue-inzendingen [AP_SWS_SHWA_01203]. Nieuwe instanties worden thread-safe aangemaakt via de statische factory-methode Create(), die fouten in ara::core::Result retourneert [AP_SWS_SHWA_01202]. Via SingleTask en ParallelFor kunnen afzonderlijke of dataparallele rekenstappen naar het doelapparaat worden verzonden. Terwijl de instantiëring thread-safe is, zijn de task-inzendingen niet thread-safe en vereisen ze externe synchronisatie bij parallelle toegang.
Context
De klasse ara::shwa::TaskHandler maakt als finale klasse (final) deel uit van de module voor hardwareversnelling (shwa) binnen het AUTOSAR Adaptive Platform. Ze fungeert als centrale interface voor de overdracht en uitvoering van rekentaken op een geselecteerd doelapparaat (device). Binnen de softwarearchitectuur vervult de klasse de rol van bemiddelaar tussen de toepassende softwarecomponent en de onderliggende uitvoeringsinfrastructuur.
De interactie vindt primair plaats tussen twee systeempartners: de aanroepende applicatie en de geselecteerde hardware-accelerator respectievelijk diens takenwachtrij. Rekenoperaties die aan de applicatiezijde zijn gedefinieerd, worden via de interfaces van ara::shwa::TaskHandler aangenomen en als queue-inzendingen doorgestuurd naar het device [AP_SWS_SHWA_01203]. Dit maakt zowel de afhandeling van afzonderlijke rekenstappen als van dataparallele verwerkingspatronen mogelijk [AP_SWS_SHWA_01204]. Interpretatie: de klasse kapselt vermoedelijk de apparaatspecifieke wachtrijen in, zodat applicatiecomponenten acceleratorbronnen kunnen aansturen zonder gekoppeld te zijn aan hardwarematige details. Vraag (open)
Levenscyclus
De levenscyclus van een instantie van ara::shwa::TaskHandler wordt beheerst door een strikt factory-patroon. De instantiëring vindt uitsluitend plaats via de statische factory-methode Create()[AP_SWS_SHWA_01202]. Aangezien de klasse als final is gedeclareerd, is specialisatie via overerving uitgesloten. Het aangemaakte object wordt verpakt in een ara::core::Result<TaskHandler> geretourneerd, waardoor het slagen van de initialisatie expliciet moet worden gecontroleerd [AP_SWS_SHWA_01202].
Wat betreft concurrency en thread-safety vertoont de klasse gedifferentieerde eigenschappen:
Instantiëring: de aanroep van de statische methode Create() is thread-safe (thread-safe) [AP_SWS_SHWA_01202]. Meerdere threads kunnen zodoende gelijktijdig nieuwe handler-instanties aanmaken via het factory-pad.
Task-inzending: de methoden voor het verzenden van werkopdrachten, SingleTask[AP_SWS_SHWA_01203] en ParallelFor[AP_SWS_SHWA_01204], zijn uitdrukkelijk als niet-thread-safe (not thread-safe) gespecificeerd. Een afzonderlijke instantie van TaskHandler mag derhalve niet ongecoördineerd vanuit meerdere threads tegelijkertijd worden aangesproken; de synchronisatie is de verantwoordelijkheid van de aanroeper.
Uitzonderingsveiligheid: alle methoden van de interface zijn gedeclareerd als noexcept en garanderen uitzonderingsveiligheid (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. Bij Create() gelden bovendien rollback-semantieken (rollback_semantics) voor het geval de initialisatie mislukt [AP_SWS_SHWA_01202].
Het eigenaarschap blijft bij de toepassende component, die de instantie aanhoudt en vernietigt zodra er geen verdere queue-inzendingen meer nodig zijn.
Gebruikspad
Het typische verloop is onderverdeeld in de fasen aanmaak, opdrachtconfiguratie en taakoverdracht. Eerst vraagt de applicatie via ara::shwa::TaskHandler::Create() een nieuwe instantie aan [AP_SWS_SHWA_01202]. Na succesvolle validatie van de ara::core::Result staat het object gereed voor werkopdrachten.
Vervolgens kiest de applicatie op basis van het verwerkingspatroon de geschikte overdrachtsmethode:
Voor individuele rekentaken wordt SingleTask(cfg) aangeroepen, waardoor de als parameter meegegeven task-functie in de queue van het geselecteerde doelapparaat wordt geplaatst [AP_SWS_SHWA_01203].
Voor dataparallele verwerkingspatronen is het functietemplate ParallelFor(bufferSize, cfg) beschikbaar [AP_SWS_SHWA_01204]. Hierbij wordt naast de configuratie tevens de buffergrootte (bufferSize) meegegeven om de parallelle verwerking over meerdere data-elementen heen op het acceleratorapparaat te besturen.
Interpretatie: de templateparameter T stelt hierbij vermoedelijk een aanroepbare functie, een lambda of een overeenkomstige taakconfiguratie voor, die de op het device uit te voeren rekenlogica inkapselt. Vraag Q-2fca8604440b44e9 (open)
De foutafhandeling in ara::shwa::TaskHandler volgt het exceptievrije paradigma (noexcept) van het Adaptive Platform.
Fouttoestanden treden vooral op tijdens de instantiëring:
De factory-methode Create() meldt mislukkingen via het foutkanaal in de retourwaarde ara::core::Result[AP_SWS_SHWA_01202].
Als concrete foutidentificator is ShwaErrorCode::kRuntime gedefinieerd, wat algemene runtime-fouten bij de objectcreatie signaleert [AP_SWS_SHWA_01202]. Door de gespecificeerde rollback-semantieken is gewaarborgd dat er bij een mislukking geen deels geïnitialiseerde toestanden of resourcelekken ontstaan [AP_SWS_SHWA_01202].
De aanroepen SingleTask[AP_SWS_SHWA_01203] en ParallelFor[AP_SWS_SHWA_01204] leveren geen retourwaarde (void) op en genereren geen exceptions. Aanroepers moeten er daarom voor zorgen dat de handler-instantie geldig is en dat toegangen bij gelijktijdige threads extern worden gesynchroniseerd.
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel