DEENESPTFRRUARHIKOZHNL

类 ara::shwa::CpuSelector

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_00408] 原文尚未导入 Upstream: RS_SHWA_00006

class CpuSelector : public DeviceSelector {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

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

用户指南人工智能生成

允许根据选择器策略对硬件设备进行评估和有针对性的选择。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 89675708a89b 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

允许根据选择器策略对硬件设备进行评估和有针对性的选择。

类 ara::shwa::CpuSelector 在模块 shwa 中用于根据特定选择器策略评估和针对性选择硬件设备 [AP_SWS_SHWA_00410]。应用程序软件可以通过 operator() 评估单个候选设备,或者通过方法 SelectDevice() 直接确定合适的首选设备 [AP_SWS_SHWA_00409]。作为重要边界条件,这些接口被规范为非线程安全,不提供回滚语义,且仅通过 ara::core::Result 传递资源占用等潜在错误。

上下文

类 ara::shwa::CpuSelector 是 AUTOSAR Adaptive Platform 内硬件加速模块(shwa)的组成部分。它派生自基接口 DeviceSelector,并特化了执行设备的功能选择。其主要职责在于根据选择器策略评估硬件设备(Device)或直接选择合适的设备 [AP_SWS_SHWA_00409],[AP_SWS_SHWA_00410]。

在整个系统中,CpuSelector充当请求软件组件与可用硬件单元之间的纽带。虽然DeviceSelector提供通用接口,但正如类名所示,CpuSelector作为选择器策略应专门针对基于CPU的硬件资源。 问题 Q-32abbae13e272c68 (未决)应用软件集成此类,以便在移交工作之前就资源适用性做出明智的决策。

生命周期

CpuSelector的实例在应用上下文中或由上级管理实例创建,以提供选择策略。核心评估与选择操作被声明为const,因此该实例在其使用期间对外表现为无状态,且不修改任何内部选择状态[AP_SWS_SHWA_00409]、[AP_SWS_SHWA_00410]。

就并发性而言,SelectDevice() [AP_SWS_SHWA_00410]和operator() [AP_SWS_SHWA_00409]都不是线程安全的(not thread-safe)。由于这些方法被指定为非线程安全,因此对同一CpuSelector实例的并发访问推测必须由调用方进行同步。 问题 Q-fced1ce242dea2c2 (未决)在生命周期结束时,该选择器无需专门的回滚程序即可销毁。

使用路径

与CpuSelector的典型交互包括单独评估各个候选对象,或直接查询最佳目标设备。为了进行候选对象检查,调用方将设备引用传递给operator()(const Device &device) [AP_SWS_SHWA_00409]。作为ara::core::Result<int>返回的operator()应表示所传递Device的数值评估指标(分数),可据此比较多个设备。 问题 Q-33885b34ba761592 (未决)

如果应用程序希望将选择完全交由策略处理,则调用SelectDevice() [AP_SWS_SHWA_00410]。该方法在内部确定合适的设备,并返回封装有所选目标设备的ara::core::Result<Device>。

使用 CpuSelector 评估并选择设备应用CpuSelectorDeviceUse Case: Kandidatenbewertung via operator()operator()(device)根据选择器策略进行评估Result<int> (Score)Use Case: 通过 SelectDevice() 直接选择设备SelectDevice()Auswahl anhand Selektor-StrategieResult<Device>

时序图:通过CpuSelector评估和选择目标设备的典型流程。来源:[AP_SWS_SHWA_00409]、[AP_SWS_SHWA_00410]。

错误场景

这两种方法均声明为noexcept,并保证完全的异常安全性(exception safe)[AP_SWS_SHWA_00409]、[AP_SWS_SHWA_00410]。发生的错误条件不通过C++异常报告,而是通过ara::core::Result中的错误域返回。

针对这两种方法指定了来自ShwaErrorCode的以下错误值:

作为operator()的前置条件,必须提供有效的Device引用。两个函数均不采用回滚语义(no_rollback_semantics),因此在发生错误时不会自动清理先前的系统状态[AP_SWS_SHWA_00409]、[AP_SWS_SHWA_00410]。

本指南由 AI 系统基于 AUTOSAR Adaptive R25-11 规范生成。

方法

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

运算符

operator() 函数

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

详细信息

函数 SelectDevice [AP_SWS_SHWA_00410] Upstream: RS_SHWA_00006, RS_SHWA_00007

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

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::CpuSelector
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_00410
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00410@rel:R25-11#8035354a
Content hash
8035354a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00410
Status: valid/unmigrated Version: rel:R25-11#25297b84 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_00410@rel:R25-11#25297b84
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

函数 operator() [AP_SWS_SHWA_00409] Upstream: RS_SHWA_00006, RS_SHWA_00007

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

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::CpuSelector
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_00409
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00409@rel:R25-11#cc7b70c9
Content hash
cc7b70c9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00409
Status: valid/unmigrated Version: rel:R25-11#d547c13d 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_00409@rel:R25-11#d547c13d
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