Объединяет информацию об ошибке неожиданно завершённого процесса вместе с соответствующей функциональной группой.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: eaa306c71170ПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Объединяет информацию об ошибке неожиданно завершённого процесса вместе с соответствующей функциональной группой.
Структура данных ara::exec::ExecutionErrorEvent служит для инкапсуляции событий ошибок при неожиданном завершении процесса внутри функциональной группы. Для этого она объединяет специфический код ошибки затронутого процесса через атрибут executionError[SWS_EM_02545] с соответствующей functionGroup[SWS_EM_02546], в которой произошёл инцидент. На основе этих данных вышестоящая обработка ошибок может проанализировать контекст и инициировать надлежащие меры по перезапуску или защите для соответствующей функциональной группы. Являясь чистой структурой данных, данный тип не предоставляет собственных методов и требует внешней синхронизации при параллельном доступе.
Контекст
Структура ara::exec::ExecutionErrorEvent служит в модуле exec для представления ошибки выполнения, произошедшей внутри функциональной группы. В AUTOSAR Adaptive Platform процессы логически организованы в функциональные группы для упорядоченного управления их состоянием и жизненным циклом. Если при выполнении процесса возникает критическая ошибка, приводящая к его неожиданному завершению, это состояние отображается в виде структурированного события. Структура данных инкапсулирует для этого релевантные детали, связывая возникший код ошибки с затронутой функциональной группой.
К основным участникам взаимодействия относятся затронутый процесс, неожиданное прерывание которого порождает конкретное значение ошибки executionError[SWS_EM_02545], а также соответствующая функциональная группа functionGroup, в контексте которой возникла ошибка [SWS_EM_02546]. В качестве ещё одного участника коммуникации выступает вышестоящий экземпляр всей системы. Интерпретация: предполагается, что этот контролирующий экземпляр принимает и анализирует событие для запуска скоординированных реакций на уровне группы. Вопрос (открытый)
Определение как struct ExecutionErrorEvent final характеризует тип как финальную, неполиморфную структуру данных без связей наследования. Являясь чистым объектом данных и значений, структура не содержит внутренних конечных автоматов и самостоятельных фаз жизненного цикла. Экземпляр создаётся по событию именно тогда, когда процесс неожиданно завершается и этот инцидент фиксируется. При создании инициализируются обе открытые переменные-члены: поле executionError системно-специфическим значением ошибки процесса [SWS_EM_02545], а поле functionGroup — экземпляром затронутой функциональной группы [SWS_EM_02546].
Что касается отношений владения, структура обычно создаётся как локальный объект-значение и передаётся в подпрограммы обработки и оповещения либо непосредственно путём копирования по значению, либо по константным ссылкам. Динамическое выделение памяти для самого объекта в обычном случае не требуется. Уничтожение происходит детерминированно при выходе из области видимости соответствующей подпрограммы обработки. В отношении параллелизма структура не реализует собственной синхронизации доступа. Интерпретация: если экземпляры ExecutionErrorEvent передаются через границы потоков, вызывающие стороны должны синхронизировать параллельный доступ на чтение и запись извне. Вопрос Q-839283a2c3c3e269 (открытый)
Путь использования
Типичный сценарий использования включает обнаружение, пересылку и анализ события ошибки:
Создание события: контролируемый процесс внутри активной функциональной группы неожиданно прерывается. После этого система инстанцирует объект типа ExecutionErrorEvent.
Заполнение параметров: атрибуты заполняются контекстными данными инцидента. Конкретное значение ошибки сохраняется в поле executionError[SWS_EM_02545], тогда как functionGroup берёт на себя сопоставление с исполняющей функциональной группой [SWS_EM_02546].
Передача подпрограммам обработки: инициализированное событие передаётся ответственной службе контроля ошибок или управления перезапуском.
Анализ и реакция: принимающий экземпляр анализирует functionGroup[SWS_EM_02546] для локализации подсистемы и считывает executionError[SWS_EM_02545]. Интерпретация: на основе этой информации контролирующий экземпляр, вероятно, принимает решение о перезапуске процессов или смене состояния функциональной группы. Вопрос (открытый)
Сценарии ошибок
Структура ExecutionErrorEvent сама по себе не определяет кодов ошибок, возвращаемых значений или исключений. Она выступает исключительно в роли носителя информации о состояниях ошибок, возникших на уровне процессов. Таким образом, основным сценарием ошибки является неожиданное завершение процесса, причина которого отображается в поле executionError[SWS_EM_02545].
Предусловием корректной обработки является согласованное заполнение обеих переменных-членов. Событие без действительной ошибки процесса [SWS_EM_02545] или без сопоставления с существующей функциональной группой [SWS_EM_02546] препятствует целенаправленной обработке ошибки. В качестве постусловия анализа события затронутая функциональная группа [SWS_EM_02546] должна быть возвращена в определённое, безопасное состояние.
Данное руководство основано на спецификации AUTOSAR Adaptive Platform R25-11. Оно подготовлено ассистентом курации на базе ИИ.
UML-диаграмма классов
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал