Принимает полезные данные сообщения положительного ответа для диагностических операций выгрузки (Upload).
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6cf26bd1a154ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Принимает полезные данные сообщения положительного ответа для диагностических операций выгрузки (Upload).
Структура ara::diag::UploadService::OperationOutput служит выходным параметром для возврата полезных данных положительного диагностического ответа при сервисах выгрузки [SWS_DM_00796]. Прикладное программное обеспечение инстанцирует объект после успешного выполнения операции Upload и заполняет член responseData отправляемыми байтами данных [SWS_DM_00796]. При этом содержимое responseData не должно содержать Service Identifier (SID) и должно соответствовать специфичным для операции требованиям таких сервисов, как UploadData или RequestUploadExit. Интерпретация: в случае ошибки структура не используется, а сигнализируется отрицательный статус ответа. Вопрос Q-52a8538825bc0a30 (открытый)
Контекст
Структура ara::diag::UploadService::OperationOutput функционирует как контейнер данных для полезных данных успешной диагностической операции в рамках сервиса выгрузки на стороне автомобиля [SWS_DM_00796]. Ее основная задача заключается в инкапсуляции данных для сообщения положительного ответа («positive response message») и их передаче на платформу [SWS_DM_00796].
В общей системе при этом взаимодействуют три компонента: внешний диагностический клиент (тестер), среда выполнения диагностики Adaptive-системы (ara::diag) и специфичная для приложения реализация UploadService[SWS_DM_00796]. Как только тестер запрашивает сервисную операцию UDS, ara::diag делегирует обработку соответствующему поставщику сервиса приложения, который возвращает результат на уровень платформы через OperationOutput[SWS_DM_00796].
Контекстная диаграмма: взаимодействие диагностического клиента, среды выполнения ara::diag и UploadService при предоставлении данных ответа. Источники: [SWS_DM_00796], AUTOSAR_AP_SWS_Diagnostics, с. 74.
Жизненный цикл
Структура OperationOutput спроектирована как чистый объект передачи данных без собственной логики состояний и предоставляется через заголовочный файл #include "ara/diag/upload.h"[SWS_DM_00796]. Ее жизненный цикл делится на следующие фазы:
Создание: инстанцирование выполняется со стороны приложения внутри выполняемой диагностической операции, как только требуемые данные выгрузки были успешно скомпонованы. Интерпретация: объект, вероятно, создается локально на стеке сервисного приложения. Вопрос (открытый)
Заполнение: логика приложения присваивает открытому члену responseData типа ara::core::Vector<std::uint8_t> предоставляемые полезные данные [SWS_DM_00796].
Переход владения: объект передается в ara::diag как результат операции. Интерпретация: эта передача, вероятно, осуществляется по значению или с помощью семантики перемещения, в результате чего ответственность за данные переходит к платформе. Вопрос (открытый)
Уничтожение: после сериализации полезных данных в сообщение ответа UDS структура освобождается средой выполнения.
В плане параллелизма OperationOutput не предоставляет внутренней синхронизации. Однако, поскольку экземпляры создаются строго под каждый вызов операции и обрабатываются локально в потоке, разделяемое управление состоянием не требуется.
Путь использования
Штатная процедура предоставления данных ответа через OperationOutput включает фиксированную последовательность шагов взаимодействия:
Внешний тестер отправляет запрос выгрузки (например, UploadData или RequestUploadExit) в электронный блок управления [SWS_DM_00796].
Диспетчер диагностики ara::diag обрабатывает заголовок протокола и вызывает соответствующую операцию экземпляра приложения UploadService[SWS_DM_00796].
Приложение обрабатывает запрос, создает экземпляр OperationOutput и заполняет responseData полезными данными [SWS_DM_00796]. При этом responseData должно содержать исключительно полезные данные без Service Identifier (SID) [SWS_DM_00796]. В зависимости от операции требуемое содержимое, а также начальная позиция данных в сообщении положительного ответа варьируются [SWS_DM_00796].
Структура возвращается в ara::diag.
Уровень платформы генерирует полное сообщение ответа UDS и передает его тестеру [SWS_DM_00796].
Структура OperationOutput специфицирована исключительно для успешных выполнений и сообщений положительного ответа [SWS_DM_00796]. Если операция завершается сбоем (например, из-за недопустимых диапазонов адресов или ошибок последовательности при UploadData), OperationOutput не используется. Интерпретация: ошибочные процессы, вероятно, передаются в ara::diag через отдельные диагностические коды ошибок (NRC), поэтому создание или заполнение выходной структуры не требуется. Вопрос Q-fa3daf3152f7131c (открытый)
В качестве предусловия для возврата действует требование, чтобы responseData содержало в точности те байты, которые требуются соответствующей сервисной операцией, и не содержало предшествующих идентификаторов протокола [SWS_DM_00796]. В качестве постусловия управление диагностикой принимает данные для завершения коммуникации по шине [SWS_DM_00796].
Данное руководство основано на требованиях AUTOSAR Adaptive Platform R25-11.
UML-диаграмма классов
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.
Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал