Dient als instappunt voor het bepalen van beschikbare hardware-acceleratieplatformen en de daaraan toegewezen apparaten.
Context
De klasse ara::shwa::Platform vormt het centrale instappunt in het functionele cluster Safe Hardware Acceleration (SHWA) van het AUTOSAR Adaptive Platform (SWS SafeHardwareAcceleration §1 “Scope of Document”). Het doel van dit cluster is om Adaptive Applications en andere functionele clusters te voorzien van een gestandaardiseerde, overdraagbare en veilige interface voor het gebruik van hardware-accelerators (SWS SafeHardwareAcceleration §4.1 “Functional Overview”). Het cluster SHWA is verantwoordelijk voor parallelle rekenbewerkingen met inachtneming van automotive veiligheidsrichtlijnen, foutdetectie en foutcorrectie op accelerators, evenals de bewaking van de operationele toestand van de hardware (SWS SafeHardwareAcceleration §4.1 “Functional Overview”).
In de clusterarchitectuur representeert Platform het overkoepelende hardwareplatform, waarmee toegang tot specifieke executie-eenheden (Device) plaatsvindt (SWS SafeHardwareAcceleration §7 “High Level Design of Safe Hardware Acceleration in an Adaptive Platform”). Een Adaptive Application interageert met het platform om de aanwezige acceleratorapparaten te bepalen, die in samenspel met wachtrijen (queues) en buffers rekenintensieve taken parallel verwerken (SWS SafeHardwareAcceleration §7 “High Level Design of Safe Hardware Acceleration in an Adaptive Platform”).
Levenscyclus
De levenscyclus van ara::shwa::Platform is onderworpen aan een gecontroleerde instantiëring. De standaardconstructor is expliciet verwijderd ([AP_SWS_SHWA_01102]), zodat applicaties platformobjecten niet zonder context kunnen aanmaken. De initialisatie vindt uitsluitend plaats via de statische factory-methode GetPlatforms() ([AP_SWS_SHWA_01107]).
Beschikbaar gestelde instanties ondersteunen volledige waarde- en verplaatsingssemantiek:
Interpretatie: Aangezien alle kopieer- en verplaatsingsoperatoren als triviale standaard zijn gedeclareerd, is Platform vermoedelijk ontworpen als lichtgewicht representant of descriptor voor de drivercontext. Vraag Q-d136569f5adb1a20 (open) Wat betreft concurrency zijn de methoden van de klasse uitdrukkelijk gespecificeerd als niet thread-safe (not thread-safe) ([AP_SWS_SHWA_01107], [AP_SWS_SHWA_01108]). Worden instanties thread-overschrijdend gebruikt, dan moeten aanroepen aan applicatiezijde worden gesynchroniseerd.
Gebruikspad
De integratie van ara::shwa::Platform in een applicatie verloopt via een vaste stappenreeks:
- De applicatie roept de statische factory-methode
ara::shwa::Platform::GetPlatforms() aan om alle beschikbare platforminstanties op te vragen ([AP_SWS_SHWA_01107]).
- Uit de geretourneerde resultaatvector selecteert de applicatie de gewenste platforminstantie.
- Op deze instantie wordt de methode
GetDevices() aangeroepen om de toegewezen hardware-accelerators op te vragen ([AP_SWS_SHWA_01108]).
- De resulterende
Device-objecten worden vervolgens gebruikt om wachtrijen en buffers aan te maken om rekenbewerkingen op de hardware uit te voeren (SWS SafeHardwareAcceleration §7 “High Level Design of Safe Hardware Acceleration in an Adaptive Platform”).
Sequentiediagram: typisch verloop van de platformopvraging en de aansluitende bepaling van beschikbare acceleratorapparaten. Bronnen: [AP_SWS_SHWA_01107], [AP_SWS_SHWA_01108], SWS SafeHardwareAcceleration §7 “High Level Design of Safe Hardware Acceleration in an Adaptive Platform”.
Foutscenario's
De operaties van ara::shwa::Platform zijn gedeclareerd als noexcept en werpen geen C++-excepties ([AP_SWS_SHWA_01107], [AP_SWS_SHWA_01108]). Foutsituaties worden doorgegeven via het fouttype van de retourwaarde ara::core::Result. Zowel bij GetPlatforms() als bij GetDevices() zijn de volgende foutcodes gespecificeerd:
ShwaErrorCode::kResourceBusy: De aangevraagde operatie kon niet worden uitgevoerd omdat de betrokken hardware- of softwareresource momenteel bezet is ([AP_SWS_SHWA_01107], [AP_SWS_SHWA_01108]).
ShwaErrorCode::kRuntime: Er is een algemene runtimefout opgetreden ([AP_SWS_SHWA_01107], [AP_SWS_SHWA_01108]). Voor deze fout is geen rollback-semantiek (no_rollback_semantics) voorzien, waardoor de interne toestand niet automatisch wordt hersteld en de applicatie de bewerking moet afhandelen.
Deze klassehandleiding is voor AUTOSAR Adaptive Platform Release R25-11 samengesteld aan de hand van de specificaties van de module Safe Hardware Acceleration.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel