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

사용자 가이드AI 생성

진단 보안 액세스를 위한 시드 및 키 값의 제공 및 검증 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1943cee6c64f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

진단 보안 액세스를 위한 시드 및 키 값의 제공 및 검증 역할을 합니다.

ara::diag::SecurityAccess 클래스는 UDS 서비스 0x27([SWS_DM_00762])에 따른 진단 보안 액세스의 애플리케이션별 구현에 사용됩니다. Offer()을(를) 통한 활성화 후 핸들러는 시드 제공 요청을 수신하고 전송된 키 값을 비동기식으로 검증합니다([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는 이러한 요청을 수신하고 시드 요청 및 키 비교를 등록된 ara::diag::SecurityAccess 인스턴스로 전달합니다([SWS_DM_00766]).

SecurityAccessKontext client 진단 클라이언트 dm Diagnostic Management (DM) client->dm UDS-Service 0x27 secacc ara::diag::SecurityAccess dm->secacc Weiterleitung app Adaptive Applikation secacc->app Vererbung / Handler

컨텍스트 다이어그램: 진단 테스터, Diagnostic Management 및 애플리케이션 간의 ara::diag::SecurityAccess 배치. 출처: [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]).

소유권 시맨틱과 관련하여 이 클래스는 단일 인스턴스(singleton-like)로 설계되었습니다: 복사 생성자([SWS_DM_01617])와 복사 대입 연산자([SWS_DM_01615])뿐만 아니라 이동 생성자([SWS_DM_01618])와 이동 대입 연산자([SWS_DM_01616])도 삭제되었습니다(=delete). 생성 후 인스턴스는 Offer()을(를) 통해 DM에 등록될 때까지 비활성 상태를 유지합니다([SWS_DM_00766]). 종료 전에는 StopOffer()이(가) 요청 전달을 비활성화합니다([SWS_DM_00767]). 해석: 가상 소멸자([SWS_DM_00763])에 의해 객체가 파괴되기 전에 DM에 진행 중인 요청의 등록 해제를 보장하기 위해 항상 StopOffer()이(가) 호출되어야 할 것으로 보입니다. 질문 Q-3bbb715f727e373a (열림)

사용 경로

파생된 핸들러 구현의 일반적인 사용 워크플로는 다음 단계들로 구성됩니다:

  1. 활성화: 애플리케이션은 파생 클래스를 인스턴스화하고 Offer()을(를) 호출하여 DM에 의한 진단 요청 전달을 활성화합니다([SWS_DM_00766]).
  2. 시드 제공: 시드 생성을 위한 진단 요청이 도착하면 DM은 GetSeed 메서드를 호출합니다([SWS_DM_00764]). 애플리케이션은 전달된 securityAccessDataRecord을(를) 처리하고 cancellationHandler을(를) 고려하여 계산된 시드를 ara::core::Future<ara::core::Vector<std::uint8_t>>을(를) 통해 비동기식으로 반환합니다([SWS_DM_00764]). 전달된 데이터 span의 버퍼는 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) 시 상태 오류: 서비스 제공이 이미 활성화된 상태에서 Offer()을(를) 다시 호출하면 실패하고 롤백 시맨틱과 함께 DiagOfferErrc::kAlreadyOffered 오류를 반환합니다([SWS_DM_00766]).
  • 부정 UDS 응답: 시드 생성 또는 키 확인이 실패하면 애플리케이션은 DiagUdsNrcErrc을(를) 통해 ISO 14229-1에 따른 적절한 Negative Response Code(NRC)를 보고해야 합니다([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 클래스에 대한 요구사항을 요약합니다.

멤버 맵

클래스 다이어그램

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

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

상세 보기

개요에서 항목을 선택하세요.

생성자 및 소멸자

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

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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7e880a8e2b3a 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

클래스 ara::diag::SecurityAccess[SWS_DM_00765]의 순수 가상 메소드 CompareKey은(는) UDS 서비스 0x27 (SecurityAccess)에서 클라이언트가 전송한 키를 검증하기 위해 애플리케이션 측에 구현됩니다SWS Diagnostics §7.3.2.8.9 “Service 0x27 – SecurityAccess”. 이는 GetSeed와(과) 함께 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].

오류 처리 및 상호 작용

키 비교에 실패하거나 처리 중 오류가 발생하면, DiagUdsNrcErrc을(를) 통해 ISO 14229-1에 따른 적절한 Negative Response Code (NRC)가 Future를 통해 전달되어야 합니다[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)입니다. 구현이 스레드 안전해야 하는지 여부는 SecurityAccess의 생성자에서 전달된 ConcurrencyType을(를) 통해 결정됩니다[SWS_DM_00765].

이 사용 지침은 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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#4cfacae6
Content hash
4cfacae6
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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d92bef6dc534 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

순수 가상 메소드 ara::diag::SecurityAccess::GetSeed은(는) 서비스 0x27 SecurityAccess에 대한 UDS 요청이 수신되고 전송된 서브기능 값이 구성된 requestSeedId와(과) 일치할 때 진단 서버 인스턴스에 의해 호출됩니다[SWS_DM_00863]. 이는 ISO 14229-1에 따른 서비스 0x27의 표준 준수 구현의 일부입니다[SWS_DM_00236].

호출 시 매개변수 securityAccessDataRecord(ara::core::Span 형식)을 통해 진단 클라이언트가 제공한 페이로드, metaInfo의 컨텍스트 정보 및 CancellationHandler 타입의 객체가 전달됩니다[SWS_DM_00764]. 클라이언트가 데이터를 전송하지 않은 경우 데이터 스팬은 비어 있는 상태로 전달됩니다[SWS_DM_00863]. 전달된 데이터는 연관된 Promise가 충족되거나 처리가 취소될 때까지 유효하게 유지됩니다[SWS_DM_00764].

비동기 시맨틱 및 동시성

이 함수는 생성된 시드를 포함하는 ara::core::Future<ara::core::Vector<std::uint8_t>>을(를) 비동기식으로 반환합니다[SWS_DM_00764]. 애플리케이션은 cancellationHandler을(를) 통해 IsCanceled(으)로 대화가 취소되었는지 확인하거나 SetNotifier을(를) 통해 알림을 등록할 수 있습니다[SWS_DM_00764]. ISO 14229-1에 따른 정적 시드 메커니즘 또한 GetSeed에서 애플리케이션 측에 구현되어야 합니다SWS Diagnostics §7.3.2.8.9 “Service 0x27 – SecurityAccess”.

동시성과 관련하여 이 메소드는 조건부 스레드 안전(conditionally thread-safe)합니다. 즉, 구현이 스레드 안전해야 하는지 여부는 SecurityAccess의 생성자에 전달되는 ConcurrencyType을(를) 통해 결정됩니다SWS Diagnostics §8.24.2.1.3.2 “GetSeed”.

오류 처리

유효한 시드를 확인할 수 없는 경우, Future는 DiagUdsNrcErrc을(를) 통해 ISO 14229-1에 따른 적절한 Negative Response Code (NRC)로 완료되어야 합니다[SWS_DM_00764]. 이 인터페이스는 noexcept(으)로 선언되어 있으며 예외 안전합니다[SWS_DM_00764].

이 사용 지침은 AUTOSAR 사양 R25-11을 기반으로 AI에 의해 작성되었습니다.

구현자 가이드 준비 중 (복잡도 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#689ffd50
Content hash
689ffd50
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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 03e774f47039 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

헤더 ara/diag/security_access.h의 메서드 ara::diag::SecurityAccess::Offer([SWS_DM_00766])은 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을(를) 통한 기능 제공은 ServiceValidation([SWS_DM_00776]) 또는 DoIPGroupIdentification([SWS_DM_00725])에 대해 정의된 것과 같이 AUTOSAR Adaptive 진단의 통일된 활성화 패턴을 따릅니다. 통신 인터페이스와 이름이 동일함에도 불구하고 이는 ara::com와(과) 혼동해서는 안 되는 진단 전용 구현입니다(SWS Diagnostics §7.3.4.1.2 “Monitors”).

이 텍스트는 AUTOSAR R25-11 사양을 바탕으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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#9a69fef6
Content hash
9a69fef6
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.

AI 생성 미검증 모델: 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은(는) DiagnosticSecurityLevelInterface에 의해 유형화된 모델링된 PortPrototype을(를) 참조해야 합니다. concurrencyType을(를) 통해 인터페이스의 콜백 메서드가 동시적(kConcurrent)으로 처리될지 또는 비동시적(kNotConcurrent)으로 처리될지가 결정됩니다.

오류 처리

이 함수는 noexcept(으)로 선언되어 있습니다([SWS_DM_00762]). 모델링 잘못 구성 시 다음과 같은 위반(Violations)이 발생할 수 있습니다:

  • 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]).

상호 작용

인스턴스화 후 애플리케이션은 Diagnostic Server(DM)가 서비스 0x27(SWS Diagnostics §7.3.2.8.9 “Service 0x27 – SecurityAccess”, [SWS_DM_00236])에 대한 수신 UDS 요청을 전달하도록 Offer([SWS_DM_00766])을(를) 호출해야 합니다. 일치하는 하위 기능이 있는 경우 서버는 요청을 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#02d001f9
Content hash
02d001f9
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#3e59a81a
Content hash
3e59a81a
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#67ff229f
Content hash
67ff229f
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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: cc611929a4e2 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

ara::diag::SecurityAccess 클래스(헤더 ara/diag/security_access.h)의 멤버 함수 StopOffer은 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”.

이 사용 지침은 R25-11용 AUTOSAR 사양을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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#e98ec9d3
Content hash
e98ec9d3
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#6b928408
Content hash
6b928408
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#059655b6
Content hash
059655b6
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 .

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 34fedca7e76c 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

가상 소멸자 ~SecurityAccess[SWS_DM_00763]은(는) Diagnostics 모듈AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 “Destructor”의 서비스 클래스 ara::diag::SecurityAccess 인스턴스의 수명 주기를 종료합니다. 이 인터페이스는 헤더 #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 (열림)

플랫폼과의 상호 작용에서 이 함수는 업스트림 요구사항 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#652562c8
Content hash
652562c8
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