DEENESPTFRRUARHIKOZHNL

클래스 <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

[SWS_DM_02146] Upstream: RS_Diag_04169

class <ExtendedDataRecordElementInterface> {...};

DiagnosticExtendedDataRecordInterface class

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Forwarding-Header#include "<ExtendedDataRecordElementShortname>/_fwd.h"
Scopenamespace <ExtendedDataRecord-Namespace>

사용자 가이드AI 생성

적응형 Diagnostic Management를 위한 애플리케이션 측 확장 진단 데이터 제공에 사용됩니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 0446a63ad449 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

적응형 Diagnostic Management를 위한 애플리케이션 측 확장 진단 데이터 제공에 사용됩니다.

클래스 <ExtendedDataRecordElementInterface>은 적응형 애플리케이션이 Diagnostic Management([SWS_DM_02152])에 확장 진단 데이터를 제공하기 위한 인터페이스 역할을 합니다. 인스턴스화 및 Offer()를 통한 활성화 후, 핸들러는 순수 가상 메서드 Read()을 통해 비동기 데이터 제공을 구현합니다([SWS_DM_02156]). Diagnostic Manager는 데이터 레코드를 비휘발성 메모리에 영구적으로 저장하므로, 사용할 수 없는 값은 반드시 채우기 패턴으로 채워져야 합니다. 인터페이스는 복사 및 이동이 불가능하며 소멸자는 스레드 안전하지 않습니다.

컨텍스트

인터페이스 <ExtendedDataRecordElementInterface>은 AUTOSAR Adaptive Platform의 진단 서브시스템에서 Diagnostic Management(DM)(AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”)에 애플리케이션별 확장 진단 데이터(Extended Data Records)를 제공하는 역할을 합니다. Extended Data Record에는 오류 이벤트에 할당된 카운터 판독값 또는 환경 정보와 같은 진단 관련 추가 데이터가 포함됩니다. 이 클래스는 애플리케이션 측 핸들러 컴포넌트를 위한 추상 기본 인터페이스 역할을 합니다. 상호작용 파트너에는 읽기 작업을 요청하고 조정하는 Diagnostic Manager(DM), 애플리케이션 내의 구체적인 핸들러 구현, 그리고 DM이 검색된 데이터를 영구적으로 저장하는 비휘발성 메모리(Non-Volatile Memory, NVM)가 포함됩니다([SWS_DM_02156]). Interpretation: Read() 호출은 예를 들어 오류 이벤트 발생 시 또는 진단 문제 코드의 상태 변경 시 DM 내부 진단 처리에 의해 시작되는 것으로 추정됩니다. 질문 Q-f80be8c2bd5697fc (열림)

Context Handler ExtendedDataRecordElementInterface (Anwendungs-Handler) DM Diagnostic Management (DM) Handler->DM Offer() / StopOffer() DM->Handler Read(metaInfo, cancellationHandler) NVM 비휘발성 메모리 (NVM) DM->NVM Persistierung

컨텍스트 다이어그램: 애플리케이션 핸들러, Diagnostic Management 및 비휘발성 메모리 간의 상호작용. 출처: [SWS_DM_02152], [SWS_DM_02156], AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”

수명 주기

생성은 ara::core::InstanceSpecifier 및 동시성 모드 ara::diag::ConcurrencyType을 지정하여 매개변수화된 생성자를 통해 수행됩니다([SWS_DM_02158], AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”). 생성은 스레드 안전하고 예외 안전(exception safe)합니다. 매개변수 concurrencyType를 통해 인터페이스 호출이 동시(kConcurrent) 또는 순차적(kNotConcurrent)으로 처리될 수 있는지 여부가 지정됩니다([SWS_DM_02158]). 복사 및 이동 작업은 완전히 차단됩니다. 즉, 복사 생성자([SWS_DM_02147]), 복사 할당([SWS_DM_02148]), 이동 생성자([SWS_DM_02149]) 및 이동 할당([SWS_DM_02150])이 삭제되었습니다(=delete). 따라서 인스턴스는 고정된 식별성을 가지며 복제되거나 전송될 수 없습니다.

인스턴스화 후 객체는 처음에 비활성 상태에 있습니다. Offer()([SWS_DM_02152])을 호출해야만 서비스가 활성화되고 DM이 핸들러로 요청을 전달합니다. StopOffer()([SWS_DM_02153])를 사용하여 언제든지 이 전달을 중지할 수 있습니다. 소멸은 가상 소멸자 ~<ExtendedDataRecordElementInterface>()([SWS_DM_02151])를 통해 수행됩니다. 이는 예외 안전하지만 명시적으로 스레드 안전하지 않습니다(not thread-safe)([SWS_DM_02151]). Interpretation: 객체가 해제되는 동안 더 이상 요청이 들어오지 않도록 보장하기 위해 핸들러 객체를 파괴하기 전에 StopOffer()을 호출해야 할 것으로 보입니다. 질문 Q-c77dda63f0e8798a (열림)

사용 경로

일반적인 흐름에는 제공, 읽기 요청에 대한 비동기 응답, 서비스 비활성화가 포함됩니다:

  • 초기화: 애플리케이션은 적절한 포트 식별자 및 동시성 구성([SWS_DM_02158])을 사용하여 파생 클래스를 인스턴스화합니다.
  • 서비스 제공: Offer() 호출을 통해 DM 내 요청 포워딩이 활성화됩니다([SWS_DM_02152]). 이 메서드는 ara::core::Result<void>을(를) 반환합니다.
  • 데이터 조회: 읽기 요청이 수신되면 DM은 순수 가상 메서드 Read()을(를) 호출합니다([SWS_DM_02156]). 이때 요청 메타데이터(metaInfo)와 cancellationHandler이(가) 전달됩니다.
  • 취소 처리 및 반환: 핸들러는 cancellationHandler.IsCanceled()을(를) 통해 대화가 취소되었는지 확인하거나 cancellationHandler.SetNotifier()을(를) 통해 알림을 등록할 수 있습니다([SWS_DM_02156]). 결과는 ReadOutput 객체를 포함하는 ara::core::Future을(를) 통해 비동기식으로 전달됩니다([SWS_DM_02156], [SWS_DM_02154]).
  • 영속화: DM은 조회된 데이터를 인수하여 비휘발성 메모리에 영구 저장합니다([SWS_DM_02156]).
  • 서비스 등록 해제: 인스턴스가 파괴되기 전([SWS_DM_02151]), 애플리케이션은 셧다운 전에 StopOffer()을(를) 호출하여([SWS_DM_02153]) DM에 의한 포워딩을 종료합니다.
Extended Data Record의 제공 및 읽기 흐름애플리케이션HandlerDMNVMUse Case: 초기화 및 서비스 등록Konstruktion(instanceSpec, concurrencyType)Offer()Registrierung aktivierenResult<void>Use Case: DiagnoseabfrageRead(metaInfo, cancellationHandler)데이터 확인 / 0xFF 채우기 패턴Future<ReadOutput>레코드 데이터의 영속화Use Case: DienstabmeldungStopOffer()Weiterleitung deaktivieren

시퀀스 다이어그램: 데이터 제공 및 조회의 전형적인 흐름. 출처: [SWS_DM_02152], [SWS_DM_02153], [SWS_DM_02156], [SWS_DM_02158]

오류 시나리오

인터페이스를 사용할 때는 여러 오류 조건과 사전 조건을 고려해야 합니다:

  • 생성 오류 및 모델 위반: 생성자 호출 시 모델링 오류가 발생할 수 있습니다([SWS_DM_02158]). 여기에는 InstanceSpecifierMappingIntegrityViolation(식별자를 확인할 수 없거나 PortPrototype을(를) 참조하지 않음), PortInterfaceMappingViolation(DiagnosticDataPortMapping에 의한 참조 누락), ProcessMappingViolation(모델에서 일치하는 프로세스를 찾을 수 없음), InstanceSpecifierAlreadyInUseViolation(해당 식별자가 프로세스에서 이미 사용 중임)이 포함됩니다([SWS_DM_02158]).
  • 중복 제공: 서비스가 이미 활발히 제공되고 있을 때 Offer()을(를) 호출하면 호출이 실패하고 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 반환합니다([SWS_DM_02152]).
  • 읽기 요청 시 데이터를 사용할 수 없음: DM은 데이터를 비휘발성 메모리에 저장하므로 Read() 호출 시 반드시 값이 반환되어야 합니다([SWS_DM_02156]). 조회 시점에 데이터를 사용할 수 없는 경우, 핸들러 구현은 이를 0xFF와(과) 같은 정의된 채움 패턴으로 채워야 합니다([SWS_DM_02156]).
  • 애플리케이션 및 진단 오류: 데이터 제공이 완전히 실패한 경우, 반환된 ara::core::Future에는 해당 진단 NRC 오류 코드(DiagUdsNrcErrc) 또는 애플리케이션별 오류(ApApplicationError)가 포함될 수 있습니다([SWS_DM_02156]).
  • 소멸 시 위험: 소멸자는 스레드 안전하지 않으므로([SWS_DM_02151]), 병렬 호출이 진행되는 동안 또는 사전 StopOffer() 없이([SWS_DM_02153]) 객체를 파괴하면 정의되지 않은 동작이 발생합니다.

이 가이드는 AUTOSAR R25-11 사양을 기반으로 AI에 의해 생성되었습니다.

멤버 맵

클래스 다이어그램

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

G n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface_765 <ExtendedDataRecordElementInterface> + <ExtendedDataRecordElementOutArg> + Offer() + Read() + StopOffer() + operator=() + <ExtendedDataRecordElementInterface>() + ~<ExtendedDataRecordElementInterface>()

상세 보기

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

메서드

Copy constructor deletion

오버로드 <ExtendedDataRecordElementInterface> 3
<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete; SWS_DM_02147
<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete; SWS_DM_02149
<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_02158
Offer 함수

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

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

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

virtual ara::core::Future< <ExtendedDataRecordElement>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;
StopOffer 함수

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;

Destruction of a DataElement

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

연산자

operator= 함수 2

Copy assignment constructor deletion

오버로드 = 2
<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete; SWS_DM_02148
<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete; SWS_DM_02150

상수

Member declaration representing an out argument in an Output.

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

중첩 타입

메서드 문서

함수 <ExtendedDataRecordElementInterface> [SWS_DM_02147] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete;

Copy constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02147@rel:R25-11#222a05de
Content hash
222a05de
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02147
Status: valid/unmigrated Version: rel:R25-11#b778fd1a Versionshistorie & Revisions (1 transition)
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_02147@rel:R25-11#b778fd1a
Point-in-Time History:
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

함수 <ExtendedDataRecordElementInterface> [SWS_DM_02149] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete;

Move constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02149@rel:R25-11#a721aada
Content hash
a721aada
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02149
Status: valid/unmigrated Version: rel:R25-11#922c09b0 Versionshistorie & Revisions (1 transition)
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_02149@rel:R25-11#922c09b0
Point-in-Time History:
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

함수 <ExtendedDataRecordElementInterface> [SWS_DM_02158] Upstream: RS_AP_00137

<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

Construct a DataElement from an ara::core::InstanceSpecifier

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

사용법 및 호출 컨텍스트

함수 <ExtendedDataRecordElementInterface>은 ara::core::InstanceSpecifier를 기반으로 확장 데이터 레코드 인터페이스용 DataElement을 생성하기 위한 생성자 역할을 합니다 [SWS_DM_02158]. 선언은 네임스페이스 <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>에 위치하며 헤더 파일 #include "<ExtendedDataRecordElementShortname>.h"의 포함을 필요로 합니다 AUTOSAR_AP_SWS_Diagnostics §8.49.2.2.1.6.

동기 호출에는 두 개의 입력 매개변수가 필요합니다 [SWS_DM_02158]:

  • instanceSpec (ara::core::InstanceSpecifier): AUTOSAR 모델 내 구체적인 서비스 인스턴스의 식별자.
  • concurrencyType (ara::diag::ConcurrencyType): 인터페이스가 스레드 안전(kConcurrent)으로 인스턴스화되는지 또는 비-스레드 안전(kNotConcurrent)으로 인스턴스화되는지 여부를 결정합니다.

동시성 및 오류 안전성

생성자 함수 자체는 noexcept으로 선언되어 있으며 thread-safe 및 exception safe로 명시되어 있습니다 [SWS_DM_02158]. Interpretation: 함수가 noexcept로 정의되어 있으므로, 모델링 및 초기화 오류는 C++-Exceptions를 통해서가 아니라 Adaptive 프레임워크에 정의된 Violations를 통해 신호될 것으로 보입니다 [SWS_DM_02158]. 질문 Q-9ce91764c3e8364e (열림)

오류 처리 및 모델 위반

잘못된 모델 구성 또는 유효하지 않은 식별자가 있는 경우 특정한 위반이 발생합니다[SWS_DM_02158]:

  • InstanceSpecifierMappingIntegrityViolation: 프로세스 컨텍스트에서 식별자를 확인할 수 없거나 PortPrototype을(를) 가리키지 않습니다.
  • PortInterfaceMappingViolation: DiagnosticExtendedDataRecordInterface(으)로 유형화된 PortPrototype이(가) DiagnosticDataPortMapping에 의해 참조되지 않습니다.
  • ProcessMappingViolation: 일치하는 InstanceRef이(가) 존재하지만, 런타임 프로세스에 대해 일치하는 모델링된 프로세스를 찾을 수 없습니다.
  • InstanceSpecifierAlreadyInUseViolation: 프로세스에서 이미 사용 중인 InstanceSpecifier(으)로 생성자가 호출되었습니다.

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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 DiagnosticExtendedDataRecordInterface 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
instanceSpecThe specifier of a specific instance of a service.
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_02158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02158@rel:R25-11#e486d400
Content hash
e486d400
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02158
Status: valid/unmigrated Version: rel:R25-11#dc93a230 Versionshistorie & Revisions (1 transition)
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_02158@rel:R25-11#dc93a230
Point-in-Time History:
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_02152] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

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

함수 Offer은 Diagnostic Management Daemon(DM)에 의한 해당 핸들러 인스턴스로의 진단 요청 전달을 활성화합니다 [SWS_DM_02152]. 매개변수 없이 호출되며 noexcept으로 선언되고 exception-safe로 명시된 ara::core::Result<void>을 동기식으로 반환합니다 [SWS_DM_02152].

올바른 사용 및 오류 처리를 위해 다음과 같은 규정이 적용됩니다:

  • 반환값 및 오류: 성공 시 결과에는 비어 있는 값이 포함됩니다. 이 핸들러 인스턴스에 대해 서비스가 이전에 이미 등록된 경우 호출은 실패하고 롤백 시맨틱과 함께 오류 코드 DiagOfferErrc::kAlreadyOffered을 반환합니다 [SWS_DM_02152]. 관련 오류 도메인도 이 상태에 대해 오류 코드 kAlreadyOffered를 정의합니다 [SWS_DM_00514] [SWS_DM_00560].
  • 동시성: 흔히 스레드 안전하지 않은 것으로 명시되는 다른 진단 핸들러(예: [SWS_DM_00557]에서와 같음)와 달리, 이 메서드는 명시적으로 thread-safe로 정의되어 있습니다 [SWS_DM_02152].
  • 시스템 내 상호 작용: 인터페이스가 애플리케이션에 의해 아직 Offer을 통해 제공되지 않은 동안에는 DM이 컨텍스트에 따라 DoIP PowerMode 질의 시의 “Not ready” 상태 [SWS_DM_01525] 또는 그룹 식별자에 대한 대체값 [SWS_DM_01527]과 같은 정의된 표준값 또는 대체값으로 응답합니다. 또한 사양에서는 진단 제공 기능이 ara::diag에 고유하며 ara::com::Offer와 혼동해서는 안 된다는 점을 강조합니다 AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”.

Interpretation: Offer의 동기식 응답 동작은 후속 UDS 요청을 수신하기 전에 핸들러 등록이 완전히 완료되도록 보장할 것으로 보입니다. 질문 Q-e6b2916cf4887164 (열림)

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: diag::DiagOfferErrc

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_02152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02152@rel:R25-11#9e4181d9
Content hash
9e4181d9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02152
Status: valid/unmigrated Version: rel:R25-11#98647892 Versionshistorie & Revisions (1 transition)
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_02152@rel:R25-11#98647892
Point-in-Time History:
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_02156] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< <ExtendedDataRecordElement>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

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

사용법 및 의미론

순수 가상 메서드 Read은(는) 애플리케이션에서 ExtendedDataRecordElement의 데이터를 가져오기 위해 Diagnostic Management (DM)에 의해 호출됩니다([SWS_DM_02156]). DM은 가져온 데이터를 비휘발성 메모리에 영구 저장하므로 메서드는 항상 값을 제공해야 합니다. 호출 시점에 데이터를 사용할 수 없는 경우 구현 시 0xFF과(와) 같은 채움 패턴으로 채워야 합니다([SWS_DM_02156]).

실행은 비동기식으로 이루어지며, 성공 시 ReadOutput 구조체를 캡슐화하는 ara::core::Future을(를) 반환합니다([SWS_DM_02154]). 호출 시 다음 매개변수가 전달됩니다([SWS_DM_02156]):

  • metaInfo: 기본 진단 요청의 메타 정보를 전달합니다.
  • cancellationHandler: cancellationHandler.IsCanceled()을(를) 통한 중단 쿼리 및 cancellationHandler.SetNotifier()을(를) 통한 알림 함수 등록을 가능하게 합니다.

오류 처리

오류가 발생할 경우 Future은(는) UDS 부정 응답 코드(DiagUdsNrcErrc) 또는 애플리케이션별 오류(ApApplicationError)를 제공합니다([SWS_DM_02156], AUTOSAR_AP_SWS_Diagnostics §7.3.2.6.1 “NRCs created by application”). 필요한 서비스 인터페이스가 아직 제공되지 않았거나 offer()을(를) 통해 더 이상 제공되지 않는 경우 DM은 NRC 0x94(ResourceTemporarilyNotAvailable)(으)로 응답합니다([SWS_DM_01257]). 또한 DiagOfferErrc::kAlreadyOffered은(는) 서비스가 이미 제공되고 있는 경우 이를 보고합니다([SWS_DM_02156]).

동시성 및 상호 작용

이 메서드는 예외 안전(exception safe)으로 명시되어 있습니다([SWS_DM_02156]). 스레드 안전성은 조건부이며 구현 정의(implementation defined)입니다([SWS_DM_02156]). 이는 확장 데이터 레코드(Extended-Data-Records)를 위한 Read을(를) 명시적으로 스레드 안전하지 않은 일반 데이터 요소([SWS_DM_00596]) 또는 데이터 식별자([SWS_DM_00640])의 읽기 연산과 구분 짓습니다.

이 텍스트는 릴리스 R25-11의 사양을 기반으로 AI 시스템에 의해 생성되었습니다.

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitconditional Thread safety is implementation defined

Parameter (in)

ParameterBeschreibung
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< {<extended-data-record-element-name-upper-camel> }ReadOutput >• If successful: an ara::core::Future containing an ReadOutput object as per [SWS_DM_02154] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

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_02156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02156@rel:R25-11#241e447e
Content hash
241e447e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02156
Status: valid/unmigrated Version: rel:R25-11#29b32782 Versionshistorie & Revisions (1 transition)
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_02156@rel:R25-11#29b32782
Point-in-Time History:
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_02153] 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 · 온도: 제어 불가 · 프롬프트: 7a0fc3b7b561 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 StopOffer은 헤더 #include "<ExtendedDataRecordElementShortname>.h"를 통해 포함되는 확장 데이터 레코드 인터페이스(<ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>)의 인스턴스에서 호출됩니다 [SWS_DM_02153]. 호출은 동기식으로 이루어지며, 매개변수를 받지 않고 반환값이 없습니다(void).

메서드의 목적은 Diagnostic Management(DM)로부터의 수신 요청 메시지가 각 Extended-Data-Record 요소로 전달되는 것을 비활성화하는 것입니다 [SWS_DM_02153]. 실행 후 DM은 관련 핸들러로 더 이상 새로운 진단 요청을 전달하지 않습니다.

오류 처리 및 동시성

함수는 식별자 noexcept으로 선언되어 있으며 예외 안전(exception safe)으로 명시되어 있습니다 [SWS_DM_02153]. 페이로드에는 특정한 오류 코드, 반환값 또는 오류 모니터링 알림이 정의되어 있지 않으며, 오류 시 Exceptions가 발생하지 않습니다.

동시성과 관련하여 이 메서드는 명시적으로 스레드 안전(thread-safe)으로 분류되어 있습니다 [SWS_DM_02153]. 이는 ara::diag 내의 관련 StopOffer 인터페이스(예: 루틴 [SWS_DM_00558], 데이터 요소 [SWS_DM_00617] 또는 모니터 [SWS_DM_01089]용)가 스레드 안전하지 않은 것으로 명시되어 있다는 점에서 특수한 경우입니다. 이미 처리 중인 요청은 vermutlich 최종 중지 전에 완료되거나 폐기될 것으로 보입니다. 질문 Q-82e9d44f8ac1969d (열림)

Diagnostic Management에서의 상호작용

명명법은 기능 단위가 Offer 및 StopOffer을 통해 가용성을 제어하는 AUTOSAR Adaptive의 통일된 서비스 패턴을 따릅니다 AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”. 이 요소는 일반 UDS 서비스 [SWS_DM_00620], 데이터 식별자 [SWS_DM_00600], 보안 액세스 [SWS_DM_00767] 또는 ECU 리셋 요청 [SWS_DM_01017] 등과 같은 DM의 비교 가능한 인터페이스들과 궤를 같이합니다.

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_02153
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02153@rel:R25-11#f1e7015f
Content hash
f1e7015f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02153
Status: valid/unmigrated Version: rel:R25-11#0c3fd27f Versionshistorie & Revisions (1 transition)
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_02153@rel:R25-11#0c3fd27f
Point-in-Time History:
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_02148] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete;

Copy assignment constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02148@rel:R25-11#c7230fd2
Content hash
c7230fd2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02148
Status: valid/unmigrated Version: rel:R25-11#085b2936 Versionshistorie & Revisions (1 transition)
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_02148@rel:R25-11#085b2936
Point-in-Time History:
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_02150] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete;

Move assignment constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02150@rel:R25-11#76391558
Content hash
76391558
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02150
Status: valid/unmigrated Version: rel:R25-11#19edc7c0 Versionshistorie & Revisions (1 transition)
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_02150@rel:R25-11#19edc7c0
Point-in-Time History:
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

함수 ~<ExtendedDataRecordElementInterface> [SWS_DM_02151] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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_02151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02151@rel:R25-11#dc29c22f
Content hash
dc29c22f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02151
Status: valid/unmigrated Version: rel:R25-11#31ab9402 Versionshistorie & Revisions (1 transition)
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_02151@rel:R25-11#31ab9402
Point-in-Time History:
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

상수 / 변수 문서

변수 <ExtendedDataRecordElementOutArg> [SWS_DM_02155] Upstream: RS_Diag_04224, RS_Diag_04169

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Symbol<ExtendedDataRecordElementOutArg>
Typ<ExtendedDataRecordElementOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_02155
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02155@rel:R25-11#1b8b638b
Content hash
1b8b638b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02155
Status: valid/unmigrated Version: rel:R25-11#db27b360 Versionshistorie & Revisions (1 transition)
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_02155@rel:R25-11#db27b360
Point-in-Time History:
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