Diese Seite wurde vollständig KI-generiert auf Basis von SWS IntrusionDetectionSystemManager (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
Служит интерфейсом для предоставления и модификации контекстных данных конкретного приложения для IdsM.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f62ecfb74d6dПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит интерфейсом для предоставления и модификации контекстных данных конкретного приложения для IdsM.
Абстрактный класс ara::idsm::ContextDataProvider служит для предоставления и модификации специфичных для приложения контекстных данных для Intrusion Detection System Manager [SWS_AIDSM_10500]. Приложения наследуются от этого класса, реализуют callback ModifyContextData и управляют предоставлением сервиса для IdsM с помощью методов Offer, а также StopOffer[SWS_AIDSM_10507]. Экземпляр не является копируемым, и поскольку центральные методы не являются потокобезопасными, параллельный доступ, вероятно, потребует внешней синхронизации (интерпретация). Вопрос (открытый)
Контекст
Класс ara::idsm::ContextDataProvider служит для предоставления и модификации контекстных данных для подсистемы Intrusion Detection System Manager (IdsM) [SWS_AIDSM_10500]. В рамках архитектуры безопасности класс функционирует как интерфейс между критически важным для безопасности приложением и сервисом IdsM. Поскольку функция-член ModifyContextData специфицирована как чисто виртуальная [SWS_AIDSM_10509], ContextDataProvider представляет собой абстрактный базовый класс. Приложение выводит собственную реализацию, чтобы дополнять специфические контекстные данные при возникновении событий безопасности. Привязка к конфигурации архитектуры осуществляется через ara::core::InstanceSpecifier для смоделированного порта поставщика (provider port) [SWS_AIDSM_10501].
Жизненный цикл
Создание экземпляра выполняется явно через конструктор с указанием идентификатора порта (ara::core::InstanceSpecifier), а также параметров буфера additionalBytes и originalContextDataOffset[SWS_AIDSM_10501]. Этот конструктор объявлен как потокобезопасный [SWS_AIDSM_10501]. Чтобы гарантировать однозначные отношения владения для конечной точки интерфейса, как конструктор копирования [SWS_AIDSM_10504], так и оператор присваивания с копированием [SWS_AIDSM_10506] удалены. Передача экземпляра возможна через семантику перемещения: конструктор перемещения потокобезопасен [SWS_AIDSM_10503], тогда как оператор присваивания operator= со ссылкой на rvalue определен как непотокобезопасный [SWS_AIDSM_10505].
После создания экземпляр находится в неактивном состоянии. Только явный вызов Offer() активирует регистрацию и авторизует IdsM вызывать ModifyContextData[SWS_AIDSM_10507]. Через StopOffer() эту авторизацию можно отозвать в любой момент [SWS_AIDSM_10508]. Перед уничтожением объекта через виртуальный деструктор [SWS_AIDSM_10502] согласно общепринятой практике, вероятно, потребуется вызвать StopOffer(), чтобы своевременно отключить выполняющиеся вызовы callback со стороны IdsM (интерпретация). Вопрос Q-ee65caee57919f00 (открытый) Виртуальный деструктор специфицирован как непотокобезопасный [SWS_AIDSM_10502].
Путь использования
Типичный сценарий использования начинается с определения специфичного для приложения класса, который наследуется от ContextDataProvider и реализует метод ModifyContextData[SWS_AIDSM_10509]. После создания экземпляра приложение вызывает Offer(), чтобы предоставить контекстные данные для IdsM [SWS_AIDSM_10507]. Как только IdsM регистрирует событие безопасности, для которого должны быть дополнены контекстные данные, подсистема вызывает callback ModifyContextData[SWS_AIDSM_10509]. Метод получает область данных в виде ara::core::Span<std::uint8_t>, а также идентификатор EventIdType, обновляет содержимое буфера и возвращает фактическое количество байт как ara::core::Result<std::size_t>[SWS_AIDSM_10509]. Если предоставление данных требуется завершить, приложение вызывает StopOffer()[SWS_AIDSM_10508].
Диаграмма последовательности: последовательность взаимодействия между приложением, ContextDataProvider и IdsM от активации с помощью Offer через callback до деактивации через StopOffer. Источники: [SWS_AIDSM_10507], [SWS_AIDSM_10508], [SWS_AIDSM_10509]
Сценарии ошибок
Все методы интерфейса объявлены с noexcept; ошибки возвращаются через тип ara::core::Result. Вызов Offer() возвращает ara::core::Result<void>[SWS_AIDSM_10507], который должен быть проверен приложением для перехвата возможных ошибок при предоставлении сервиса. Если поставщик не может записать запрошенные контекстные данные в ModifyContextData, реализация, вероятно, сообщит о системно-специфической ошибке в ara::core::Result<std::size_t> (интерпретация) [SWS_AIDSM_10509]. Вопрос Q-585e19770d59309e (открытый)
Von IdsM aufgerufene abstrakte Funktion zum Ändern der Kontextdaten.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7746f9098d23ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование и семантика
Чисто виртуальная функция ModifyContextData из заголовочного файла ara/idsm/context_data_provider.h вызывается Intrusion Detection System Manager (IdsM) для предоставления или изменения контекстных данных к событию безопасности [SWS_AIDSM_10509]. Функция принимает доступную для записи область памяти contextData типа ara::core::Span<std::uint8_t>, а также идентификатор события event типа EventIdType. В качестве синхронного возвращаемого значения служит ara::core::Result<std::size_t>. Содержащееся числовое значение при этом, вероятно, представляет количество фактически записанных в буфер байтов. Вопрос Q-cec3aee149140a4b (открытый)
Взаимодействие и жизненный цикл
Вызов со стороны IdsM подчиняется управлению жизненным циклом поставщика контекстных данных (Context Data Provider):
Разрешение: вызовы ModifyContextData со стороны IdsM становятся возможными только благодаря предварительному вызову Offer[SWS_AIDSM_10507].
Завершение: с помощью StopOffer вызовы ModifyContextData со стороны IdsM снова блокируются [SWS_AIDSM_10508].
Обработка ошибок и параллелизм
Функция объявлена с noexcept и не должна генерировать исключений [SWS_AIDSM_10509]. Если при модификации данных возникает ошибка, о ней необходимо сообщить через объект ошибки ara::core::Result. Поскольку интерфейс классифицирован как not thread-safe[SWS_AIDSM_10509], конкретная реализация при параллельном доступе к буферу или внутренним состояниям должна обеспечить надлежащую синхронизацию.
Это указание по использованию было сгенерировано автоматически на основе спецификации R25-11.
Руководство разработчика реализации в подготовке (сложность I1)
Request a governed re-review of this record. The record is not changed immediately.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 75af0d519faaПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Метод без параметров Offer() предоставляется через заголовочный файл ara/idsm/context_data_provider.h и возвращает ara::core::Result<void>[SWS_AIDSM_10507]. Благодаря объявлению с noexcept исключения на стороне вызывающего исключены [SWS_AIDSM_10507]. При успешном вызове провайдер регистрируется в Intrusion Detection System Manager (IdsM), что делает возможными последующие вызовы интерфейса ModifyContextData со стороны IdsM [SWS_AIDSM_10507].
Параллелизм и ограничения
Что касается работы с потоками, функция явно специфицирована как not thread-safe[SWS_AIDSM_10507]. Поэтому вызывающие компоненты должны обеспечить, чтобы выполнение происходило сериализованно и без конкурентного доступа. Интерпретация: вызов, как правило, должен происходить на этапе инициализации системы до того, как IdsM обратится к контекстным данным. Вопрос Q-fe72f4c02eb0e5ba (открытый)
Взаимодействие
Предоставление следует стандартизированному паттерну Offer в модуле aidsm. Аналогичные интерфейсы активируют другие функции IdsM:
Offer() в ara/idsm/timestamp_provider.h делает возможными вызовы GetTimestamp со стороны IdsM [SWS_AIDSM_10408].
Offer() в ara/idsm/qualified_events_receiver.h позволяет IdsM выполнять пересылку через OnEventQualification[SWS_AIDSM_10808].
Этот текст был сгенерирован системой ИИ и опирается на спецификацию AUTOSAR Adaptive R25-11.
Request a governed re-review of this record. The record is not changed immediately.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ca8d922661ceПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция StopOffer из заголовочного файла ara/idsm/context_data_provider.h имеет сигнатуру void StopOffer() noexcept;[SWS_AIDSM_10508]. Она не принимает параметров, не возвращает значения и, согласно noexcept, не генерирует исключений. Её основная цель заключается в предотвращении будущих вызовов ModifyContextData со стороны IdsM [SWS_AIDSM_10508].
Параллелизм и ограничения
Согласно спецификации, StopOffer классифицирована как not thread-safe[SWS_AIDSM_10508]. Поэтому вызов не должен выполняться конкурентно с другими операциями на том же экземпляре; вызывающие компоненты должны синхронизировать доступ извне. Поскольку возвращаемые значения или специфические механизмы обработки ошибок не специфицированы, отзыв предложения должен вступать в силу синхронно и немедленно. Вопрос Q-6c3920758ace96be (открытый)
Взаимодействие
Внутри модуля aidsm паттерн StopOffer существует в аналогичных интерфейсах провайдеров и получателей. Так, StopOffer в заголовочном файле ara/idsm/timestamp_provider.h предотвращает будущие вызовы GetTimestamp со стороны IdsM [SWS_AIDSM_10409], тогда как одноимённый метод в заголовочном файле ara/idsm/qualified_events_receiver.h останавливает вызовы OnEventQualification[SWS_AIDSM_10809]. Обе родственные функции имеют одинаковую сигнатуру и также не являются потокобезопасными.
Этот текст был создан ИИ на основе AUTOSAR Adaptive R25-11.
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал