리셋 요청: 다른 모든 UDS 리셋 하위 기능에 대해 DM은 메서드 RequestReset(resetType, id, metaInfo, cancellationHandler)을 호출합니다([SWS_DM_01013]). 인스턴스화 프로세스는 머신의 일부 또는 전체를 재부팅하는 것이 허용되는지 신중하게 확인해야 합니다([SWS_DM_01013]). cancellationHandler을 통해 중단 상태를 쿼리하거나 알리미를 등록할 수 있습니다([SWS_DM_01013]).
생성자 위반: 생성 시 모델 위반이 발생할 수 있으며, 여기에는 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 사양만을 기반으로 한다.
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.
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)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticEcuResetInterface.
Request a governed re-review of this record. The record is not changed immediately.
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]).
cancellationHandler: 진행 중인 진단 대화가 취소되는 경우 cancellationHandler.IsCanceled()을(를) 통한 취소 상태 모니터링 또는 cancellationHandler.SetNotifier()을(를) 통한 알리미 등록에 사용됩니다.
When enable is set to true the rapid shutdown will be enabled, setting enable to false will disable rapid shutdown.
metaInfo
MetaInfo of the request.
cancellationHandler
This 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.
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을 기반으로 합니다.
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
Fehlercode
Beschreibung
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.
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 명세를 기반으로 합니다.
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 · 독일어 원문
호출 시 리셋 유형 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 사양을 기반으로 합니다.
id of the custom reset type. Will only be evaluated when resetType is "custom".
metaInfo
MetaInfo of the request.
cancellationHandler
This 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.
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에 의해 생성되었습니다.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문