DEENESPTFRRUARHIKOZHNL

класс ara::diag::SecurityAccess

[SWS_DM_00761] Upstream: RS_Diag_04005

class SecurityAccess {...};

DiagnosticSecurityAccessInterface.

Header-Datei#include "ara/diag/security_access.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Руководство пользователяСОЗДАНО ИИ

Служит для предоставления и валидации значений Seed и ключа для диагностических защищенных доступов.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1943cee6c64f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит для предоставления и валидации значений Seed и ключа для диагностических защищенных доступов.

Класс ara::diag::SecurityAccess служит для специфичной для приложения реализации диагностических защищенных доступов согласно UDS-службе 0x27 ([SWS_DM_00762]). После активации через Offer() обработчик принимает запросы на предоставление Seed и асинхронно валидирует переданные значения ключа ([SWS_DM_00766]). Будучи некопируемым и неперемещаемым экземпляром, интерфейс требует явной конфигурации поведения при параллелизме в конструкторе, в то время как ошибки обработки передаются в диагностическую систему через стандартизированные коды возврата UDS ([SWS_DM_00765]).

Контекст

Класс ara::diag::SecurityAccess представляет в AUTOSAR Adaptive интерфейс для реализации UDS-службы 0x27 (SecurityAccess). Он функционирует как связующее звено между внутренним Diagnostic Management (DM) и специфичной для приложения логикой аутентификации адаптивного приложения. Когда внешний диагностический тестер запрашивает критичную для безопасности диагностическую операцию, он передает соответствующие диагностические сообщения в соответствии с ISO 14229-1 в транспортное средство (AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation»). Diagnostic Management принимает эти запросы и перенаправляет запрос Seed, а также сравнение ключа зарегистрированному экземпляру ara::diag::SecurityAccess ([SWS_DM_00766]).

SecurityAccessKontext client Диагностический клиент dm Diagnostic Management (DM) client->dm UDS-Service 0x27 secacc ara::diag::SecurityAccess dm->secacc Пересылка app Adaptive Applikation secacc->app Vererbung / Handler

Контекстная диаграмма: позиционирование ara::diag::SecurityAccess между диагностическим тестером, Diagnostic Management и приложением. Источники: [SWS_DM_00762], [SWS_DM_00766], AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation»

Жизненный цикл

Инстанцирование выполняется через конструктор с указанием ara::core::InstanceSpecifier, а также поведения при параллелизме concurrencyType ([SWS_DM_00762]). Идентификатор экземпляра связывает объект с прототипом порта, который должен быть типизирован с помощью DiagnosticSecurityLevelInterface ([SWS_DM_00762]). Параметр concurrencyType обязательно определяет, должны ли вызовы методов обрабатываться потокобезопасно (kConcurrent) или непотокобезопасно (kNotConcurrent) ([SWS_DM_00762]).

С точки зрения семантики владения класс спроектирован как единственный экземпляр: конструктор копирования ([SWS_DM_01617]) и оператор присваивания с копированием ([SWS_DM_01615]), а также конструктор перемещения ([SWS_DM_01618]) и оператор присваивания с перемещением ([SWS_DM_01616]) удалены (=delete). После создания экземпляр находится в неактивном состоянии, пока он не будет зарегистрирован в DM с помощью Offer() ([SWS_DM_00766]). Перед завершением StopOffer() деактивирует перенаправление запросов ([SWS_DM_00767]). Интерпретация: StopOffer(), вероятно, всегда должен вызываться перед уничтожением объекта виртуальным деструктором ([SWS_DM_00763]), чтобы гарантировать дерегистрацию текущих запросов в DM. Вопрос Q-3bbb715f727e373a (открытый)

Путь использования

Типичный сценарий использования производной реализации обработчика включает следующие шаги:

  1. Активация: приложение инстанцирует производный класс и вызывает Offer(), чтобы активировать перенаправление диагностических запросов через DM ([SWS_DM_00766]).
  2. Предоставление Seed: при поступлении диагностического запроса на генерацию Seed DM вызывает метод GetSeed ([SWS_DM_00764]). Приложение обрабатывает переданный securityAccessDataRecord, учитывает cancellationHandler и асинхронно возвращает вычисленный Seed через ara::core::Future<ara::core::Vector<std::uint8_t>> ([SWS_DM_00764]). Буфер переданного диапазона данных остается действительным до выполнения promise или до отмены ([SWS_DM_00764]).
  3. Валидация ключа: как только диагностический тестер передает вычисленный ключ, DM вызывает CompareKey ([SWS_DM_00765]). Приложение проверяет параметр key и асинхронно передает результат через ara::core::Future<KeyCompareResultType> ([SWS_DM_00765]).
  4. Деактивация: для завершения диагностического режима приложение вызывает StopOffer() ([SWS_DM_00767]).
Процесс аутентификации безопасности через SecurityAccessПриложениеara::diag::SecurityAccessDiagnostic ManagementUse Case: AktivierungOffer()Dienst registrierenResult<void>Result<void>Use Case: Seed anfordernGetSeed(securityAccessDataRecord, metaInfo, cancellationHandler)Seed generierenFuture<Vector<uint8_t>> (Seed)Use Case: Верифицировать ключCompareKey(key, metaInfo, cancellationHandler)Проверить ключFuture<KeyCompareResultType>Use Case: DeaktivierungStopOffer()Dienst deregistrieren

Диаграмма последовательности: цикл взаимодействия от активации через GetSeed и CompareKey до деактивации. Источники: [SWS_DM_00764], [SWS_DM_00765], [SWS_DM_00766], [SWS_DM_00767]

Сценарии ошибок

При использовании ara::diag::SecurityAccess специфицировано несколько уровней ошибок:

  • Нарушения конструктора и модели: если InstanceSpecifier не может быть разрешен в модели или не ссылается на PortPrototype, сообщается об InstanceSpecifierMappingIntegrityViolation ([SWS_DM_00762]). Если порт, на который указывает ссылка, не типизирован через DiagnosticSecurityLevelInterface, возникает PortInterfaceMappingViolation ([SWS_DM_00762]). Если во время выполнения отсутствует подходящий смоделированный процесс, возникает ProcessMappingViolation, а при многократном использовании одного и того же идентификатора внутри процесса генерируется InstanceSpecifierAlreadyInUseViolation ([SWS_DM_00762]).
  • Ошибки состояния при предложении: повторный вызов Offer() при уже активном предложении службы завершается ошибкой и возвращает ошибку DiagOfferErrc::kAlreadyOffered с семантикой отката ([SWS_DM_00766]).
  • Отрицательные ответы UDS: если генерация Seed или проверка ключа завершается неудачей, приложение должно сообщить через DiagUdsNrcErrc соответствующий Negative Response Code (NRC) согласно ISO 14229-1 ([SWS_DM_00764], [SWS_DM_00765]).
  • Прерывание диагностического соединения: через параметр cancellationHandler приложение может с помощью IsCanceled() проверить, была ли прервана беседа, или через SetNotifier() зарегистрировать функцию уведомления о прерывании ([SWS_DM_00764], [SWS_DM_00765]).
  • Сохранение неудачных попыток: Diagnostic Management требует после каждой неудачной попытки изменения уровня безопасности персистентного сохранения счетчика, чтобы пережить манипуляции или сбросы (AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation», [SWS_DM_00479]).

Данное руководство основано на спецификации AUTOSAR Adaptive R25-11 и обобщает требования к классу ara::diag::SecurityAccess.

Карта членов

Конструкторы и деструктор

2

Операторы

1

Диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__SecurityAccess583 SecurityAccess + SecurityAccess() + operator=() + ~SecurityAccess() + CompareKey() + GetSeed() + Offer() + StopOffer()

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

SecurityAccess функция 3

Constructor of SecurityAccess.

Перегрузки SecurityAccess 3
explicit SecurityAccess (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00762
SecurityAccess (SecurityAccess &)=delete; SWS_DM_01617
SecurityAccess (SecurityAccess &&) noexcept=delete; SWS_DM_01618
~SecurityAccess функция

Destructor of SecurityAccess .

virtual ~SecurityAccess () noexcept;

Методы

CompareKey функция

This method is called, when a diagnostic request has been finished, to notify about the outcome.

virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
GetSeed функция

Called for any request messsage.

virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Offer функция

This Offer will enable the DM to forward request messages to this handler.

ara::core::Result< void > Offer () noexcept;
StopOffer функция

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;

Операторы

operator= функция 2

SecurityAccess shall be a single not assignable instance.

Перегрузки = 2

Документация методов

функция CompareKey [SWS_DM_00765] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119

virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

This method is called, when a diagnostic request has been finished, to notify about the outcome.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7e880a8e2b3a Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Чисто виртуальный метод CompareKey из класса ara::diag::SecurityAccess [SWS_DM_00765] реализуется на стороне приложения для валидации переданного клиентом ключа в UDS-службе 0x27 (SecurityAccess) SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess». Вместе с GetSeed он образует основу для статического механизма Seed-Key согласно ISO 14229-1 [SWS_DM_00863].

Параметры функции включают в себя:

  • key: ara::core::Span<const std::uint8_t> на проверяемые данные ключа. Буфер остается действительным до тех пор, пока не будет выполнено соответствующее Promise или обработка не будет отменена через cancellationHandler [SWS_DM_00765].
  • metaInfo: метаинформация входящего диагностического запроса [SWS_DM_00765].
  • cancellationHandler: позволяет опрашивать статус отмены через cancellationHandler.IsCanceled, а также регистрировать функцию уведомления через cancellationHandler.SetNotifier в случае отмены сеанса связи [SWS_DM_00765].

Результат проверки предоставляется асинхронно через ara::core::Future<KeyCompareResultType> [SWS_DM_00765].

Обработка ошибок и взаимодействие

Если сравнение ключей завершается неудачно или во время обработки возникает ошибка, через Future необходимо передать подходящий Negative Response Code (NRC) согласно ISO 14229-1 с помощью DiagUdsNrcErrc [SWS_DM_00765]. Если запрошенная подфункция для CompareKey не сконфигурирована, на запрос отправляется ответ с NRC 0x12 (kSubFunctionNotSupported) [SWS_DM_00363]. Diagnostic Server подсчитывает неудачные попытки [SWS_DM_00270] и сравнивает их с пороговыми значениями [SWS_DM_00271].

Если доступ по безопасности успешно разблокирован, сервер обновляет уровень безопасности внутри [SWS_DM_00846], сбрасывает счетчик неудачных попыток [SWS_DM_00270] и сообщает о событии безопасности SEV_UDS_SECURITY_ACCESS_SUCCESSFUL в IdsM [SWS_DM_02019].

Параллелизм и ограничения

Интерфейс объявлен как noexcept и является исключитель­но безопасным (exception safe) [SWS_DM_00765]. Потокобезопасность является условной (conditional): должна ли реализация быть потокобезопасной, определяется через ConcurrencyType, переданный в конструкторе SecurityAccess [SWS_DM_00765].

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
keyThe key to be validated. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< KeyCompareResultType >Result of the key validation.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00765
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00765@rel:R25-11#ec2234d2
Content hash
ec2234d2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00765
Status: valid/unmigrated Version: rel:R25-11#fcff65aa Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00765@rel:R25-11#fcff65aa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d4d3823f2026-09-30
  • R19-11rel:R19-11#4bf18d9e2026-10-14
  • R20-11rel:R20-11#52ff58612026-10-14
  • R21-11rel:R21-11#42d7f4462026-10-14
  • R22-11rel:R22-11#94736e912026-10-14
  • R23-11rel:R23-11#cbc123ea2026-10-14
  • R24-11rel:R24-11#e09a76d52026-10-14
  • R25-11rel:R25-11#fcff65aa2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция GetSeed [SWS_DM_00764] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119

virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for any request messsage.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d92bef6dc534 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Чисто виртуальный метод ara::diag::SecurityAccess::GetSeed вызывается экземпляром Diagnostic Server, как только принимается UDS-запрос для службы 0x27 SecurityAccess и переданное значение подфункции совпадает со сконфигурированным requestSeedId [SWS_DM_00863]. Это является частью соответствующей стандарту реализации службы 0x27 согласно ISO 14229-1 [SWS_DM_00236].

Вызов передает полезные данные, предоставленные диагностическим клиентом, через параметр securityAccessDataRecord (как ara::core::Span), контекстную информацию в metaInfo, а также объект типа CancellationHandler [SWS_DM_00764]. Если клиент не отправил данные, span данных передается пустым [SWS_DM_00863]. Переданные данные остаются действительными до тех пор, пока не будет выполнено соответствующее Promise или обработка не будет отменена [SWS_DM_00764].

Асинхронная семантика и параллелизм

Функция асинхронно возвращает ara::core::Future<ara::core::Vector<std::uint8_t>>, который содержит сгенерированный Seed [SWS_DM_00764]. Через cancellationHandler приложение может посредством IsCanceled проверить, был ли сеанс связи отменен, или через SetNotifier зарегистрировать уведомление [SWS_DM_00764]. Статический механизм Seed согласно ISO 14229-1 также должен быть реализован на стороне приложения в GetSeed SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess».

С точки зрения параллелизма метод условно потокобезопасен: должна ли реализация быть потокобезопасной, определяется через ConcurrencyType, передаваемый в конструктор SecurityAccess SWS Diagnostics §8.24.2.1.3.2 «GetSeed».

Обработка ошибок

Если не удается определить валидный Seed, Future следует завершить с подходящим Negative Response Code (NRC) согласно ISO 14229-1 через DiagUdsNrcErrc [SWS_DM_00764]. Интерфейс объявлен как noexcept и является исключитель­но безопасным [SWS_DM_00764].

Этот указание по использованию было создано ИИ на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
securityAccessDataRecordSecurity Access payload, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<std::uint8_t > >provided seed

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00764
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00764@rel:R25-11#2e1be23a
Content hash
2e1be23a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00764
Status: valid/unmigrated Version: rel:R25-11#78b36e49 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00764@rel:R25-11#78b36e49
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2e6ffe502026-09-30
  • R19-11rel:R19-11#ec261d632026-10-14
  • R20-11rel:R20-11#d20d81e72026-10-14
  • R21-11rel:R21-11#9f3e5c3f2026-10-14
  • R22-11rel:R22-11#b2714bed2026-10-14
  • R23-11rel:R23-11#cb771e7d2026-10-14
  • R24-11rel:R24-11#e4519bf42026-10-14
  • R25-11rel:R25-11#78b36e492026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция Offer [SWS_DM_00766] Upstream: RS_AP_00139, RS_Diag_04005, RS_AP_00119

ara::core::Result< void > Offer () noexcept;

This Offer will enable the DM to forward request messages to this handler.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 03e774f47039 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод ara::diag::SecurityAccess::Offer ([SWS_DM_00766]) из заголовочного файла ara/diag/security_access.h позволяет Diagnostic Manager (DM) пересылать входящие сообщения запросов (Request Messages) зарегистрированному обработчику безопасного доступа. Вызов выполняется синхронно без входных параметров и возвращает ara::core::Result<void>.

Обработка ошибок

В случае ошибки возвращаемый объект содержит код ошибки. Если сервис на экземпляре уже зарегистрирован, возвращается DiagOfferErrc::kAlreadyOffered ([SWS_DM_00766]). Функция объявлена как noexcept и гарантирует безопасность относительно исключений (exception safe).

Параллелизм и ограничения

Интерфейс специфицирован как непотокобезопасный (not thread-safe) ([SWS_DM_00766]). Конкурирующие вызовы на одном и том же экземпляре должны синхронизироваться приложением. Интерпретация: многократные нескоординированные вызовы без предварительного отзыва предложения, вероятно, всегда будут отклоняться с kAlreadyOffered. Вопрос Q-848ccd3c78403eea (открытый)

Взаимодействие

Предложение функциональности через Offer следует единому паттерну активации диагностики AUTOSAR Adaptive, как это определено и для ServiceValidation ([SWS_DM_00776]) или DoIPGroupIdentification ([SWS_DM_00725]). Несмотря на совпадение имён с коммуникационными интерфейсами, речь идёт о специфической для диагностики реализации, которую нельзя смешивать с ara::com (SWS Diagnostics §7.3.4.1.2 «Monitors»).

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00766
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00766@rel:R25-11#eb7ed847
Content hash
eb7ed847
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00766
Status: valid/unmigrated Version: rel:R25-11#00210900 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00766@rel:R25-11#00210900
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#56ad395b2026-09-30
  • R19-11rel:R19-11#d015c3bb2026-10-14
  • R20-11rel:R20-11#5653979a2026-10-14
  • R21-11rel:R21-11#d5a352932026-10-14
  • R22-11rel:R22-11#4dd706ea2026-10-14
  • R23-11rel:R23-11#898492102026-10-14
  • R24-11rel:R24-11#6e0b7b5e2026-10-14
  • R25-11rel:R25-11#002109002026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SecurityAccess [SWS_DM_00762] Upstream: RS_AP_00137, RS_Diag_04005, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit SecurityAccess (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Constructor of SecurityAccess.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6e8a7c45e17d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Явный конструктор инициализирует экземпляр ara::diag::SecurityAccess синхронно и безопасно к исключениям ([SWS_DM_00762]). В качестве параметров он принимает ссылку на ara::core::InstanceSpecifier, а также ConcurrencyType. Параметр specifier должен ссылаться на смоделированный PortPrototype, типизированный через DiagnosticSecurityLevelInterface. С помощью concurrencyType определяется, будут ли методы обратного вызова интерфейса обрабатываться параллельно (kConcurrent) или непараллельно (kNotConcurrent).

Обработка ошибок

Функция объявлена с noexcept ([SWS_DM_00762]). При некорректных конфигурациях моделирования могут возникать следующие нарушения:

  • InstanceSpecifierMappingIntegrityViolation: InstanceSpecifier не удается разрешить в контексте выполнения или он не указывает на PortPrototype.
  • PortInterfaceMappingViolation: указанный PortPrototype не типизирован как DiagnosticSecurityLevelInterface.
  • ProcessMappingViolation: для идентификатора экземпляра не существует подходящего смоделированного процесса во время выполнения.
  • InstanceSpecifierAlreadyInUseViolation: InstanceSpecifier уже используется внутри процесса.

Интерпретация: возникновение такого нарушения внутри фреймворка, вероятно, приведёт к аварийному завершению во время выполнения или к обработке безопасности, поскольку конструктор не сообщает коды ошибок через возвращаемое значение. Вопрос Q-de6e36dc7947326e (открытый)

Параллелизм и ограничения

Сам конструктор специфицирован как потокобезопасный ([SWS_DM_00762]). Конструкторы копирования и перемещения, а также соответствующие операторы присваивания явно удалены ([SWS_DM_01617], [SWS_DM_01618], [SWS_DM_01615], [SWS_DM_01616]); таким образом, экземпляр не может быть ни скопирован, ни перемещён. Переданный в конструктор concurrencyType определяет, должны ли виртуальные методы GetSeed ([SWS_DM_00764]) и CompareKey ([SWS_DM_00765]) предоставляться потокобезопасными. Деструктор, напротив, не является потокобезопасным ([SWS_DM_00763]).

Взаимодействие

После инстанцирования приложение должно вызвать Offer ([SWS_DM_00766]), чтобы Diagnostic Server (DM) пересылал входящие UDS-запросы для сервиса 0x27 (SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess», [SWS_DM_00236]). При подходящей подфункции сервер пересылает запросы в GetSeed ([SWS_DM_00863]). Пересылку можно снова отключить с помощью StopOffer ([SWS_DM_00767]).

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I3)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticSecurityLevelPortMapping needs to be typed by a DiagnosticSecurityLevelInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticSecurityLevelInterface.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00762
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00762@rel:R25-11#7b78f98b
Content hash
7b78f98b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00762
Status: valid/unmigrated Version: rel:R25-11#d28cef1a Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00762@rel:R25-11#d28cef1a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#043c5c7d2026-09-30
  • R19-11rel:R19-11#7b2a44bb2026-10-14
  • R20-11rel:R20-11#7227b8b52026-10-14
  • R21-11rel:R21-11#7227b8b52026-10-14
  • R22-11rel:R22-11#63feab942026-10-14
  • R23-11rel:R23-11#00b457c22026-10-14
  • R24-11rel:R24-11#9298af8d2026-10-14
  • R25-11rel:R25-11#d28cef1a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SecurityAccess [SWS_DM_01617] Upstream: RS_AP_00147

SecurityAccess (SecurityAccess &)=delete;

SecurityAccess shall be a single not copy-able instance.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01617
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01617@rel:R25-11#903f4d7f
Content hash
903f4d7f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01617
Status: valid/unmigrated Version: rel:R25-11#d3831de3 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01617@rel:R25-11#d3831de3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3fb7c46d2026-09-30
  • R23-11rel:R23-11#50f56be22026-10-14
  • R24-11rel:R24-11#177a95552026-10-14
  • R25-11rel:R25-11#d3831de32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SecurityAccess [SWS_DM_01618] Upstream: RS_AP_00147

SecurityAccess (SecurityAccess &&) noexcept=delete;

Move constructor of SecurityAccess.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01618
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01618@rel:R25-11#19801e5e
Content hash
19801e5e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01618
Status: valid/unmigrated Version: rel:R25-11#99b5fc60 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01618@rel:R25-11#99b5fc60
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b7a6da4b2026-09-30
  • R23-11rel:R23-11#f9d976f12026-10-14
  • R24-11rel:R24-11#99b5fc602026-10-14
  • R25-11rel:R25-11#99b5fc602026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция StopOffer [SWS_DM_00767] Upstream: RS_Diag_04005

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: cc611929a4e2 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция-член StopOffer класса ara::diag::SecurityAccess (заголовочный файл ara/diag/security_access.h) служит для отключения пересылки входящих сообщений запроса из Diagnostic Management (DM) экземпляру [SWS_DM_00767]. Вызов выполняется синхронно, не принимает параметров и не возвращает значения (void) [SWS_DM_00767].

Обработка ошибок

Функция объявлена с noexcept и классифицирована как исключебно-безопасная (exception safe) [SWS_DM_00767]. Не сообщается ни о кодах ошибок, ни об исключениях C++; некорректное поведение или исключительное состояние при дерегистрации в спецификации интерфейса не предусмотрены [SWS_DM_00767].

Параллелизм и ограничения

Согласно спецификации StopOffer является непотокобезопасной (not thread-safe) [SWS_DM_00767]. Если несколько потоков Adaptive Application параллельно обращаются к одному и тому же экземпляру ara::diag::SecurityAccess, вызов должен быть синхронизирован извне.

Взаимодействие

Метод является частью межмодульного функционального паттерна в области DM. Подобные методы StopOffer существуют для множества других диагностических сервисов, таких как:

Хотя наименование ориентировано на предоставление сервисов в ara::com, речь идет о независимой диагностической реализации для управления потоком сообщений внутри ara::diag AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR для R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00767
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00767@rel:R25-11#2b5b8d6c
Content hash
2b5b8d6c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00767
Status: valid/unmigrated Version: rel:R25-11#942cb137 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00767@rel:R25-11#942cb137
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f72493482026-09-30
  • R19-11rel:R19-11#78ac458e2026-10-14
  • R20-11rel:R20-11#d7a868c22026-10-14
  • R21-11rel:R21-11#84fad67f2026-10-14
  • R22-11rel:R22-11#8e125bd42026-10-14
  • R23-11rel:R23-11#70d9a1082026-10-14
  • R24-11rel:R24-11#4b26aa9f2026-10-14
  • R25-11rel:R25-11#942cb1372026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_DM_01615] Upstream: RS_AP_00147

SecurityAccess & operator= (SecurityAccess &)=delete;

SecurityAccess shall be a single not assignable instance.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01615
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01615@rel:R25-11#2b7ec391
Content hash
2b7ec391
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01615
Status: valid/unmigrated Version: rel:R25-11#860bde59 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01615@rel:R25-11#860bde59
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b9674d212026-09-30
  • R23-11rel:R23-11#2062081c2026-10-14
  • R24-11rel:R24-11#860bde592026-10-14
  • R25-11rel:R25-11#860bde592026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_DM_01616] Upstream: RS_AP_00147

SecurityAccess & operator= (SecurityAccess &&)=delete;

Move assignment operator of SecurityAccess.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01616
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01616@rel:R25-11#dfd32e06
Content hash
dfd32e06
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01616
Status: valid/unmigrated Version: rel:R25-11#7c8f632b Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01616@rel:R25-11#7c8f632b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#362e1d632026-09-30
  • R23-11rel:R23-11#340c00fd2026-10-14
  • R24-11rel:R24-11#7c8f632b2026-10-14
  • R25-11rel:R25-11#7c8f632b2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция ~SecurityAccess [SWS_DM_00763] Upstream: RS_AP_00134, RS_Diag_04005

virtual ~SecurityAccess () noexcept;

Destructor of SecurityAccess .

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 34fedca7e76c Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Виртуальный деструктор ~SecurityAccess [SWS_DM_00763] завершает жизненный цикл экземпляра сервисного класса ara::diag::SecurityAccess в модуле Diagnostics AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 «Destructor». Интерфейс предоставляется через заголовочный файл #include "ara/diag/security_access.h" [SWS_DM_00763]. Выполнение происходит синхронно, при этом функция не принимает входных параметров и не возвращает значения [SWS_DM_00763].

В отношении обработки ошибок операция классифицирована как exception safe и объявлена с noexcept [SWS_DM_00763]. Следовательно, она не генерирует исключений. Специфические коды ошибок, а также сообщения об ошибках в диспетчеры ошибок разработки или диагностики (DET или DEM) в спецификации для уничтожения объекта не предусмотрены [SWS_DM_00763].

Относительно параллелизма функция явно отнесена к категории not thread-safe [SWS_DM_00763]. Уничтожение объекта ни в коем случае не должно происходить одновременно с вызовами других методов на том же экземпляре. В качестве интерпретации принимается: вероятно, необходимо упорядоченно завершить все выполняющиеся активности диагностики и доступа по безопасности данного экземпляра перед его уничтожением, так как одновременные обращения приводят к неопределенному поведению. Вопрос Q-12c13e3eebd9e574 (открытый)

Во взаимодействии с платформой функция служит для реализации восходящих требований (upstream requirements) RS_AP_00134 и RS_Diag_04005 AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 «Destructor».

Автоматически сгенерированное указание по использованию на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00763
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00763@rel:R25-11#facbec6c
Content hash
facbec6c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00763
Status: valid/unmigrated Version: rel:R25-11#8b163b56 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00763@rel:R25-11#8b163b56
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#98bb90f72026-09-30
  • R19-11rel:R19-11#1b925c952026-10-14
  • R20-11rel:R20-11#fdb51c102026-10-14
  • R21-11rel:R21-11#5d5e7b7a2026-10-14
  • R22-11rel:R22-11#c67efa4a2026-10-14
  • R23-11rel:R23-11#fccf37df2026-10-14
  • R24-11rel:R24-11#8b163b562026-10-14
  • R25-11rel:R25-11#8b163b562026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill