DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::SovdOperationExecution

[SWS_DM_02197] Upstream: RS_Diag_04262

class SovdOperationExecution {...};

Interface to handle the SOVD Operation Execution .

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

사용자 가이드AI 생성

진행 중인 SOVD 작업 실행의 제어, 상태 쿼리 및 제어된 종료를 위한 인터페이스 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 45e435c1ec1c 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

진행 중인 SOVD 작업 실행의 제어, 상태 쿼리 및 제어된 종료를 위한 인터페이스 역할을 합니다.

이 인터페이스는 Diagnostic Management [SWS_DM_02197]에서 진행 중인 SOVD 작업의 애플리케이션별 제어 및 모니터링에 사용됩니다. 보호된 메서드를 통해 상태 쿼리뿐만 아니라 특수 기능 실행 또는 작업 취소 요청을 처리합니다. 모든 반환은 Future를 통해 비동기적으로 수행되며, 오류는 ISO 17978-3에 따른 표준화된 SOVD 오류 코드로 반드시 전송됩니다 [SWS_DM_02384]. 또한 구현은 스레드 안전해야 하며 전달된 취소 핸들러를 작업 수명 주기에 엄격하게 바인딩해야 합니다.

컨텍스트

클래스 ara::diag::SovdOperationExecution은(는) AUTOSAR Adaptive Platform [SWS_DM_02197], SWS Diagnostics §8.62.5 “Class: SovdOperationExecution”의 모듈 diag 내에서 진행 중인 SOVD 작업 실행(Service-Oriented Vehicle Diagnostics)의 제어 및 모니터링을 위한 프로그래밍 인터페이스를 정의합니다. 이는 ASAM SOVD 및 ISO 17978-3에 따른 진단 관련 루틴에 대해 Diagnostic Management(DM)와 실행 애플리케이션 로직 간의 연결고리 역할을 합니다.

외부 SOVD 클라이언트가 작업 시작을 시작하고([SWS_DM_01396]) 근접 챌린지(Proximity Challenge)의 선택적 검증이 성공적으로 완료되면([SWS_DM_02174]), DM은 해당 실행을 고유 식별자(execution-id)에 인스턴스화하거나 바인딩합니다 [SWS_DM_02177]. 진행 중인 이 작업에 대한 모든 후속 메서드 호출(특히 상태 쿼리 및 취소 명령)은 DM에 의해 이 식별자에 할당된 ara::diag::SovdOperationExecution의 해당 인스턴스로 전달됩니다 [SWS_DM_02180].

SovdOperationExecutionContext client SOVD-Client dm Diagnostic Management (DM) client->dm SOVD-Methodenaufrufe (Start, Status, Terminate) dm->client SOVD-Antworten (JSON-Payload) execution ara::diag::SovdOperationExecution (Anwendungsimplementierung) dm->execution ExecuteCapability() / GetStatus() / Terminate() execution->dm ara::core::Future

컨텍스트 다이어그램: SOVD 클라이언트, Diagnostic Management 및 애플리케이션별 오퍼레이션 로직 간의 SovdOperationExecution 통합. 출처: [SWS_DM_01396], [SWS_DM_02180], [SWS_DM_02197].

수명 주기

이 클래스는 noexcept=default로 선언된 기본 생성자 [SWS_DM_02198] 및 마찬가지로 noexcept=default로 정의된 가상 소멸자 [SWS_DM_02199]를 가집니다. 모든 비즈니스 메서드(ExecuteCapability [SWS_DM_02384], GetStatus [SWS_DM_02201] 및 Terminate [SWS_DM_02202])가 순수 가상(= 0)이자 보호(protected) 상태이므로, 이 클래스는 직접 인스턴스화할 수 없습니다. 해석: 애플리케이션 개발자는 애플리케이션별 루틴을 구현하기 위해 SovdOperationExecution로부터 자체 클래스를 파생합니다. 질문 Q-c1d622c7aa17382d (열림)

활성 오퍼레이션 실행은 각각 DM 내에서 execution-id에 할당됩니다 [SWS_DM_02177], [SWS_DM_02180]. 명세에서는 오퍼레이션이 많은 경우 단 하나의 동시 인스턴스만 허용한다는 점을 강조합니다 SWS Diagnostics §7.3.3.5.5.6 “Operations – Terminate execution of an operation”. 모든 인터페이스 메서드는 스레드 안전(thread-safe) 및 예외 안전(exception safe)으로 명세되어 있습니다 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

메모리 관리 및 수명과 관련하여 엄격한 요구사항이 적용됩니다. 매개변수 sovd_content_data는 연관된 Promise가 이행되거나 cancellation_handler를 통해 처리가 취소될 때까지 유효하게 유지됩니다 [SWS_DM_02384]. 객체 cancellation_handler 자체는 어떠한 경우에도 각 오퍼레이션의 수명을 넘어 저장되거나 호출되어서는 안 됩니다 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

사용 경로

SOVD 오퍼레이션을 수반하는 일반적인 절차는 다음 단계로 나뉩니다:

  • 기능 요청: DM은 실행 중인 오퍼레이션에 대해 메서드 ExecuteCapability를 통해 실행, 동결 또는 리셋과 같은 동작을 요청할 수 있습니다 [SWS_DM_02384].
  • 상태 조회: DM이 SOVD 호출 “Read the Status of an operation”을 수신하고 요구되는 근접성 검증 [SWS_DM_02173]에 성공하면, 할당된 SovdOperationExecution 인스턴스의 GetStatus를 호출합니다 [SWS_DM_02180], [SWS_DM_02201]. 성공적으로 반환된 후 DM은 클라이언트에 status(GetStatusResponse.status에서 가져옴), capability(값 execute) 및 parameters(GetStatusResponse.Parameters에서 파생됨) 속성으로 응답합니다 [SWS_DM_02181].
  • 오퍼레이션 종료: Diagnostic Server에 SOVD 메서드 “Terminate execution of an Operation”이 수신되면 [SWS_DM_01392], 근접성 응답 [SWS_DM_01391]의 유효성을 검사한 후 인스턴스에서 이유(TerminateOperationExecutionReason)를 지정하여 메서드 Terminate를 호출합니다 [SWS_DM_02179], [SWS_DM_02202].
SOVD 오퍼레이션의 상태 모니터링 및 종료SOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: 실행 중인 오퍼레이션의 상태 조회Read the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: 실행 중인 오퍼레이션 종료Terminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

시퀀스 다이어그램: 상태 조회 및 제어된 종료 시 Diagnostic Management와 SovdOperationExecution 간의 상호작용 순서. 출처: [SWS_DM_02180], [SWS_DM_02181], [SWS_DM_02179], [SWS_DM_02202].

오류 시나리오

실행할 모든 메서드(ExecuteCapability, GetStatus, Terminate)는 비동기적으로 동작하며 ara::core::Future를 반환합니다 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202]. 애플리케이션 내에서 처리가 실패하는 경우, ISO 17978-3 또는 ASAM SOVD 1.1에 따른 적용 가능한 SOVD 오류 코드로 Future를 이행해야 합니다 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

진단 프레임워크 측에서 실행 중인 요청이 취소되면 DM은 함께 전달된 객체 ara::diag::CancellationHandler를 통해 이를 신호합니다 [SWS_DM_02384]. 구현은 블로킹 상태를 방지하기 위해 이 핸들러의 취소 상태를 고려하고 처리를 즉시 중단해야 합니다.

이 클래스 가이드는 AUTOSAR Adaptive Platform 릴리스 R25-11 명세를 기반으로 생성되었습니다.

멤버 맵

클래스 다이어그램

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

G nara__diag__SovdOperationExecution800 SovdOperationExecution + SovdOperationExecution() + ~SovdOperationExecution() + ExecuteCapability() + GetStatus() + Terminate()

상세 보기

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

생성자 및 소멸자

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

메서드

Called for " Support for execute / freeze / reset" for the specified SOVD Operation.

virtual ara::core::Future< OperationExecutionStatus > Execute Capability (OperationExecutionCapability capability, DiagnosticSovd ContentData const &sovd_content_data, ara::diag::MetaInfo const &meta_ info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;
GetStatus 함수

Called for "Get status execution of an operation" for the current execution.

virtual ara::core::Future< GetStatusResponse > GetStatus (ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;
Terminate 함수

Called for "Terminate execution of an operation" for the current execution.

virtual ara::core::Future< void > Terminate (TerminateOperation ExecutionReason reason, ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

중첩 타입

메서드 문서

함수 ExecuteCapability [SWS_DM_02384] Upstream: RS_Diag_04262

virtual ara::core::Future< OperationExecutionStatus > Execute Capability (OperationExecutionCapability capability, DiagnosticSovd ContentData const &sovd_content_data, ara::diag::MetaInfo const &meta_ info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

Called for " Support for execute / freeze / reset" for the specified SOVD Operation.

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

ara::diag::SovdOperationExecution의 순수 가상 메서드 ExecuteCapability은(는) [SWS_DM_02384]에 따라 지정된 SOVD 연산을 실행, 고정 또는 재설정하는 데 사용됩니다(SWS Diagnostics §8.62.5.2.1.1 “ExecuteCapability”). 이 함수는 protected 및 순수 가상으로 정의되어 있으므로 일반적으로 애플리케이션별 하위 클래스에 의해 재정의되고 진단 데몬에 의해 호출될 것으로 추정됩니다. 질문 Q-66c5defcf6d00f57 (열림)

호출은 비동기식으로 수행되며 ara::core::Future<OperationExecutionStatus>을(를) 반환합니다[SWS_DM_02384]. 호출 시 실행할 기능(capability), 추가 메타 정보(meta_info), cancellation_handler 및 페이로드(sovd_content_data)가 전달됩니다. sovd_content_data의 데이터는 연결된 Promise가 충족되거나 cancellation_handler을(를) 통해 처리가 중단될 때까지 유효하게 유지됩니다[SWS_DM_02384].

동시성 및 수명에 대해 명확한 사양이 적용됩니다. 연산은 스레드 안전 및 예외 안전(exception safe 또는 noexcept)(으)로 지정되어 있습니다. 전달된 cancellation_handler 객체는 진행 중인 요청의 중단을 알립니다. 이는 어떠한 경우에도 이 연산의 수명을 초과하여 저장되거나 참조되어서는 안 됩니다[SWS_DM_02384].

성공 시 Future는 실행 상태 OperationExecutionStatus을(를) 반환합니다. 처리에 실패하면 Future를 통해 ISO 17978-3 또는 ASAM SOVD 1.1에 따른 적절한 SOVD 오류 코드를 반환해야 합니다[SWS_DM_02384].

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

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

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Parameter (in)

ParameterBeschreibung
capabilityThe SOVD operation execution capability
sovd_content_dataThe SOVD content data. Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler
meta_infocontains additional meta information
cancellation_handlerInforms if the current request is cancelled. This object shall not be stored or accessed beyond the lifetime of this operation.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationExecutionStatus >A future with either execution status (for a positive response message) or a SOVD Error (for an negative response message)

Fehler

FehlercodeBeschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.

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

Record
AUTOSAR/AP/record/SWS_DM_02384
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02384@rel:R25-11#0f35b05e
Content hash
0f35b05e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02384
Status: valid/unmigrated Version: rel:R25-11#38d7bf66 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_02384@rel:R25-11#38d7bf66
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

함수 GetStatus [SWS_DM_02201] Upstream: RS_Diag_04262

virtual ara::core::Future< GetStatusResponse > GetStatus (ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

Called for "Get status execution of an operation" for the current execution.

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Parameter (in)

ParameterBeschreibung
meta_infocontains additional meta information
cancellation_handlerInforms if the current request is cancelled. This object shall not be stored or accessed beyond the lifetime of this operation.

Rückgabewert

TypBeschreibung
ara::core::Future< GetStatusResponse >A future with either GetStatusResponse (for a positive response message) or a SOVD Error (for an negative response message)

Fehler

FehlercodeBeschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.

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

Record
AUTOSAR/AP/record/SWS_DM_02201
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02201@rel:R25-11#4e1ec0d3
Content hash
4e1ec0d3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02201
Status: valid/unmigrated Version: rel:R25-11#8e5630e2 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_02201@rel:R25-11#8e5630e2
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

함수 SovdOperationExecution [SWS_DM_02198] Upstream: RS_Diag_04262

SovdOperationExecution () noexcept=default;

Constructor of SovdOperationExecution (inherited) -.

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_02198
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02198@rel:R25-11#4ef1b5d3
Content hash
4ef1b5d3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02198
Status: valid/unmigrated Version: rel:R25-11#98ffcedf 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_02198@rel:R25-11#98ffcedf
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

함수 Terminate [SWS_DM_02202] Upstream: RS_Diag_04262

virtual ara::core::Future< void > Terminate (TerminateOperation ExecutionReason reason, ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

Called for "Terminate execution of an operation" for the current execution.

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

사용

순수 가상 메서드 Terminate은(는) 진행 중인 연산을 종료하라는 SOVD 요청이 도착하고 필요할 수 있는 근접 챌린지(Proximity-Challenge) 유효성 검사가 성공하는 즉시 Diagnostic Management(DM)에 의해 호출됩니다[SWS_DM_02179]. 이는 연결된 execution-id에 의해 식별된 연산 실행을 제어된 방식으로 중단하는 역할을 합니다AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 “Operations – Terminate execution of an operation”.

호출 시 TerminateOperationExecutionReason 유형([SWS_DM_02196])의 reason을(를) 통한 중단 사유, 추가 메타데이터(meta_info) 및 cancellation_handler이(가) 전달됩니다[SWS_DM_02202]. 중단 원인으로는 명시적인 클라이언트 요청(kClientRequest), 시간 초과(kTimeout) 또는 서버 상태 변경과 같은 상태 변경(kStateChange)이 지정되어 있습니다[SWS_DM_02196]. 이 메서드는 DM에 비동기 완료를 보고하는 ara::core::Future<void>을(를) 반환합니다[SWS_DM_02202].

오류 처리 및 제약 조건

성공 시 Future은(는) void(으)로 확인되는 반면, 오류 발생 시 ASAM SOVD 또는 ISO 17978-3에 따른 적절한 SOVD 오류 코드를 반환해야 합니다[SWS_DM_02202]. 이 인터페이스는 noexcept(으)로 선언되어 있으며, 예외 안전(exception safe) 및 스레드 안전(thread-safe)으로 간주됩니다[SWS_DM_02202].

수명주기 및 동시성

Terminate을(를) 호출하면 SovdOperationExecution 인스턴스가 폐기되며, 이 execution-id에 대한 후속 메서드 호출은 더 이상 허용되지 않습니다[SWS_DM_02179]. 전달된 cancellation_handler 객체는 어떠한 경우에도 이 연산의 수명을 초과하여 저장되거나 사용되어서는 안 됩니다[SWS_DM_02202].

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

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

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Parameter (in)

ParameterBeschreibung
reasonThe terminate operation execution reason
meta_infocontains additional meta information
cancellation_handlerInforms if the current request is cancelled. This object shall not be stored or accessed beyond the lifetime of this operation.

Rückgabewert

TypBeschreibung
ara::core::Future< void >A future with either void (for a positive response message) or a SOVD Error (for an negative response message)

Fehler

FehlercodeBeschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.

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

Record
AUTOSAR/AP/record/SWS_DM_02202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02202@rel:R25-11#add5b026
Content hash
add5b026
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02202
Status: valid/unmigrated Version: rel:R25-11#a8993271 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_02202@rel:R25-11#a8993271
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

함수 ~SovdOperationExecution [SWS_DM_02199] Upstream: RS_Diag_04262

virtual ~SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_02199
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02199@rel:R25-11#0a917ac8
Content hash
0a917ac8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02199
Status: valid/unmigrated Version: rel:R25-11#9546e106 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_02199@rel:R25-11#9546e106
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