DEENESPTFRRUARHIKOZHNL

структура ara::diag::GenericUDSService::OperationOutput

[SWS_DM_00578] Upstream: RS_Diag_04169, RS_Diag_04172

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/generic_uds_service.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericUDSService

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

Инкапсулирует полезные данные положительного ответа UDS без идентификатора сервиса для передачи в Diagnostic Management.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: e0f4adf446cb Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Инкапсулирует полезные данные положительного ответа UDS без идентификатора сервиса для передачи в Diagnostic Management.

Структура ara::diag::GenericUDSService::OperationOutput служит в модуле diag выходной структурой для полезных данных сообщений положительного ответа UDS [SWS_DM_00632]. После успешного выполнения обобщенного UDS-сервиса приложение заполняет байтовую переменную responseData и передает экземпляр в Diagnostic Management. При этом идентификатор сервиса UDS (SID) не должен содержаться в responseData, поскольку он автоматически добавляется платформой [SWS_DM_00632]. Для сценариев сбоев и отрицательных ответов структура не предназначена.

Контекст

Структура данных ara::diag::GenericUDSService::OperationOutput служит в рамках AUTOSAR Adaptive Platform в модуле diag стандартизированным выходным каналом для обобщенных UDS-сервисов [SWS_DM_00632]. Она определена в заголовочном файле #include "ara/diag/generic_uds_service.h" и выступает в качестве инкапсуляции для полезных данных успешного выполнения UDS-сервиса [SWS_DM_00632]. Основными участниками взаимодействия являются зависящая от приложения реализация обобщенного обработчика UDS-сервиса, а также вышестоящее Diagnostic Management платформы AUTOSAR_AP_SWS_Diagnostics с. 80. В то время как Diagnostic Management берет на себя координацию с внешним диагностическим тестером, валидацию протокола и базовую инфраструктуру, OperationOutput предоставляет изолированную полезную нагрузку для сообщения положительного ответа UDS [SWS_DM_00632].

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

Экземпляры ara::diag::GenericUDSService::OperationOutput имеют узконаправленный и кратковременный жизненный цикл. Структура инстанцируется приложением сервиса в локальном контексте входящего UDS-запроса. Через единственную открытую переменную-член responseData типа ara::core::Vector<std::uint8_t> структура принимает полное владение байтами полезных данных [SWS_DM_00632].

Интерпретация: время жизни OperationOutput кратковременно и привязано к длительности обработки соответствующего запроса; экземпляр, вероятно, после заполнения передается в Diagnostic Management посредством возвращаемого значения или семантики перемещения и уничтожается после сериализации в кадр ответа UDS. Вопрос Q-c736182a9518978a (открытый) Поскольку речь идет о чистом объекте передачи данных (DTO) без внутренней логики состояний, переходы состояний отсутствуют. В плане параллелизма OperationOutput не обеспечивает встроенной потокобезопасности; однако, поскольку инстанцирование и заполнение выполняются изолированно для каждого запроса внутри контекста обработки, при штатном использовании сервиса внешняя синхронизация не требуется.

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

Стандартный порядок действий при обработке диагностического запроса состоит из следующих шагов:

  • Прием: Diagnostic Management принимает UDS-запрос от внешнего диагностического тестера и перенаправляет его в соответствующий экземпляр GenericUDSService AUTOSAR_AP_SWS_Diagnostics с. 81.
  • Выполнение сервиса: приложение интерпретирует полученные параметры и выполняет внутреннюю диагностическую функцию.
  • Предоставление результата: при успешной обработке приложение создает экземпляр объекта типа OperationOutput и присваивает полю responseData полезные данные ответа [SWS_DM_00632]. При этом спецификация строго предписывает, что responseData должно содержать исключительно байты данных без идентификатора сервиса (SID) [SWS_DM_00632].
  • Передача: приложение передает OperationOutput в Diagnostic Management. Интерпретация: передача обычно происходит как синхронное возвращаемое значение или во встроенном виде в асинхронном будущем значении, таком как ara::core::Future. Вопрос Q-2dcf40060cca29a1 (открытый)
  • Отправка сообщения: Diagnostic Management автоматически добавляет положительный SID в начало, формирует полную UDS-телеграмму и передает ответ диагностическому тестеру.
Процесс обработки ответа UDS через OperationOutputDiagnosetesterDiagnostic ManagementGenericUDSServiceUDS-Anfrage sendenВыполнить вызов сервисаOperationOutput instanziierenЗаполнить responseData без SIDВернуть OperationOutputДобавить SID в начало и сформировать UDS-кадрPositive UDS-Antwort senden

Диаграмма последовательности: процесс генерации ответа UDS и передачи через OperationOutput. Источники: [SWS_DM_00632], AUTOSAR_AP_SWS_Diagnostics с. 81

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

При использовании структуры необходимо учитывать важные граничные условия и шаблоны поведения в случае ошибки:

  • Исключение отрицательных ответов: согласно спецификации OperationOutput явно и исключительно представляет содержимое сообщений положительного ответа [SWS_DM_00632]. Интерпретация: если запрос сервиса не может быть успешно обработан (например, из-за недопустимых параметров или недействительных предусловий), OperationOutput создаваться не должен; вместо этого приложение сообщает код отрицательного ответа (NRC) в Diagnostic Management. Вопрос Q-09abb9092c1dc167 (открытый)
  • Ошибочное включение SID: если идентификатор сервиса по ошибке помещен в responseData, формируется некорректно оформленная UDS-телеграмма, поскольку Diagnostic Management самостоятельно добавляет SID в начало при положительных ответах [SWS_DM_00632].
  • Выделение памяти: поскольку responseData объявлен как динамический вектор (ara::core::Vector), при выделении очень больших объемов полезных данных необходимо учитывать потенциальную нехватку памяти [SWS_DM_00632].

Данное руководство основано на спецификации AUTOSAR Adaptive Platform Release R25-11 и было создано автоматически.

UML-диаграмма классов

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

G nara__diag__GenericUDSService__OperationOutput107 «struct» OperationOutput + responseData

Константы

responseData переменная

Content of positive respose message (without SID)

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

переменная responseData [SWS_DM_00632] Upstream: RS_Diag_04169, RS_Diag_04172

ara::core::Vector<std::uint8_t> responseData;

Content of positive respose message (without SID)

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopestruct ara::diag::GenericUDSService::OperationOutput
SymbolresponseData
Typara::core::Vector< std::uint8_t >

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

Record
AUTOSAR/AP/record/SWS_DM_00632
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00632@rel:R25-11#ceca6419
Content hash
ceca6419
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00632
Status: valid/unmigrated Version: rel:R25-11#3466b277 Versionshistorie & Revisions (1 transition, 7 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_00632@rel:R25-11#3466b277
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#42fda5632026-09-30
  • R20-11rel:R20-11#2f3f72b02026-10-14
  • R21-11rel:R21-11#14b5fdc12026-10-14
  • R22-11rel:R22-11#03c6c13a2026-10-14
  • R23-11rel:R23-11#8e6b999c2026-10-14
  • R24-11rel:R24-11#8e6b999c2026-10-14
  • R25-11rel:R25-11#3466b2772026-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