структура <RoutineInterface-Namespace>::<RoutineInterface>::<RoutineInterface6>StartOutput
struct <RoutineInterface6>StartOutput {...};
Structure wrapping the out arguments for a Start
| Header-Datei | #include "<RoutineInterfaceDirectoryPath>/<RoutineInterfaceShortname>.h" |
|---|---|
| Forwarding-Header | #include "<RoutineInterfaceDirectoryPath>/<RoutineInterfaceShortname>/<RoutineInterfaceShortname>_fwd.h" |
| Scope | class <RoutineInterface-Namespace>::<RoutineInterface> |
Руководство пользователяСОЗДАНО ИИ
Инкапсулирует выходные параметры для запуска диагностической рутины с целью передачи адаптивной платформе.
Инкапсулирует выходные параметры для запуска диагностической рутины с целью передачи адаптивной платформе.
Структура <RoutineInterface6>StartOutput из модуля diag платформы AUTOSAR Adaptive Platform инкапсулирует все выходные аргументы для операции запуска диагностической рутины. При поступлении запроса на запуск специфичная для приложения реализация рутины заполняет поля данных структуры полученными значениями и передаёт экземпляр платформе (предположительно во встроенном виде внутри объекта асинхронного возврата). Вопрос (открытый) При этом состояния ошибок, согласно интерпретации, сигнализируются не в самой структуре данных, а через отдельные коды ошибок, поэтому перед возвратом все требуемые выходные параметры должны быть всегда полностью и согласованно инициализированы.
Контекст
Структура <RoutineInterface6>StartOutput входит в состав модуля diag платформы AUTOSAR Adaptive Platform в релизе R25-11. Внутри этого диагностического модуля данный тип служит контейнером данных, объединяющим исходящие аргументы для операции запуска диагностической рутины. При выполнении диагностических функций посредством управления рутинами специфичная для приложения реализация службы и диагностическая инфраструктура платформы обычно взаимодействуют друг с другом. При этом структура действует на стыке между конкретной реализацией рутины и уровнем управления диагностическими запросами.
В этом взаимодействии <RoutineInterface6>StartOutput берет на себя роль предоставления в сгруппированном виде всех выходных данных, формируемых приложением при выполнении команды Start. Интерпретация: структура, вероятно, служит чистым объектом передачи данных (Data Transfer Object, DTO) без собственной бизнес-логики, чьи конкретные поля-члены соответствуют выходным параметрам рутины, определённым в интерфейсной модели. Вопрос Q-99209f0267b43982 (открытый) За счёт такой инкапсуляции гарантируется, что вызывающий компонент управления диагностикой может целиком принять возвращаемые значения и подготовить их для дальнейшей обработки или формирования ответа внешним диагностическим тестерам.
Жизненный цикл
Жизненный цикл <RoutineInterface6>StartOutput тесно связан с контекстом выполнения операции Start диагностической рутины. Экземпляр этой структуры создается исполняющей реализацией рутины приложения, как только обрабатывается запрос на запуск рутины. Во время обработки приложение заполняет отдельные атрибуты структуры данными, полученными в результате процесса запуска.
Что касается отношений владения, изначально объект находится в локальном распоряжении исполняющей рутины. Если возврат выполняется в модуль управления диагностикой, это обычно происходит путём передачи по значению или через move-семантику, например в контексте асинхронных структур возврата платформы. Вопрос (открытый) После приёма средой выполнения платформы и пересылки данных на уровень диагностического протокола жизненный цикл объекта завершается, после чего структура уничтожается, а занятая память освобождается. Поскольку структура спроектирована как чистый контейнер данных, она не имеет собственного внутреннего конечного автомата; фазы её жизни ограничиваются созданием, заполнением, возвратом и освобождением.
Путь использования
Типичный процесс использования <RoutineInterface6>StartOutput подразделяется на фиксированную последовательность шагов в рамках обработки рутины:
- Инициализация: при поступлении запроса на запуск предоставляющее приложение инстанцирует
<RoutineInterface6>StartOutputна стеке или в рамках соответствующего контекста выполнения. - Заполнение полей данных: приложение выполняет прикладные проверки и действия по запуску рутины. Полученные при этом выходные данные присваиваются полям структуры.
- Формирование ответа: полностью заполненная структура возвращается в диагностическую систему в качестве результата функции. Предположительно, возврат осуществляется во встроенном виде внутри типизированного контейнера, такого как
ara::core::Resultилиara::core::Future, чтобы соответствовать конвенции асинхронных интерфейсов Adaptive Platform. Вопрос Q-08976b247fab2180 (открытый) - Обработка платформой: платформа считывает содержащиеся значения, преобразует их в соответствующую телеграмму диагностического ответа и завершает процесс обработки.
Для разработчиков диагностических приложений главная задача заключается в обеспечении корректного и полного присвоения всех требуемых выходных значений до выхода из метода.
Сценарии ошибок
Поскольку <RoutineInterface6>StartOutput определена как структура данных для штатных выходных параметров, сама она не инкапсулирует коды ошибок или обработку исключений. Сценарии ошибок возникают прежде всего тогда, когда рутина не может быть штатно запущена или формируются некорректные выходные значения.
Интерпретация: в случае сбоя выполнения операции Start результирующие диагностические ошибки, по всей видимости, передаются не через поля этой структуры, а через модель ошибок платформы, например посредством стандартизированных кодов ошибок в ara::core::ErrorCode. Вопрос Q-fe76c79ba073f321 (открытый) Предусловием для успешного использования структуры является допустимость инициирующего действия запуска и выполнение требуемых условий для запуска рутины. Постусловием является то, что все объявленные в интерфейсе выходные параметры структуры должны быть оставлены в валидном и непротиворечивом состоянии до передачи диагностической системе.
Данное руководство по классу основано на данных спецификации модуля diag в AUTOSAR Adaptive (релиз R25-11).
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал