DEENESPTFRRUARHIKOZHNL

类 ara::shwa::PropertyList

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_00801] 原文尚未导入 Upstream: RS_SHWA_00001, RS_SHWA_00014

class PropertyList final {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

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

用户指南人工智能生成

将硬件执行器的属性捆绑在异常安全的值对象中,以传递给 SHWA 接口。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5dbb1d61ed77 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

将硬件执行器的属性捆绑在异常安全的值对象中,以传递给 SHWA 接口。

最终类 ara::shwa::PropertyList 在 AUTOSAR Adaptive 模块 shwa 中用于属性的聚合和传递。其创建通过变参模板构造函数进行,该构造函数声明为 noexcept,因而具备异常安全性([AP_SWS_SHWA_00802])。解读:实例大概主要用作生命周期较短的值对象,以便将配置属性捆绑传递给硬件接口。 问题 Q-6303ee8ec36bf3e3 (未决)作为核心约束条件,该类不是线程安全的(not thread-safe),因此来自多个线程的并发访问必须在外部进行同步([AP_SWS_SHWA_00802])。

上下文

类 ara::shwa::PropertyList 是 AUTOSAR Adaptive Platform 内模块 shwa(智能硬件执行器,Smart Hardware Actuator)的组成部分。该规范将该类型定义为最终类(class PropertyList final),从而预先排除了由用户类派生的可能。该类的主要职责在于属性的捆绑和结构化传递。通过构造函数模板 [AP_SWS_SHWA_00802],该类接收可变数量的属性对象。解读:该类在模块内部可能充当类型安全的聚合容器,用于汇总执行器和传感器的异构配置或硬件属性,并转发给处理接口。 问题 Q-70687f2df4a18776 (未决)

在与其他组件的协作中,该类充当信息载体的角色。调用方聚合应用程序特定的属性,而 SHWA 子系统接收这些列表以控制底层硬件操作。由于类定义是 final 的,PropertyList 构成了一个封闭的数据结构,防止了直接继承层次结构,从而在参数传递时强制实现统一的语义。

生命周期

ara::shwa::PropertyList 实例的生命周期始于根据 [AP_SWS_SHWA_00802] 通过变参构造函数 template <typename... Properties> PropertyList(Properties... props) 进行直接初始化。通过使用 noexcept 声明,保证了在考虑异常安全性(Exception Safety)的前提下,实例的创建完全是异常安全的([AP_SWS_SHWA_00802])。如果在参数传递或内部处理期间发生错误,在底层操作抛出异常的情况下,基于 noexcept 保证将通过 std::terminate 直接导致程序中止。

关于并发行为,规范规定该类不是线程安全的(not thread-safe)([AP_SWS_SHWA_00802])。这意味着在创建期间以及所有后续操作中,未经外部同步机制,不得由多个线程并发使用实例。解读:PropertyList 的实例通常可能作为本地值对象(Value Objects)在栈上创建,或者通过移动语义传递给被调用函数,从而在没有共享状态的情况下实现线程局部所有权。 问题 (未决)

生命周期的结束遵循自动或动态 C++ 对象的常规规则。由于未提供虚析构函数或继承,所有包含的资源在对象销毁时都会被确定性地释放。

使用路径

ara::shwa::PropertyList 的常规使用路径包括整理相关属性并将聚合后的对象传递给 SHWA 子系统:

  • 实例化:用户通过将所需属性直接传递给变参构造函数来创建该类的对象([AP_SWS_SHWA_00802])。通过该模板,可以在单次调用中以符合类型规范的方式合并不同的属性类型。
  • 传递:所创建的实例被传递给模块 shwa 的相应目标方法或接口。解读:在构造之后,硬件子系统的处理组件可能仅以只读方式访问捆绑的值。 问题 Q-350de0ec77d53e28 (未决)
  • 清理:在处理完成或离开作用域后,实例将自动销毁,无需显式的反初始化步骤。

错误场景

由于 ara::shwa::PropertyList 的构造函数显式声明为 noexcept,因此在调用时不会引发 C++ 异常([AP_SWS_SHWA_00802])。在需求规范中,异常安全性被明确指定为 exception safe([AP_SWS_SHWA_00802])。因此,用户无需在属性列表的构造周围放置 try-catch 块。

一个关键的错误场景在于忽略线程安全性。由于 PropertyList 根据 [AP_SWS_SHWA_00802] 被归类为 not thread-safe,多个执行线程对同一实例的未受保护并发访问将导致竞态条件和未定义行为。开发人员必须确保实例要么完全在线程局部运行,要么通过互斥锁等合适的同步原语进行保护以防止并发访问。

本指南由人工智能基于 AUTOSAR 规范 R25-11 生成。

构造函数和析构函数

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

template <typename... Properties> PropertyList (Properties... props) noexcept;

详细信息

函数 PropertyList [AP_SWS_SHWA_00802] Upstream: RS_SHWA_00001, RS_SHWA_00007, RS_SHWA_00014

template <typename... Properties> PropertyList (Properties... props) noexcept;

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

Scopeclass ara::shwa::PropertyList
Thread Safetynot thread-safe
Exception Safetyexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00802
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00802@rel:R25-11#3db11117
Content hash
3db11117
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00802
Status: valid/unmigrated Version: rel:R25-11#46e60008 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_00802@rel:R25-11#46e60008
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