Содержит метаданные, условия и указания размера пакета обновления программного обеспечения для предоставления через диагностику.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0be8a0cfd01aПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Содержит метаданные, условия и указания размера пакета обновления программного обеспечения для предоставления через диагностику.
Структура ara::diag::SovdSwUpdate::UpdatePackageDetails служит стандартизированным объектом передачи данных для метаданных пакетов обновления программного обеспечения в рамках ASAM SOVD [SWS_DM_01877]. Она передает идентификаторы пакетов, размеры, условия, а также затрагиваемые компоненты от реализующего приложения к уровню протокола SOVD диагностического экземпляра AUTOSAR_AP_SWS_Diagnostics §7.4 «Figure 7.4: SOVD Software Update API - concept». Предоставление данных осуществляется преимущественно в виде ответа на запросы через GetUpdatePackageDetails. Поскольку структура объединяет чисто пассивные переменные-члены, она не имеет собственной синхронизации и требует внешней защиты при параллельном использовании.
Контекст
Структура ara::diag::SovdSwUpdate::UpdatePackageDetails определена в заголовке ara/diag/sovd_sw_update.h[SWS_DM_01877] и служит стандартизированным контейнером данных для подробной информации о пакетах обновления программного обеспечения в рамках Service-Oriented Vehicle Diagnostics (SOVD). Согласно [SWS_DM_01796], экземпляр Diagnostic Server реализует методы SOVD API для обновлений программного обеспечения в соответствии со стандартом ASAM SOVD. Поскольку функциональная логика обновлений программного обеспечения не обрабатывается внутри функционального кластера Diagnostics, выполнение возлагается преимущественно на адаптивное приложение, в то время как ara::diag::SovdSwUpdate концентрируется на обработке базового протокола SOVD AUTOSAR_AP_SWS_Diagnostics §7.4 «Figure 7.4: SOVD Software Update API - concept».
В этой архитектуре UpdatePackageDetails выступает в качестве интерфейса для обмена информацией между специфичной для автомобиля логикой обновления приложения и уровнем протокола SOVD. Структура объединяет метаданные, необходимые для идентификации, валидации, планирования и отображения процесса обновления. Сюда входят базовые идентификаторы, такие как ID пакета id[SWS_DM_01878] и наименование name[SWS_DM_01879] вместе со ссылкой на перевод translation_id[SWS_DM_01881]. Кроме того, структура инкапсулирует данные о размерах и времени выполнения, такие как размер пакета size в байтах [SWS_DM_01893], ориентировочная продолжительность выполнения duration в секундах [SWS_DM_01891], а также опциональный признак automated для автоматизированных процессов [SWS_DM_01882]. Для обеспечения прослеживаемости и управления целевыми компонентами она передает данные о происхождении в origin[SWS_DM_01883], список обновленных компонентов в updated_components[SWS_DM_01894], а также затронутые составные части системы в affected_components[SWS_DM_01895]. Дополнительные граничные условия и взаимодействия с пользователем предоставляются через preconditions[SWS_DM_01888], execution_conditions[SWS_DM_01890], notes[SWS_DM_01884] и user_activity[SWS_DM_01886] вместе с их соответствующими идентификаторами перевода preconditions_translation_id[SWS_DM_01889], notes_translation_id[SWS_DM_01885] и user_activity_translation_id[SWS_DM_01887].
Жизненный цикл
Класс специфицирован как структура C++ struct с исключительно открытыми переменными-членами AUTOSAR_AP_SWS_Diagnostics §8.58.4 «Struct: UpdatePackageDetails»[SWS_DM_01877]. Интерпретация: как чистый объект передачи данных (Data Transfer Object) UpdatePackageDetails не имеет собственной бизнес-логики или внутреннего конечного автомата. Вопрос Q-4f532d6356cadc54 (открытый) Его инстанциация осуществляется приложением по мере необходимости, как только запрашивается или обрабатывается информация о пакете обновления.
В отношении владения структура находится в ведении создателя. При предоставлении через интерфейсные функции, такие как GetUpdatePackageDetails[SWS_DM_01917], объект обычно передается диагностическому фреймворку по значению или с помощью семантики перемещения. Таким образом, время жизни отдельных экземпляров привязано к соответствующему контексту выполнения обрабатывающих функций. При выходе из области видимости уничтожение происходит детерминированно по стандартным правилам для объектов C++, при этом встроенные стандартные типы, такие как ara::core::String, ara::core::Vector и ara::core::Optional, освобождают выделенную им память AUTOSAR_AP_SWS_Diagnostics §8.58.4.1 «Public Member Variables».
В отношении параллелизма UpdatePackageDetails не предоставляет внутренней синхронизации. Если экземпляры разделяются между потоками или модифицируются, защита от конфликтов данных полностью возлагается на вызывающее приложение.
Путь использования
Основное применение UpdatePackageDetails осуществляется в рамках определения детальной информации об обновлении через SOVD. Типичный процесс выглядит следующим образом:
Прием запроса: внешний клиент отправляет запрос на получение сведений о пакете на Diagnostic Server, реализующий методы SOVD API для обновлений программного обеспечения [SWS_DM_01796].
Вызов метода: поскольку уровень протокола делегирует логику обновления приложению AUTOSAR_AP_SWS_Diagnostics §7.4, фреймворк инициирует вызов функции GetUpdatePackageDetails[SWS_DM_01917].
Сбор данных: приложение определяет свойства запрошенного пакета обновления. Оно создает экземпляр UpdatePackageDetails[SWS_DM_01877] и заполняет его обязательные и опциональные поля:
Возврат и сериализация: полностью заполненная структура передается в диагностический фреймворк. Предположительно, Diagnostic Server сериализует поля в соответствии с требованиями ASAM SOVD в соответствующий ответ протокола и доставляет его клиенту. Вопрос Q-018edc7d19373646 (открытый)
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал