DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::EcuResetRequest

[SWS_DM_01009] Upstream: RS_Diag_04169, RS_Diag_04279

class EcuResetRequest {...};

Service EcuReset Request interface.

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

사용자 가이드AI 생성

Diagnostic Management에서 애플리케이션이 UDS 제어기 리셋을 확인하고 실행하기 위한 인터페이스 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5b921e2dd86f 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

Diagnostic Management에서 애플리케이션이 UDS 제어기 리셋을 확인하고 실행하기 위한 인터페이스 역할을 합니다.

클래스 ara::diag::EcuResetRequest은 Diagnostic Management에서 UDS 리셋 서비스(Service 0x11)를 처리하기 위한 애플리케이션 인터페이스를 나타냅니다 AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. Offer()를 통해 활성화된 후 재부팅 확인 및 실행과 신속한 종료 제어를 위한 요청을 수신합니다([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). 인스턴스는 복사나 이동이 불가능하며 모든 메서드는 스레드 안전하지 않은 것으로 지정되어 있습니다([SWS_DM_01010], [SWS_DM_01621]).

컨텍스트

인터페이스 클래스 ara::diag::EcuResetRequest은 AUTOSAR Adaptive Platform에서 UDS 서비스 ECUReset(Service 0x11)을 처리하는 역할을 합니다 AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 “Service 0x11 – ECUReset – RapidPowerShutdown sub function”. 이를 통해 애플리케이션이 Diagnostic Management(DM)의 리셋 요청에 대한 핸들러 역할을 수행할 수 있습니다. 주요 작업에는 신속한 종료의 활성화 또는 비활성화([SWS_DM_01012]), 들어오는 리셋 요청 검사([SWS_DM_01013]), 그리고 실제 재부팅 실행([SWS_DM_01014])이 포함됩니다. 관련된 상호작용 파트너는 외부 진단 테스터, Diagnostic Management(DM 또는 Diagnostic Server) 인스턴스 및 EcuResetRequest의 애플리케이션 측 구현입니다.

EcuResetContext Tester Diagnosetester DM Diagnostic Management (DM) Tester->DM UDS Service 0x11 (ECUReset) Handler ara::diag::EcuResetRequest (Anwendungshandler) DM->Handler Offer / StopOffer EnableRapidShutdown RequestReset ExecuteReset

컨텍스트 다이어그램: 진단 테스터, Diagnostic Management(DM) 및 핸들러 애플리케이션 간의 상호작용. 출처: AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1, AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2, [SWS_DM_01010], [SWS_DM_01016].

수명 주기

EcuResetRequest의 인스턴스는 DiagnosticEcuResetInterface의 PortPrototype를 참조하는 ara::core::InstanceSpecifier을 지정하여 명시적 생성자를 통해 생성됩니다([SWS_DM_01010]). 설계 사양에 따라 이 클래스는 복사하거나 이동할 수 없습니다. 복사 및 이동 생성자([SWS_DM_01621], [SWS_DM_01622])와 해당 할당 연산자([SWS_DM_01619], [SWS_DM_01620])는 명시적으로 삭제되었습니다(=delete). 모든 인터페이스 메서드와 소멸자([SWS_DM_01011])는 not thread-safe로 지정되어 있습니다([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). 초기화 후 핸들러는 Offer()를 통해 등록이 명시적으로 활성화될 때까지 요청 전달이 발생하지 않는 상태에 있습니다([SWS_DM_01016]). StopOffer()을 호출하면 객체가 소멸되기 전에([SWS_DM_01011]) 요청 전달이 다시 비활성화됩니다([SWS_DM_01017]).

EcuResetLifecycle Init 초기화되지 않음 Instantiated 인스턴스화됨 (오퍼링되지 않음) Init->Instantiated EcuResetRequest(specifier) Offered Angeboten (Anfragen aktiv) Instantiated->Offered Offer() Destroyed 파괴됨 Instantiated->Destroyed ~EcuResetRequest() Offered->Instantiated StopOffer()

상태 다이어그램: EcuResetRequest 인스턴스의 라이프사이클 단계 및 등록 상태. 출처: [SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017], [SWS_DM_01011].

사용 경로

일반적인 사용 경로는 초기화, 릴리스 및 후속 진단 요청 처리로 구성됩니다:

  1. 인스턴스화 및 릴리스: 애플리케이션은 적절한 InstanceSpecifier을 사용하여 파생 클래스를 인스턴스화하고([SWS_DM_01010]), DM이 요청을 전달할 수 있도록 Offer()를 호출합니다([SWS_DM_01016]).
  2. 신속한 종료 제어: DM이 EnableRapidPowerShutdown 또는 DisableRapidPowerShutdown에 대한 UDS 요청을 수신하면 EnableRapidShutdown(enable, metaInfo, cancellationHandler)를 호출합니다([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). 긍정 응답 시 DM은 구성된 종료 시간 값을 응답에 삽입합니다(AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
  3. 리셋 요청: 다른 모든 UDS 리셋 하위 기능에 대해 DM은 메서드 RequestReset(resetType, id, metaInfo, cancellationHandler)을 호출합니다([SWS_DM_01013]). 인스턴스화 프로세스는 머신의 일부 또는 전체를 재부팅하는 것이 허용되는지 신중하게 확인해야 합니다([SWS_DM_01013]). cancellationHandler을 통해 중단 상태를 쿼리하거나 알리미를 등록할 수 있습니다([SWS_DM_01013]).
  4. 리셋 실행: 요청이 수락되고 리셋 전에 긍정 응답을 전송하도록 구성된 경우(respondBeforeReset 또는 존재하지 않음), Diagnostic Server는 긍정 UDS 응답을 전송한 후 ExecuteReset(metaInfo)을(를) 호출합니다(AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). 대신 respondAfterReset이(가) 구성된 경우, RequestReset()이(가) 오류를 보고하지 않았다면 재시작 후에야 긍정 응답이 반환됩니다(AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
  5. 서비스 등록 해제: 서비스 전달을 종료하기 위해 애플리케이션은 StopOffer()을(를) 호출합니다([SWS_DM_01017]).
리셋 요청 처리 (respondBeforeReset)TesterDMEcuResetRequestOffer()kSuccessUDS 0x11 ECUReset RequestRequestReset(resetType, id, metaInfo, handler)리셋 허용 여부 검사Future<void> bereit (Erfolg)Positive UDS Response (0x51)ExecuteReset(metaInfo)재시작 수행

시퀀스 다이어그램: 리셋 실행 전 확인 응답(respondBeforeReset)을 포함하는 EcuReset 요청 흐름. 출처: [SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023].

오류 시나리오

오류 발생 시 다양한 호출과 관련하여 다음 측면들을 고려해야 합니다:

  • 생성자 위반: 생성 시 모델 위반이 발생할 수 있으며, 여기에는 InstanceSpecifier이(가) 모델에서 확인될 수 없거나(InstanceSpecifierMappingIntegrityViolation), 잘못된 모델 요소를 가리키거나, 포트 매핑이 누락되었거나(PortInterfaceMappingViolation), 프로세스 참조가 없거나(ProcessMappingViolation), 또는 식별자가 프로세스 내에서 이미 사용 중인 경우(InstanceSpecifierAlreadyInUseViolation) 등이 포함됩니다([SWS_DM_01010]).
  • 등록 오류: 서비스가 이미 제공되고 있음에도 불구하고 Offer()이(가) 호출되면, 메서드는 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 포함하는 ara::core::Result을(를) 반환합니다([SWS_DM_01016]).
  • 진단 오류 코드(NRC): EnableRapidShutdown, RequestReset 또는 ExecuteReset이(가) 성공적으로 완료될 수 없는 경우, 해당 반환 Future는 DiagUdsNrcErrc을(를) 통해 적절한 ISO 14229-1 Negative Response Code(NRC)를 포함하는 오류를 반환합니다([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). 주의할 점: respondToReset이(가) respondBeforeReset(으)로 설정되었거나 구성되지 않은 경우, 테스터에 이미 긍정 확인 응답이 이전에 전송되었으므로 ExecuteReset()의 오류는 진단 응답에 더 이상 영향을 미치지 않습니다([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).

이 가이드는 오직 AUTOSAR Adaptive Platform R25-11 사양만을 기반으로 한다.

멤버 맵

클래스 다이어그램

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

G nara__diag__EcuResetRequest662 EcuResetRequest + EcuResetRequest() + operator=() + ~EcuResetRequest() + EnableRapidShutdown() + ExecuteReset() + Offer() + RequestReset() + StopOffer()

상세 보기

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

생성자 및 소멸자

Constructor of EcuResetRequest.

오버로드 EcuResetRequest 3
explicit EcuResetRequest (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_01010
EcuResetRequest (EcuResetRequest &)=delete; SWS_DM_01621
EcuResetRequest (EcuResetRequest &&) noexcept=delete; SWS_DM_01622

Destructor of EcuResetRequest.

virtual ~EcuResetRequest () noexcept;

메서드

Interface for subFunction En-/DisableRapidShutdown.

virtual ara::core::Future< void > EnableRapidShutdown (bool enable, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

process which is instantiating this interface, has to execute the requested reset.

virtual ara::core::Future< void > ExecuteReset (const MetaInfo &meta Info) noexcept=0;
Offer 함수

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

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

Called for any EcuReset subFunction, except En-/DisableRapidShutdown. The process, which is instantiating this interface, needs to evaluate carefully if the request to restart parts or the whole machine. Once the request to reset is accepted, the process, which is instantiating this interface, has to rely on this decision for the ExecuteReset() trigger.

virtual ara::core::Future< void > RequestReset (ResetRequestType reset Type, ara::core::Optional< std::uint8_t > id, const MetaInfo &meta Info, CancellationHandler cancellationHandler) noexcept=0;
StopOffer 함수

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

void StopOffer () noexcept;

연산자

operator= 함수 2

EcuResetRequest shall be a single not assignable instance.

오버로드 = 2

메서드 문서

함수 EcuResetRequest [SWS_DM_01010] Upstream: RS_Diag_04169, RS_Diag_04279, RS_AP_00170, RS_AP_00171, RS_ AP_00172, RS_AP_00173

explicit EcuResetRequest (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-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 DiagnosticEcuResetInterface needs to be referenced by a DiagnosticServiceGenericMapping. 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 DiagnosticEcuResetInterface.

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

Record
AUTOSAR/AP/record/SWS_DM_01010
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01010@rel:R25-11#e3a4f3ab
Content hash
e3a4f3ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01010
Status: valid/unmigrated Version: rel:R25-11#d5265513 Versionshistorie & Revisions (1 transition, 7 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_01010@rel:R25-11#d5265513
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#eedc6deb2026-09-30
  • R20-11rel:R20-11#246a248c2026-10-14
  • R21-11rel:R21-11#385ccb202026-10-14
  • R22-11rel:R22-11#b88eff8f2026-10-14
  • R23-11rel:R23-11#ae737ede2026-10-14
  • R24-11rel:R24-11#f98779722026-10-14
  • R25-11rel:R25-11#d52655132026-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

함수 EcuResetRequest [SWS_DM_01621] Upstream: RS_AP_00147

EcuResetRequest (EcuResetRequest &)=delete;

EcuResetRequest shall be a single not copy-able instance.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01621
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01621@rel:R25-11#0f61493b
Content hash
0f61493b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01621
Status: valid/unmigrated Version: rel:R25-11#063cef9f 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_01621@rel:R25-11#063cef9f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#68e53b3b2026-09-30
  • R23-11rel:R23-11#43d917e62026-10-14
  • R24-11rel:R24-11#063cef9f2026-10-14
  • R25-11rel:R25-11#063cef9f2026-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

함수 EcuResetRequest [SWS_DM_01622] Upstream: RS_AP_00147

EcuResetRequest (EcuResetRequest &&) noexcept=delete;

Move constructor of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01622
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01622@rel:R25-11#00fbb6a4
Content hash
00fbb6a4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01622
Status: valid/unmigrated Version: rel:R25-11#6ad7777d 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_01622@rel:R25-11#6ad7777d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#d6eb29c62026-09-30
  • R23-11rel:R23-11#1ddab05e2026-10-14
  • R24-11rel:R24-11#6ad7777d2026-10-14
  • R25-11rel:R25-11#6ad7777d2026-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

함수 EnableRapidShutdown [SWS_DM_01012] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ara::core::Future< void > EnableRapidShutdown (bool enable, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Interface for subFunction En-/DisableRapidShutdown.

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

사용법 및 호출 컨텍스트

ara::diag::EcuResetRequest 클래스의 순수 가상 메서드 EnableRapidShutdown는 빠른 종료([SWS_DM_01012])를 위한 UDS 하위 기능을 처리하기 위한 인터페이스 역할을 합니다. 서비스 0x11(ECUReset)의 진단 요청이 수신되면 Diagnostic Manager(DM)는 이 함수를 호출합니다: EnableRapidPowerShutdown의 경우 인수 enable = true([SWS_DM_01020])을(를) 사용하고 DisableRapidPowerShutdown의 경우 enable = false([SWS_DM_01021])을(를) 사용합니다. 이는 대신 RequestReset을(를) 트리거하는 다른 모든 ECUReset 서비스와 이 두 하위 기능을 구별합니다([SWS_DM_00235]).

이 메서드는 세 개의 매개변수를 받습니다([SWS_DM_01012]):

  • enable: true 시 빠른 종료를 활성화하고 false 시 비활성화합니다.
  • metaInfo: 진단 요청에 대한 메타 정보를 전달합니다.
  • cancellationHandler: 진행 중인 진단 대화가 취소되는 경우 cancellationHandler.IsCanceled()을(를) 통한 취소 상태 모니터링 또는 cancellationHandler.SetNotifier()을(를) 통한 알리미 등록에 사용됩니다.

시맨틱, 오류 처리 및 동시성

해당 인터페이스는 ara::core::Future<void>을(를) 반환하므로, 실제 처리는 백그라운드에서 비동기적으로 수행되는 것으로 추정됩니다([SWS_DM_01012]). 질문 Q-ee781913ae88fabb (열림) 성공 시 Future는 어떠한 값도 반환하지 않습니다. 오류 발생 시에는 ISO 14229-1에 따라 적절한 Negative Response Code(NRC)를 DiagUdsNrcErrc을(를) 통해 설정해야 합니다(AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 “EnableRapidShutdown”). 이 함수는 noexcept 및 예외 안전(exception safe)으로 명시되어 있지만, 스레드 안전하지 않은 것(not thread-safe)으로 간주되므로 동일한 인스턴스에 대한 동시 호출은 애플리케이션 측에서 방지해야 합니다([SWS_DM_01012]).

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

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

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

Parameter (in)

ParameterBeschreibung
enableWhen enable is set to true the rapid shutdown will be enabled, setting enable to false will disable rapid shutdown.
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 >Returns nothing or an error.

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_01012
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01012@rel:R25-11#eec48425
Content hash
eec48425
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01012
Status: valid/unmigrated Version: rel:R25-11#bcd20ad3 Versionshistorie & Revisions (1 transition, 7 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_01012@rel:R25-11#bcd20ad3
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#56b7972b2026-09-30
  • R20-11rel:R20-11#5894545d2026-10-14
  • R21-11rel:R21-11#f28899972026-10-14
  • R22-11rel:R22-11#2342434c2026-10-14
  • R23-11rel:R23-11#9ee9b9ec2026-10-14
  • R24-11rel:R24-11#f504b4a02026-10-14
  • R25-11rel:R25-11#bcd20ad32026-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

함수 ExecuteReset [SWS_DM_01014] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ara::core::Future< void > ExecuteReset (const MetaInfo &meta Info) noexcept=0;

process which is instantiating this interface, has to execute the requested reset.

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

인터페이스 ara::diag::EcuResetRequest의 메서드 ExecuteReset은(는) 이전에 [SWS_DM_01013]을(를) 통해 수락된 ECU 리셋을 구현 프로세스에서 실제로 트리거하기 위해 Diagnostic Server(DM)에 의해 호출됩니다 [SWS_DM_01014]. 매개변수로 요청의 metaInfo이(가) 전달됩니다. 이 함수는 스레드 안전하지 않지만(not thread-safe) 예외 안전(exception safe)으로 명시되어 있습니다 [SWS_DM_01014].

Diagnostic Server에 의한 호출 시점은 구성 매개변수 DiagnosticEcuResetClass.respondToReset에 따라 달라집니다:

  • 매개변수가 존재하지 않거나 respondBeforeReset(으)로 설정된 경우, Diagnostic Server는 긍정 UDS 응답이 전송된 후에만 ExecuteReset을(를) 호출합니다 [SWS_DM_01023].
  • respondAfterReset이(가) 구성된 경우, ExecuteReset 호출은 긍정 응답을 사전에 전송하지 않고 직접 수행됩니다 [SWS_DM_01090].

이 함수는 ara::core::Future<void>을(를) 반환합니다 [SWS_DM_01014]. 리셋 수락 후 수신되는 UDS 요청이 차단된 경우 [SWS_DM_01022], Diagnostic Server는 ExecuteReset에서 반환된 Future이(가) 완료되는 즉시 이 차단을 다시 해제합니다 [SWS_DM_01309]. 발생 가능한 오류는 Future 내에서 DiagUdsNrcErrc을(를) 통해 ISO-14229-1-NRC로 시그널링되지만, respondBeforeReset 구성의 경우 전달된 오류는 효력을 갖지 않습니다 [SWS_DM_01014].

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR 릴리스 R25-11을 기반으로 합니다.

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

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

Parameter (in)

ParameterBeschreibung
metaInfoMetaInfo of the request.

Rückgabewert

TypBeschreibung
ara::core::Future< void >Return nothing or an error. In case the parameter DiagnosticEcu ResetClass.respondToReset is either not present or present and set to respondBeforeReset, a given error has no effect.

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_01014
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01014@rel:R25-11#b094521e
Content hash
b094521e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01014
Status: valid/unmigrated Version: rel:R25-11#9b89344b Versionshistorie & Revisions (1 transition, 7 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_01014@rel:R25-11#9b89344b
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3c31c4c42026-09-30
  • R20-11rel:R20-11#f252061c2026-10-14
  • R21-11rel:R21-11#f252061c2026-10-14
  • R22-11rel:R22-11#bbbf4a092026-10-14
  • R23-11rel:R23-11#a9b548302026-10-14
  • R24-11rel:R24-11#b8e5157a2026-10-14
  • R25-11rel:R25-11#9b89344b2026-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_01016] Upstream: RS_AP_00139, 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 · 온도: 제어 불가 · 프롬프트: c497a60736af 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

Adaptive Application은 메서드 ara::diag::EcuResetRequest::Offer([SWS_DM_01016])을(를) 통해 ECU 리셋을 위한 수신 진단 요청을 수신할 준비가 되었음을 Diagnostic Management(DM)에 알립니다. 동기식 호출을 통해 DM은 해당 요청 메시지를 이 핸들러로 전달하도록 승인받습니다([SWS_DM_01016]). 이 호출은 일반적으로 애플리케이션의 초기화 단계 중에, DM이 진단 요청을 처리하기 전에 수행될 것으로 보입니다. 질문 Q-93d794e6b1dba23e (열림)

호출 및 오류 처리

이 함수는 전달 매개변수가 없으며, noexcept(으)로 선언되어 있고 예외 안전성을 보장합니다([SWS_DM_01016]). 반환값으로는 ara::core::Result<void>이(가) 사용됩니다. 서비스가 이미 이전에 제공되어 제공(provisioning)에 실패하는 경우, 메서드는 롤백 시맨틱을 갖는 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 반환합니다([SWS_DM_01016]).

동시성 및 상호 작용

명세에 따라 이 함수는 not thread-safe로 분류되어 있습니다([SWS_DM_01016]). 따라서 ara::diag::EcuResetRequest의 동일한 인스턴스에 대한 호출은 애플리케이션 측에서 동기화되어야 합니다. 제공 패턴은 ara::diag::GenericUDSService::Offer([SWS_DM_00619]), ara::diag::GenericRoutine::Offer([SWS_DM_00557]) 또는 ara::diag::CommunicationControl::Offer([SWS_DM_00809])과 같은 다른 핸들러에 대해 유사하게 정의된 것과 같이, Adaptive Diagnostic Management의 통합 인터페이스 설계에 해당합니다. 명명법은 ara::com을(를) 기반으로 하지만, 이는 Diagnostic Management의 독자적인 구현입니다(AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”).

이 사용 지침은 자동으로 생성되었으며 AUTOSAR Adaptive R25-11 명세를 기반으로 합니다.

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

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
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_01016
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01016@rel:R25-11#1b6f8de1
Content hash
1b6f8de1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01016
Status: valid/unmigrated Version: rel:R25-11#90db9ee6 Versionshistorie & Revisions (1 transition, 7 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_01016@rel:R25-11#90db9ee6
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ac6a418a2026-09-30
  • R20-11rel:R20-11#f25441de2026-10-14
  • R21-11rel:R21-11#f25441de2026-10-14
  • R22-11rel:R22-11#c744526e2026-10-14
  • R23-11rel:R23-11#51fa43912026-10-14
  • R24-11rel:R24-11#dc8480be2026-10-14
  • R25-11rel:R25-11#90db9ee62026-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

함수 RequestReset [SWS_DM_01013] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ara::core::Future< void > RequestReset (ResetRequestType reset Type, ara::core::Optional< std::uint8_t > id, const MetaInfo &meta Info, CancellationHandler cancellationHandler) noexcept=0;

Called for any EcuReset subFunction, except En-/DisableRapidShutdown. The process, which is instantiating this interface, needs to evaluate carefully if the request to restart parts or the whole machine. Once the request to reset is accepted, the process, which is instantiating this interface, has to rely on this decision for the ExecuteReset() trigger.

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

메서드 ara::diag::EcuResetRequest::RequestReset(#include "ara/diag/ecu_reset_request.h")은(는) 서비스 0x11(ECUReset)에 대한 UDS 요청이 수신되는 즉시 진단 서버에 의해 호출됩니다 ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 “Service 0x11 – ECUReset – all other sub functions”). 이는 EnableRapidPowerShutdown 및 DisableRapidPowerShutdown을(를) 제외한 모든 리셋 하위 기능에 적용됩니다 ([SWS_DM_01013]). 인스턴스화하는 애플리케이션은 수락하기 전에 시스템의 일부 또는 전체에 대한 재시작을 수행해도 되는지 여부를 신중하게 확인해야 합니다 ([SWS_DM_01013]).

매개변수 및 비동기 인터페이스

호출 시 리셋 유형 resetType, 선택적 식별자 id(resetType이(가) custom(으)로 설정된 경우에만 평가됨), 메타데이터 metaInfo 및 cancellationHandler이(가) 전달됩니다 ([SWS_DM_01013]). cancellationHandler을(를) 통해 애플리케이션은 IsCanceled(으)로 취소 상태를 확인하거나 SetNotifier을(를) 사용하여 취소 이벤트에 대한 콜백 함수를 등록할 수 있습니다 ([SWS_DM_01013]). 결과는 ara::core::Future<void>을(를) 통해 비동기식으로 제공됩니다 ([SWS_DM_01013]).

오류 처리, 제어 흐름 및 동시성

리셋을 수락할 수 없는 경우 Future에 ISO 14229-1에 따른 적절한 NRC 오류 코드를 DiagUdsNrcErrc을(를) 통해 반환해야 하며 ([SWS_DM_01013]), ApApplicationError 보고 또한 고려됩니다 ([SWS_DM_00360]). 요청이 수락되면 이 결정은 후속 ExecuteReset 트리거에 구속력을 가지며 ([SWS_DM_01013]), 진단 서버는 ExecuteReset 완료 후 차단이 해제될 때까지 ([SWS_DM_01309]) 후속 수신 UDS 요청을 무시합니다 ([SWS_DM_01022]). 실제 리셋 실행은 DiagnosticEcuResetClass.respondToReset에 따라 긍정 UDS 응답을 전송한 후([SWS_DM_01023]) 또는 재시작 직전([SWS_DM_01090])에 수행됩니다. 이 함수는 exception safe로 지정되어 있으나 명시적으로 not thread-safe입니다 ([SWS_DM_01013]).

이 사용 지침은 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 합니다.

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

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

Parameter (in)

ParameterBeschreibung
resetTypeType of the requested reset.
idid of the custom reset type. Will only be evaluated when resetType is "custom".
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 >Returns nothing or an error.

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_01013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01013@rel:R25-11#e2ce08c6
Content hash
e2ce08c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01013
Status: valid/unmigrated Version: rel:R25-11#abbae6cb Versionshistorie & Revisions (1 transition, 7 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_01013@rel:R25-11#abbae6cb
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#2298781a2026-09-30
  • R20-11rel:R20-11#a2a16bce2026-10-14
  • R21-11rel:R21-11#db0fc51c2026-10-14
  • R22-11rel:R22-11#998c28012026-10-14
  • R23-11rel:R23-11#6254ffe82026-10-14
  • R24-11rel:R24-11#3fb22acc2026-10-14
  • R25-11rel:R25-11#abbae6cb2026-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_01017] Upstream: RS_Diag_04169, RS_Diag_04279

void StopOffer () noexcept;

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

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

사용

ara::diag::EcuResetRequest::StopOffer 메서드는 리셋 서비스 제공을 종료하고 Diagnostic Management(DM)에서 애플리케이션으로 수신 요청 메시지가 포워딩되는 것을 비활성화합니다([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 “StopOffer”). 이 함수는 void StopOffer() noexcept 시그니처를 가지며, 매개변수를 기대하지 않고 반환값을 반환하지 않습니다.

오류 처리 및 예외 동작

이 작업은 noexcept(으)로 선언되어 있으며 사양상 예외 안전(exception safe)으로 분류되어 있습니다([SWS_DM_01017]). 예외가 발생하지 않으며 호출자에게 특정 오류 코드가 반환되지도 않습니다.

동시성 및 제약사항

이 메서드는 명시적으로 스레드 안전하지 않음(not thread-safe)으로 분류되어 있습니다([SWS_DM_01017]). 호출자는 ara::diag::EcuResetRequest의 동일한 인스턴스에 대한 동시 접근을 애플리케이션 측에서 동기화해야 합니다. 기능적으로 이 호출은 추가 리셋 요청 수신을 순서대로 중지하기 위해 이전에 핸들러를 제공한 후에만 수행되도록 의도된 것으로 추정됩니다. 질문 Q-25f37b77dc8cf80f (열림)

상호 작용

StopOffer을(를) 통한 포워딩 비활성화는 다른 서비스인 CommunicationControl([SWS_DM_00810]) 또는 DownloadService([SWS_DM_00793])에 대해 유사하게 정의된 것과 같이 Adaptive AUTOSAR의 기능적 진단 핸들러의 통일된 인터페이스 패턴을 따릅니다.

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

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

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
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_01017
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01017@rel:R25-11#4b8ae408
Content hash
4b8ae408
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01017
Status: valid/unmigrated Version: rel:R25-11#157260a3 Versionshistorie & Revisions (1 transition, 7 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_01017@rel:R25-11#157260a3
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#becd6c1d2026-09-30
  • R20-11rel:R20-11#d14003032026-10-14
  • R21-11rel:R21-11#12e02bbc2026-10-14
  • R22-11rel:R22-11#f8a228ae2026-10-14
  • R23-11rel:R23-11#a13668412026-10-14
  • R24-11rel:R24-11#599424bf2026-10-14
  • R25-11rel:R25-11#157260a32026-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_01619] Upstream: RS_AP_00147

EcuResetRequest & operator= (EcuResetRequest &)=delete;

EcuResetRequest shall be a single not assignable instance.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01619
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01619@rel:R25-11#60b97216
Content hash
60b97216
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01619
Status: valid/unmigrated Version: rel:R25-11#eb3701bb 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_01619@rel:R25-11#eb3701bb
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#69df81e22026-09-30
  • R23-11rel:R23-11#9e10724e2026-10-14
  • R24-11rel:R24-11#d8917e8d2026-10-14
  • R25-11rel:R25-11#eb3701bb2026-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_01620] Upstream: RS_AP_00147

EcuResetRequest & operator= (EcuResetRequest &&)=delete;

Move assignment operator of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01620
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01620@rel:R25-11#bad51936
Content hash
bad51936
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01620
Status: valid/unmigrated Version: rel:R25-11#6a0a3bfb 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_01620@rel:R25-11#6a0a3bfb
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#bf9cee0f2026-09-30
  • R23-11rel:R23-11#d2fc822c2026-10-14
  • R24-11rel:R24-11#6a0a3bfb2026-10-14
  • R25-11rel:R25-11#6a0a3bfb2026-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

함수 ~EcuResetRequest [SWS_DM_01011] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ~EcuResetRequest () noexcept;

Destructor of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
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_01011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01011@rel:R25-11#d58e318a
Content hash
d58e318a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01011
Status: valid/unmigrated Version: rel:R25-11#6f92477d Versionshistorie & Revisions (1 transition, 7 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_01011@rel:R25-11#6f92477d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#b72ad7912026-09-30
  • R20-11rel:R20-11#3ffa5d7d2026-10-14
  • R21-11rel:R21-11#3ffa5d7d2026-10-14
  • R22-11rel:R22-11#286b009e2026-10-14
  • R23-11rel:R23-11#ffb926aa2026-10-14
  • R24-11rel:R24-11#8a061c332026-10-14
  • R25-11rel:R25-11#6f92477d2026-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