Class representing Function Group State defined in meta-model (ARXML). An instance of this class will represent Function Group State defined inside meta-model (ARXML). This class is intended to be an implementation specific representation, of information inside meta-model. Once created based on ARXML path, its internal value stays bounded to it for entire lifetime of a object.
Представляет определенное в метамодели состояние группы функций и обеспечивает его типизированное сравнение.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1ee8ba6f6849ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Представляет определенное в метамодели состояние группы функций и обеспечивает его типизированное сравнение.
Класс ara::exec::FunctionGroupState представляет определенное в метамодели AUTOSAR состояние группы функций и привязывает его на протяжении всего времени жизни к конкретной группе функций и соответствующему ARXML-пути [SWS_EM_02324]. Экземпляры создаются с коротким именем (short name) целевого объявления, поддерживают полную семантику копирования и перемещения и обеспечивают прямое сравнение состояний модели на эквивалентность [SWS_EM_02273]. Все операции определены как безопасные относительно исключений, а также как noexcept, причем модифицирующие присваивания и уничтожение, в отличие от потокобезопасных сравнений, не должны выполняться параллельно без синхронизации.
Контекст
Класс ara::exec::FunctionGroupState представляет состояние группы функций, определенное в метамодели AUTOSAR (ARXML). В рамках модуля exec платформы Adaptive Platform экземпляр этого класса служит зависимым от реализации представлением соответствующей информации метамодели. При этом состояние всегда привязывается к конкретной группе функций, на которую ссылается экземпляр FunctionGroup, а также идентифицируется в виде строки по короткому имени (short name) соответствующего ModeDeclaration[SWS_EM_02324]. С помощью операторов равенства и неравенства экземпляры можно напрямую сравнивать друг с другом, чтобы определить, представляют ли они один и тот же элемент метамодели [SWS_EM_02273][SWS_EM_02274].
Контекстная диаграмма: интеграция FunctionGroupState между группой функций и метамоделью ARXML. Источники: [SWS_EM_02324], [SWS_EM_02273].
Жизненный цикл
Создание экземпляра выполняется через параметризованный конструктор, принимающий ссылку на соответствующую FunctionGroup, а также ara::core::StringView с именем ModeDeclaration[SWS_EM_02324]. После создания внутреннее значение объекта на протяжении всего его времени жизни остается жестко привязанным к базовому ARXML-пути. Класс поддерживает полную семантику значений:
Копирование: конструктор копирования [SWS_EM_02325] и оператор присваивания с копированием [SWS_EM_02330] позволяют дублировать экземпляры.
Перемещение: с помощью конструктора перемещения [SWS_EM_02331] и оператора присваивания с перемещением [SWS_EM_02332] ресурсы могут эффективно передаваться новым или существующим экземплярам.
Уничтожение: деструктор надлежащим образом освобождает ресурсы экземпляра [SWS_EM_02272].
С точки зрения параллелизма создание экземпляра через конструктор является потокобезопасным (thread-safe) [SWS_EM_02324]. Операции сравнения также потокобезопасны [SWS_EM_02273][SWS_EM_02274]. Напротив, все модифицирующие операции жизненного цикла — включая конструктор копирования [SWS_EM_02325], конструктор перемещения [SWS_EM_02331], присваивание с копированием [SWS_EM_02330], присваивание с перемещением [SWS_EM_02332] и деструктор [SWS_EM_02272] — объявлены как непотокобезопасные (not thread-safe).
Путь использования
Типичный сценарий использования включает создание, передачу, оценку и уничтожение представления состояния:
Инстанцирование: приложение создает объект FunctionGroupState, указывая целевую группу функций и имя ModeDeclaration[SWS_EM_02324].
Сравнение состояний: во время выполнения экземпляр сравнивается с другим экземпляром для проверки того, отображают ли они один и тот же элемент метамодели [SWS_EM_02273] или же отличаются друг от друга [SWS_EM_02274].
Освобождение: при выходе из области видимости экземпляр уничтожается через деструктор [SWS_EM_02272].
Предусловием для безошибочного создания является наличие действительной FunctionGroup, а также определенной в метамодели ModeDeclaration[SWS_EM_02324]. Интерпретация: поскольку конструктор [SWS_EM_02324] не возвращает объектов ошибок и не вызывает исключений, передача несуществующих имен метамодели, вероятно, не перехватывается штатными кодами ошибок API, а предположительно требует корректно сконфигурированной модели системы до инстанцирования. Вопрос Q-7926777bafd2a76e (открытый)
Другой сценарий возникновения ошибок касается нескоординированного параллелизма: если операции копирования, перемещения или уничтожения выполняются над одним и тем же экземпляром параллельно без внешней синхронизации, возникает риск состояний гонки (race conditions), так как эти интерфейсы не являются потокобезопасными [SWS_EM_02325][SWS_EM_02330][SWS_EM_02331][SWS_EM_02332][SWS_EM_02272].
Данное руководство основано на спецификации AUTOSAR Adaptive Platform R25-11 для модуля exec и было сформировано автоматически.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал