DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::GenericDataIdentifier

[SWS_DM_00607] Upstream: RS_Diag_04169

class GenericDataIdentifier {...};

Generic DataIdentifier interface.

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

사용자 가이드AI 생성

애플리케이션이 진단 식별자에 대한 UDS 읽기 및 쓰기 요청을 범용적으로 처리할 수 있도록 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 02c252ff66d0 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

애플리케이션이 진단 식별자에 대한 UDS 읽기 및 쓰기 요청을 범용적으로 처리할 수 있도록 합니다.

ara::diag::GenericDataIdentifier 클래스는 AUTOSAR Adaptive [SWS_DM_00636]에서 진단 식별자에 대한 UDS 읽기 및 쓰기 요청을 비동기식으로 처리하기 위한 제네릭 인터페이스 역할을 합니다. 포트에 바인딩되고 Offer()를 통해 릴리스된 후 Diagnostic Management는 구현된 메서드로 요청을 전달합니다 [SWS_DM_00638]. 단일 인스턴스로서 객체는 복사되거나 이동될 수 없으며, 요청 처리의 스레드 안전성은 생성자에서 선택된 동시성 구성을 통해 제어됩니다.

컨텍스트

ara::diag::GenericDataIdentifier 클래스는 AUTOSAR Adaptive Platform의 Diagnostic Management(DM) 기능 클러스터 내의 제네릭 서비스 인터페이스를 나타냅니다 SWS Diagnostics §8.2 “GenericDataIdentifier”. 타입별 인터페이스가 고정 모델링된 데이터 타입에 바인딩되는 반면, GenericDataIdentifier는 16비트 식별자가 매개변수로 동적으로 전달되는 진단 식별자(Data Identifier, DID)의 유연한 처리에 사용됩니다.

진단 처리에는 주로 세 가지 역할이 관여합니다:

  • ReadDataByIdentifier(0x22) 또는 WriteDataByIdentifier(0x2E)와 같은 표준화된 UDS 서비스를 차량으로 보내는 외부 진단 테스터.
  • 진단 요청을 수신 및 유효성 검사하고, 이전에 Offer를 통해 활성화된 경우 정의된 포트 인터페이스를 통해 해당 애플리케이션 인스턴스로 전달하는 Diagnostic Management(DM) [SWS_DM_00638].
  • Read [SWS_DM_00636] 및 Write [SWS_DM_00637] 메서드를 제공하고 데이터를 비동기식으로 반환하여 실제 처리 로직을 캡슐화하는 GenericDataIdentifier의 애플리케이션별 구현.

수명 주기

ara::diag::GenericDataIdentifier의 인스턴스는 생성자를 통해 명시적으로 인스턴스화됩니다 [SWS_DM_00634]. 이때 호출자는 객체를 모델링된 DiagnosticDataIdentifierGenericInterface의 PortPrototype를 참조하는 ara::core::InstanceSpecifier에 바인딩합니다. concurrencyType 인수(타입: DataIdentifierConcurrencyType)를 통해 요청이 핸들러로 동시(kConcurrent) 또는 순차적(kNotConcurrent)으로 전달되는지 여부가 결정됩니다 [SWS_DM_00634].

소유권 및 수명과 관련하여 GenericDataIdentifier는 복사 불가능하고 이동 불가능한 단일 인스턴스로 모델링됩니다:

인스턴스화 후 객체는 비활성 상태에 있습니다. Diagnostic Management는 아직 요청을 전달하지 않습니다. Offer() [SWS_DM_00638]를 호출해야만 전달이 활성화됩니다. 진단 요청 전달을 다시 비활성화하기 위해 애플리케이션은 StopOffer() [SWS_DM_00639]를 호출합니다. 객체의 소멸은 가상 소멸자 [SWS_DM_00635]를 통해 수행됩니다.

동시성과 관련하여 생성자는 스레드 안전합니다(thread-safe) [SWS_DM_00634]. 반면 관리 메서드인 Offer() [SWS_DM_00638] 및 StopOffer() [SWS_DM_00639]와 소멸자 [SWS_DM_00635]는 스레드 안전하지 않은 것으로 지정되어 있습니다. Read 및 Write 메서드의 스레드 안전성은 선택된 concurrencyType에 따라 조건부로 달라집니다 [SWS_DM_00636], [SWS_DM_00637].

lifecycle NichtInitialisiert 초기화되지 않음 Inaktiv Inaktiv (StopOffer) NichtInitialisiert->Inaktiv Konstruktor Aktiv Aktiv (Offer) Inaktiv->Aktiv Offer() Beendet 파괴됨 Inaktiv->Beendet Destruktor Aktiv->Inaktiv StopOffer() Aktiv->Beendet Destruktor

상태 다이어그램: 비활성 상태와 전달 준비 완료 상태 간의 핸들러 인스턴스 수명 주기 및 상태 전이. 출처: [SWS_DM_00634], [SWS_DM_00638], [SWS_DM_00639], [SWS_DM_00635]

사용 경로

진단 요청 처리를 위한 일반적인 수직 관통(Durchstich) 과정은 다음 단계로 구성됩니다:

  1. 초기화: 애플리케이션은 InstanceSpecifier 및 동시성 구성 [SWS_DM_00634]을 지정하여 파생된 핸들러 클래스를 인스턴스화합니다. 해석: 실제 환경에서는 일반적으로 애플리케이션 프로세스의 초기화 단계 중에 수행될 것으로 보입니다. 질문 Q-32596fba68253958 (열림)
  2. 서비스 제공: 애플리케이션이 Offer()를 호출합니다 [SWS_DM_00638]. Diagnostic Management가 수신 DID 요청의 전달을 활성화합니다.
  3. 요청 처리:
    • 읽기 요청이 수신되면 DM은 Read(dataIdentifier, metaInfo, cancellationHandler) 메서드를 호출합니다 [SWS_DM_00636]. 애플리케이션은 전달된 16비트 식별자를 확인하고 ara::core::Future<OperationOutput>를 비동기식으로 반환합니다.
    • 쓰기 요청이 도착하면 DM은 Write(dataIdentifier, requestData, metaInfo, cancellationHandler)를 호출합니다 [SWS_DM_00637]. requestData의 페이로드는 연결된 Promise가 충족되거나 처리가 취소될 때까지 유효하게 유지됩니다.
  4. 취소 확인: 장시간 실행되는 작업 동안 핸들러는 cancellationHandler.IsCanceled()를 통해 대화가 취소되었는지 확인하거나 cancellationHandler.SetNotifier를 통해 알림 함수를 등록할 수 있습니다 [SWS_DM_00636], [SWS_DM_00637].
  5. 서비스 등록 취소: 핸들러를 종료하기 전에 애플리케이션은 StopOffer()를 호출하며 [SWS_DM_00639], 이를 통해 DM은 전달을 중지합니다.
일반 판독 요청 흐름DiagnosetesterDiagnostic ManagementGenericDataIdentifierUse Case: DienstregistrierungOffer()Result<void> (Erfolg)Use Case: Leseanforderung (UDS 0x22)ReadDataByIdentifierRead(dataIdentifier, metaInfo, cancellationHandler)altDaten erfolgreich ermitteltOperationOutput을 포함한 Future데이터를 포함한 긍정 UDS 응답Fehlerfall / NRCDiagUdsNrcErrc가 포함된 FutureNegative UDS-Antwort (NRC)

시퀀스 다이어그램: UDS 읽기 요청 시 외부 테스터, Diagnostic Management 및 GenericDataIdentifier 간의 상호 작용. 출처: [SWS_DM_00638], [SWS_DM_00636]

오류 시나리오

오류는 상호 작용의 서로 다른 단계에서 발생할 수 있습니다:

  • 구성 및 매핑 위반: 모델에서 InstanceSpecifier를 확인할 수 없거나 PortPrototype를 참조하지 않는 경우 InstanceSpecifierMappingIntegrityViolation가 발생합니다 [SWS_DM_00634]. DiagnosticDataPortMapping에 대한 할당이 누락된 경우 PortInterfaceMappingViolation가 발생합니다 [SWS_DM_00634]. 프로세스 매핑 누락은 ProcessMappingViolation를 생성하고, 이미 사용 중인 InstanceSpecifier는 InstanceSpecifierAlreadyInUseViolation로 이어집니다 [SWS_DM_00634].
  • 다중 제공: 서비스가 이미 활발히 제공되고 있음에도 Offer()가 호출되는 경우, 메서드는 오류 코드 DiagOfferErrc::kAlreadyOffered를 포함하는 ara::core::Result를 반환합니다 [SWS_DM_00638].
  • 기능적 진단 오류: 읽기 또는 쓰기 요청을 기능적으로 처리할 수 없는 경우, 애플리케이션은 Future에서 성공 상태를 반환하지 않고 ISO 14229-1에 따라 DiagUdsNrcErrc를 통해 표준화된 UDS-NRC(Negative Response Code)를 반환합니다 [SWS_DM_00636], [SWS_DM_00637].

이 가이드는 AUTOSAR 사양 R25-11을 기반으로 하며 자동으로 생성되었습니다.

멤버 맵

클래스 다이어그램

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

G nara__diag__GenericDataIdentifier357 GenericDataIdentifier + GenericDataIdentifier() + operator=() + ~GenericDataIdentifier() + Offer() + Read() + StopOffer() + Write()

상세 보기

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

생성자 및 소멸자

Class for an GenericDataIdentifier.

오버로드 GenericDataIdentifier 3
explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept; SWS_DM_00634
GenericDataIdentifier (GenericDataIdentifier &)=delete; SWS_DM_01653
GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete; SWS_DM_01654

Destructor of class GenericDataIdentifier .

virtual ~GenericDataIdentifier () noexcept;

메서드

Offer 함수

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

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

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;
StopOffer 함수

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

void StopOffer () noexcept;
Write 함수

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

연산자

operator= 함수 2

GenericDataIdentifier shall be a single not assignable instance.

오버로드 = 2

중첩 타입

OperationOutput 클래스

메서드 문서

함수 GenericDataIdentifier [SWS_DM_00634] Upstream: RS_AP_00137, RS_Diag_04169, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept;

Class for an GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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 typed by a pingViolation DiagnosticDataIdentifierGenericInterface needs to be referenced by a DiagnosticDataPortMapping. 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 DiagnosticDataIdentifierGenericInterface.
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_00634
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00634@rel:R25-11#4cb3bdd3
Content hash
4cb3bdd3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00634
Status: valid/unmigrated Version: rel:R25-11#71f09e07 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_00634@rel:R25-11#71f09e07
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9d754b4c2026-09-30
  • R19-11rel:R19-11#281ed5b12026-10-14
  • R20-11rel:R20-11#c8b741432026-10-14
  • R21-11rel:R21-11#161554792026-10-14
  • R22-11rel:R22-11#55a5b7df2026-10-14
  • R23-11rel:R23-11#571dfcd62026-10-14
  • R24-11rel:R24-11#4a63e6522026-10-14
  • R25-11rel:R25-11#71f09e072026-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

함수 GenericDataIdentifier [SWS_DM_01653] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not copy-able instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01653
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01653@rel:R25-11#20ccb62b
Content hash
20ccb62b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01653
Status: valid/unmigrated Version: rel:R25-11#3de9089c 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_01653@rel:R25-11#3de9089c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#f309daca2026-09-30
  • R23-11rel:R23-11#ad3cab8a2026-10-14
  • R24-11rel:R24-11#d3cdff682026-10-14
  • R25-11rel:R25-11#3de9089c2026-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

함수 GenericDataIdentifier [SWS_DM_01654] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete;

Move constructor of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01654
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01654@rel:R25-11#fef78d6a
Content hash
fef78d6a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01654
Status: valid/unmigrated Version: rel:R25-11#8f08b1d5 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_01654@rel:R25-11#8f08b1d5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#11d817c52026-09-30
  • R23-11rel:R23-11#5421592e2026-10-14
  • R24-11rel:R24-11#8f08b1d52026-10-14
  • R25-11rel:R25-11#8f08b1d52026-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_00638] Upstream: RS_AP_00139, RS_AP_00119, RS_Diag_04169

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 · 온도: 제어 불가 · 프롬프트: 860e6bd15d7f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법: ara::diag::GenericDataIdentifier 클래스([SWS_DM_00638])의 동기 메서드 Offer은 Diagnostic Management(DM)에 일반 데이터 식별자 핸들러를 등록하는 데 사용됩니다. 이 호출을 통해 DM은 해당 데이터 식별자에 대한 수신 진단 요청(Request Messages)을 이 핸들러로 전달할 수 있는 권한을 부여받습니다([SWS_DM_00638]). 이 함수는 전달 매개변수를 받지 않으며 성공 또는 오류에 대한 정보를 제공하는 ara::core::Result<void>을 동기적으로 반환합니다([SWS_DM_00638]).

오류 처리: 이 메서드는 noexcept(으)로 선언되었으며 완전한 예외 안전성(exception safe)을 보장합니다([SWS_DM_00638]). 발생 가능한 오류는 ara::core::Result을 통해 보고됩니다. 핸들러가 이미 이전에 제공된 경우, 함수는 롤백 시맨틱과 함께 오류 코드 DiagOfferErrc::kAlreadyOffered을 반환합니다([SWS_DM_00638]). 이는 일반 오류 열거형 DiagErrc::kAlreadyOffered([SWS_DM_00514])에 해당합니다.

동시성 및 제한사항: 이 함수는 스레드 안전하지 않음(not thread-safe)으로 명시되어 있습니다([SWS_DM_00638]). 따라서 동일한 인스턴스에 대한 호출은 접근으로부터 보호되어야 합니다. GenericDataIdentifier에 대해 별도의 등록 취소 메서드가 지정되어 있지 않으므로, 서비스 제공은 핸들러 인스턴스의 수명에 결합되어 있을 것으로 추정됩니다(해석). 질문 Q-7c64a5bd308464a8 (열림)

상호작용: 이 절차는 Diagnostic Management의 일관된 제공 패턴을 따릅니다. 유형별 데이터 식별자([SWS_DM_00599]), 일반 루틴([SWS_DM_00557]) 및 일반 UDS 서비스([SWS_DM_00619])에 대해서도 유사한 인터페이스를 찾을 수 있습니다.

이 사용 지침은 AI 시스템에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00638
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00638@rel:R25-11#71c24de9
Content hash
71c24de9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00638
Status: valid/unmigrated Version: rel:R25-11#1ea7c5d4 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_00638@rel:R25-11#1ea7c5d4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d9e8c1292026-09-30
  • R19-11rel:R19-11#34f18c6b2026-10-14
  • R20-11rel:R20-11#f2c3beea2026-10-14
  • R21-11rel:R21-11#a7b6c9862026-10-14
  • R22-11rel:R22-11#533034aa2026-10-14
  • R23-11rel:R23-11#b980ade42026-10-14
  • R24-11rel:R24-11#198e42702026-10-14
  • R25-11rel:R25-11#1ea7c5d42026-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

함수 Read [SWS_DM_00636] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04172

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

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

사용

해당 데이터 식별자에 대한 ReadDataByIdentifier(UDS 0x22) 진단 요청이 수신되는 즉시 ara::diag::GenericDataIdentifier 클래스의 Read 메서드가 호출됩니다[SWS_DM_00636]. 함수는 매개변수로 숫자 식별자 dataIdentifier, 컨텍스트 metaInfo 및 cancellationHandler를 받습니다. 애플리케이션은 cancellationHandler을 통해 IsCanceled을 사용하여 취소 상태를 쿼리하거나 SetNotifier을 통해 취소된 대화에 대한 알림 함수를 등록할 수 있습니다[SWS_DM_00636]. 결과는 비동기적으로 ara::core::Future<OperationOutput>을 통해 제공되며, 성공 시 페이로드(OperationOutput)를 반환합니다[SWS_DM_00636].

오류 처리

오류가 발생하면 Future은 DiagUdsNrcErrc [SWS_DM_00636]을 통해 ISO 14229-1에 따른 UDS 부정 반환 값(NRC)을 반환합니다. 인터페이스가 offer()을 통해 아직 제공되지 않았거나 더 이상 제공되지 않는 경우, Diagnostic Management(DM)은 NRC 0x94(ResourceTemporarilyNotAvailable)로 자체적으로 응답합니다[SWS_DM_01257]. 구성된 Response Pending 메시지 한계에 도달하면 서버는 처리를 중단하고 NRC 0x10(generalReject)으로 응답합니다[SWS_DM_00369].

동시성 및 상호 작용

이 메서드는 noexcept(으)로 선언되었으며 예외 안전합니다[SWS_DM_00636]. 해당 스레드 안전성은 조건부입니다. 구현이 스레드 안전해야 하는지 여부는 생성자에서 전달된 ConcurrencyType을 통해 제어됩니다[SWS_DM_00636]. readWrite이 kConcurrent(으)로 설정된 경우 DM은 읽기 및 쓰기 접근을 동시에 시작할 수 있으며, 그렇지 않은 경우(kNotConcurrent) 호출은 순차적으로 수행됩니다[SWS_DM_00939]. [SWS_DM_00640]과 같은 특정 인터페이스와 달리 GenericDataIdentifier은 전달된 ID를 통해 일반 DID 범위를 유연하게 처리합니다[SWS_DM_00636].

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

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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
dataIdentifierthe corresponding DataIdentifier
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<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message).

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_00636
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00636@rel:R25-11#793674f4
Content hash
793674f4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00636
Status: valid/unmigrated Version: rel:R25-11#cfd80198 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_00636@rel:R25-11#cfd80198
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#339b63522026-09-30
  • R19-11rel:R19-11#f8a15c312026-10-14
  • R20-11rel:R20-11#5e9a44792026-10-14
  • R21-11rel:R21-11#34887de02026-10-14
  • R22-11rel:R22-11#91d437d52026-10-14
  • R23-11rel:R23-11#6625968e2026-10-14
  • R24-11rel:R24-11#430ea0f32026-10-14
  • R25-11rel:R25-11#cfd801982026-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_00639] Upstream: RS_Diag_04169

void StopOffer () noexcept;

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

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

사용법 및 호출 컨텍스트

ara::diag::GenericDataIdentifier 클래스의 멤버 함수 StopOffer은(는) Diagnostic Management(DM)로부터 수신되는 요청 메시지를 해당 인스턴스로 전달하는 것을 비활성화하는 데 사용됩니다[SWS_DM_00639]. 호출은 헤더 파일 #include "ara/diag/generic_data_identifier.h"의 인터페이스를 통해 동기식으로 수행됩니다[SWS_DM_00639]. 이 함수는 void StopOffer() noexcept; 시그니처를 가지며 전달 매개변수를 받지 않고 반환값을 반환하지 않습니다[SWS_DM_00639].

오류 처리 및 동시성

사양은 StopOffer을(를) 예외 안전(exception safe)(으)로 정의하며 식별자 noexcept을(를) 통해 예외가 발생하지 않음을 보장합니다[SWS_DM_00639]. 이 연산에 대해서는 특정 오류 코드, 오류 반응 또는 DET나 DEM에 대한 메시지가 예정되어 있지 않습니다. 동시성과 관련하여 이 메서드는 스레드 안전하지 않음(not thread-safe)(으)로 분류되어 있습니다[SWS_DM_00639]. 따라서 동일한 인스턴스에 대한 병렬 호출은 호출자에 의해 동기화되어야 합니다. 해석: Diagnostic Management에서 이미 시작된 요청은 전달이 최종 중단되기 전에 여전히 정상적으로 처리될 것으로 보입니다. 질문 Q-94a464dc832c055c (열림)

진단 모듈 내 상호작용

서비스 제공 취소 패턴은 진단 모듈에서 표준화되어 일관되게 사용됩니다. 유사한 StopOffer 메서드는 특히 다음에 대해 존재합니다:

이 사용 지침은 사양 데이터를 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00639
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00639@rel:R25-11#e88d12aa
Content hash
e88d12aa
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00639
Status: valid/unmigrated Version: rel:R25-11#9225c34d 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_00639@rel:R25-11#9225c34d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0466e7b52026-09-30
  • R19-11rel:R19-11#e360cf692026-10-14
  • R20-11rel:R20-11#1bc0f5cd2026-10-14
  • R21-11rel:R21-11#3b09d7582026-10-14
  • R22-11rel:R22-11#77376b4a2026-10-14
  • R23-11rel:R23-11#6009f72f2026-10-14
  • R24-11rel:R24-11#d3d4a13c2026-10-14
  • R25-11rel:R25-11#9225c34d2026-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

함수 Write [SWS_DM_00637] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

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

서비스 WriteDataByIdentifier(0x2E)의 UDS 요청이 수신되는 즉시 Diagnostic Management에 의해 ara::diag::GenericDataIdentifier 클래스의 Write 메서드가 호출됩니다[SWS_DM_00637]. 호출을 위한 전제 조건은 요청된 데이터 식별자가 지원되고 해당 진단 세션 및 보안 레벨이 실행을 허용하는 것입니다[SWS_DM_00186], [SWS_DM_00415], [SWS_DM_00416].

호출은 다음 매개변수와 함께 수행됩니다[SWS_DM_00637]:

  • dataIdentifier: 작성할 데이터 식별자의 16비트 식별자입니다.
  • requestData: DID 접두사가 없는 요청의 원시 데이터를 포함하는 ara::core::Span입니다. 버퍼는 연결된 Promise가 이행되거나 처리가 취소될 때까지 유효하게 유지됩니다.
  • metaInfo: 진단 요청에 대한 추가 메타데이터입니다.
  • cancellationHandler: IsCanceled을 통한 대화의 조기 취소 모니터링 및 SetNotifier을 통한 취소 알림 등록에 사용됩니다.

실행은 비동기식으로 이루어지며 ara::core::Future<void>을 반환합니다[SWS_DM_00637]. 처리에 성공하면 긍정 응답 메시지를 위해 Promise가 void(으)로 이행됩니다. 오류가 발생하는 경우 DiagUdsNrcErrc을 통해 ISO 14229-1에 따른 적절한 UDS 부정 반환 값(NRC)으로 Future를 완료해야 합니다[SWS_DM_00637]. 이 메서드는 noexcept(으)로 선언되었으며 예외 안전하게 구현되어야 합니다[SWS_DM_00637].

동시성과 관련하여 스레드 안전성은 조건부입니다. Write을 스레드 안전하게 구현해야 하는지 여부는 인스턴스화 시 생성자에서 전달된 ConcurrencyType에 따라 달라집니다[SWS_DM_00637]. 읽기 및 쓰기 접근의 병렬 실행은 readWrite 플래그를 통해 제어됩니다[SWS_DM_00939].

이 텍스트는 AI에 의해 작성되었습니다. 모든 정보는 오직 릴리스 R25-11의 사양에만 기반합니다.

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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
dataIdentifierthe corresponding DataIdentifier
requestDataContent of request message (without DataIdentifier). 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< void >A Future with either void (for a positive response message) or an UDS NRC value (for a negative response message).

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_00637
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00637@rel:R25-11#6610a702
Content hash
6610a702
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00637
Status: valid/unmigrated Version: rel:R25-11#b7a94afa 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_00637@rel:R25-11#b7a94afa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#889963442026-09-30
  • R19-11rel:R19-11#8d85d1592026-10-14
  • R20-11rel:R20-11#701ab1d02026-10-14
  • R21-11rel:R21-11#10093f0c2026-10-14
  • R22-11rel:R22-11#9b15c55f2026-10-14
  • R23-11rel:R23-11#a7e012442026-10-14
  • R24-11rel:R24-11#9c761e5e2026-10-14
  • R25-11rel:R25-11#b7a94afa2026-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_01651] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not assignable instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01651
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01651@rel:R25-11#2b4f4951
Content hash
2b4f4951
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01651
Status: valid/unmigrated Version: rel:R25-11#9b814f4a 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_01651@rel:R25-11#9b814f4a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#0a92f77c2026-09-30
  • R23-11rel:R23-11#1cfb26532026-10-14
  • R24-11rel:R24-11#211cc0882026-10-14
  • R25-11rel:R25-11#9b814f4a2026-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_01652] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &&)=delete;

Move assignment operator of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01652
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01652@rel:R25-11#8eef640f
Content hash
8eef640f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01652
Status: valid/unmigrated Version: rel:R25-11#7c21b544 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_01652@rel:R25-11#7c21b544
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5c58a4142026-09-30
  • R23-11rel:R23-11#1428a6912026-10-14
  • R24-11rel:R24-11#7c21b5442026-10-14
  • R25-11rel:R25-11#7c21b5442026-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

함수 ~GenericDataIdentifier [SWS_DM_00635] Upstream: RS_AP_00134, RS_Diag_04169

virtual ~GenericDataIdentifier () noexcept;

Destructor of class GenericDataIdentifier .

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00635
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00635@rel:R25-11#112434e2
Content hash
112434e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00635
Status: valid/unmigrated Version: rel:R25-11#fc24e0db 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_00635@rel:R25-11#fc24e0db
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#882197f52026-09-30
  • R19-11rel:R19-11#ae023e7c2026-10-14
  • R20-11rel:R20-11#6892d8702026-10-14
  • R21-11rel:R21-11#cf811fb72026-10-14
  • R22-11rel:R22-11#0ec9aa792026-10-14
  • R23-11rel:R23-11#924c98d82026-10-14
  • R24-11rel:R24-11#fc24e0db2026-10-14
  • R25-11rel:R25-11#fc24e0db2026-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