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.
Объединяет свойства для аппаратных актуаторов в безопасном относительно исключений объекте-значении для передачи в интерфейсы SHWA.
СОЗДАНО ИИне провереноМодель: 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 является частью модуля shwa (Smart Hardware Actuator) внутри AUTOSAR Adaptive Platform. Спецификация определяет этот тип как финальный класс (class PropertyList final), благодаря чему наследование пользовательскими классами заранее исключено. Основная роль класса заключается в объединении и структурированной передаче свойств. Через шаблон конструктора [AP_SWS_SHWA_00802] класс принимает переменное количество объектов свойств. Интерпретация: класс, вероятно, служит внутри модуля типобезопасным контейнером агрегации, который объединяет разнородные конфигурации или аппаратные атрибуты для актуаторов и датчиков и передает их обрабатывающим интерфейсам. Вопрос Q-70687f2df4a18776 (открытый)
Во взаимодействии с другими компонентами класс действует как носитель информации. Вызывающая сторона агрегирует специфичные для приложения свойства, в то время как подсистема SHWA принимает эти списки для управления низкоуровневыми операциями. Поскольку определение класса является финальным, PropertyList образует замкнутую структуру данных, предотвращающую прямую иерархию наследования и тем самым обеспечивающую единую семантику при передаче параметров.
Жизненный цикл
Жизненный цикл экземпляра ara::shwa::PropertyList начинается с прямой инициализации через вариативный конструктор template <typename... Properties> PropertyList(Properties... props) согласно [AP_SWS_SHWA_00802]. Благодаря объявлению с 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.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал