DEENESPTFRRUARHIKOZHNL

структура ara::diag::SovdSwUpdate::SubProgress

[SWS_DM_01896] Upstream: RS_Diag_04265

struct SubProgress {...};

Definition of Sovd Progress type.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdSwUpdate

Руководство пользователяСОЗДАНО ИИ

Регистрирует статус, процент выполнения и код ошибки подсущности при обновлениях программного обеспечения на основе SOVD.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 86b478c2c357 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Регистрирует статус, процент выполнения и код ошибки подсущности при обновлениях программного обеспечения на основе SOVD.

Структура ara::diag::SovdSwUpdate::SubProgress инкапсулирует текущий ход выполнения, статус и возможные ошибки конкретной сущности во время обновления программного обеспечения на основе SOVD ([SWS_DM_01896]). Процедуры обновления фиксируют в ней обновляемый компонент, корректируют процент выполнения и передают общее состояние в модуль управления диагностикой. В случае сбоя обновления поле error указывает возникший код ошибки, тогда как при штатном ходе выполнения оно игнорируется ([SWS_DM_01901]). Поскольку SubProgress представляет собой чисто значимый тип данных без внутренней синхронизации, параллельная модификация требует защиты со стороны приложения.

Контекст

Структура ara::diag::SovdSwUpdate::SubProgress входит в состав интерфейса C++ для обновлений программного обеспечения на базе SOVD в модуле diag (Diagnostics) AUTOSAR Adaptive Platform ([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 «Struct: SubProgress»). В рамках Service-Oriented Vehicle Diagnostics (SOVD) процессы обновления могут состоять из нескольких параллельных или последовательных подэтапов. SubProgress отвечает за отображение состояния обработки конкретного подкомпонента в процессе обновления. К взаимодействующим сторонам относятся внутридиагностические процедуры обновления, выполняющие частичные обновления, а также вышестоящие контролирующие инстанции, координирующие общий ход обновления и сообщающие о нем во внешние диагностические инструменты.

Структура определяет четыре открытые переменные-члена (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 «Public Member Variables»):

  • entity: ara::core::String, указывающий сущность, которая в данный момент обновляется ([SWS_DM_01898]).
  • status: значение типа SovdUpdateStatus, представляющее текущий статус обновления ([SWS_DM_01899]).
  • progress: опциональное значение типа ara::core::Optional<std::uint8_t> для прогресса в процентах ([SWS_DM_01900]).
  • error: код ошибки типа ara::core::ErrorCode для указания возникших ошибок в случае сбоя ([SWS_DM_01901]).

Жизненный цикл

Спроектированная как struct, SubProgress обладает семантикой значений (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 «Public Member Variables»). Экземпляр обычно создается на стеке или внутри вышестоящего контейнера состояний, как только начинается новый подэтап обработки обновления. Управляющий компонент в начале присваивает экземпляру идентификатор целевой сущности через entity ([SWS_DM_01898]) и устанавливает начальный статус в status ([SWS_DM_01899]).

В ходе выполнения процентный прогресс и изменения статуса непрерывно обновляются в структуре. После завершения или отмены частичного обновления структура передается или считывается и, наконец, автоматически уничтожается при выходе из области видимости. Поскольку спецификация не определяет собственных методов или примитивов синхронизации, структура, вероятно, функционирует как простой держатель данных без собственной потокобезопасности (интерпретация). Вопрос Q-92b3fcc698f7bab8 (открытый) Поэтому параллельный доступ из нескольких потоков требует синхронизации на уровне приложения.

Путь использования

Штатная процедура сообщения о ходе выполнения делится на фиксированную последовательность шагов: Сначала исполняющая логика обновления инстанцирует объект типа SubProgress и помещает идентификатор соответствующей сущности в entity ([SWS_DM_01898]). Одновременно устанавливается начальное значение для status, например, для сигнализации о начале обработки ([SWS_DM_01899]). При непрерывных шагах логика периодически записывает прогресс в процентах в поле progress ([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 «progress»). Поскольку progress объявлено как ara::core::Optional, поле остается пустым до тех пор, пока прогресс еще не определен. Наконец, структура передается в центральный интерфейс SovdSwUpdate, чтобы внешние клиенты SOVD могли запросить статус ([SWS_DM_01896]).

Обновление прогресса промежуточного шага обновления ПОUpdate-LogikSubProgressSovdSwUpdateИнстанцировать с entity и начальным статусомВыполнить частичное обновлениеОбновить status и progress (в процентах)SubProgress bereitstellenaltСбой во время частичного обновленияУстановить status в значение «сбой» и заполнить errorПередать SubProgress с кодом ошибки

Диаграмма последовательности: типичный процесс сообщения о прогрессе и обработки ошибок для шага частичного обновления. Источники: [SWS_DM_01896], [SWS_DM_01898], [SWS_DM_01899], [SWS_DM_01900], [SWS_DM_01901].

Сценарии ошибок

В случае сбоев или ошибок при обработке подсущности задействуется сценарий обработки ошибок структуры. При возникновении ошибки значение в status переходит в состояние ошибки ([SWS_DM_01899]). Согласно [SWS_DM_01901] переменная error задает точный код ошибки только в том случае, если статус является сбойным («Specifies the error if status is failed»). Это представляет собой обязательную логическую связь между status и error: получатели структуры могут оценивать поле error как значимое только в том случае, если status действительно сообщает о сбойном состоянии; в противном случае содержимое, предположительно, игнорируется или представляет собой значение по умолчанию (интерпретация). Вопрос Q-3caa7622672dcb8e (открытый)

Другой сценарий обработки ошибок касается неопределенного прогресса: если обрабатывающая сущность не может определить конкретное процентное значение или вычисление прерывается преждевременно, опциональное поле progress остается без значения (ara::core::nullopt), что предотвращает ошибочную интерпретацию недопустимых числовых значений как процентных показателей ([SWS_DM_01900]).

Данное руководство основано на спецификации AUTOSAR Adaptive Platform выпуска R25-11 и обобщает требования к структуре ara::diag::SovdSwUpdate::SubProgress.

Карта членов

Константы

4

Диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__SovdSwUpdate__SubProgress643 «struct» SubProgress + entity + error + progress + status

Подробный вид

Выберите элемент в оглавлении.

Константы

entity переменная

Specifies the entity that is currently being updated.

error переменная

Specifies the error if status is failed.

progress переменная

Specifies the Update progress in percent.

status переменная

Specifies the Update Status.

Документация констант / переменных

переменная entity [SWS_DM_01898] Upstream: RS_Diag_04265

ara::core::String entity;

Specifies the entity that is currently being updated.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolentity
Typara::core::String

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

Record
AUTOSAR/AP/record/SWS_DM_01898
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01898@rel:R25-11#9c751af5
Content hash
9c751af5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01898
Status: valid/unmigrated Version: rel:R25-11#ae29483e Versionshistorie & Revisions (1 transition, 4 revision)
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/SWS_DM_01898@rel:R25-11#ae29483e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#df0333952026-09-30
  • R23-11rel:R23-11#ae29483e2026-10-14
  • R24-11rel:R24-11#ae29483e2026-10-14
  • R25-11rel:R25-11#ae29483e2026-10-14 active
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

переменная error [SWS_DM_01901] Upstream: RS_Diag_04265

ara::core::ErrorCode error;

Specifies the error if status is failed.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolerror
Typara::core::ErrorCode

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

Record
AUTOSAR/AP/record/SWS_DM_01901
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01901@rel:R25-11#92c8524f
Content hash
92c8524f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01901
Status: valid/unmigrated Version: rel:R25-11#dc82b576 Versionshistorie & Revisions (1 transition, 4 revision)
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/SWS_DM_01901@rel:R25-11#dc82b576
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#005552222026-09-30
  • R23-11rel:R23-11#dc82b5762026-10-14
  • R24-11rel:R24-11#dc82b5762026-10-14
  • R25-11rel:R25-11#dc82b5762026-10-14 active
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

переменная progress [SWS_DM_01900] Upstream: RS_Diag_04265

ara::core::Optional<std::uint8_t> progress;

Specifies the Update progress in percent.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolprogress
Typara::core::Optional< std::uint8_t >

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

Record
AUTOSAR/AP/record/SWS_DM_01900
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01900@rel:R25-11#57ca1197
Content hash
57ca1197
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01900
Status: valid/unmigrated Version: rel:R25-11#28ed7b01 Versionshistorie & Revisions (1 transition, 4 revision)
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/SWS_DM_01900@rel:R25-11#28ed7b01
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#33476bd62026-09-30
  • R23-11rel:R23-11#28ed7b012026-10-14
  • R24-11rel:R24-11#28ed7b012026-10-14
  • R25-11rel:R25-11#28ed7b012026-10-14 active
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

переменная status [SWS_DM_01899] Upstream: RS_Diag_04265

SovdUpdateStatus status;

Specifies the Update Status.

Header-Datei#include "ara/diag/sovd_sw_update.h"
Scopestruct ara::diag::SovdSwUpdate::SubProgress
Symbolstatus
TypSovdUpdateStatus

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

Record
AUTOSAR/AP/record/SWS_DM_01899
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01899@rel:R25-11#a1bb96ca
Content hash
a1bb96ca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01899
Status: valid/unmigrated Version: rel:R25-11#2a27d32e Versionshistorie & Revisions (1 transition, 4 revision)
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/SWS_DM_01899@rel:R25-11#2a27d32e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#749009402026-09-30
  • R23-11rel:R23-11#2a27d32e2026-10-14
  • R24-11rel:R24-11#2a27d32e2026-10-14
  • R25-11rel:R25-11#2a27d32e2026-10-14 active
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