DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Serve como interface para controle, consulta de status e terminação controlada de execuções de operações SOVD em andamento.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 45e435c1ec1c Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como interface para controle, consulta de status e terminação controlada de execuções de operações SOVD em andamento.

A interface serve ao controle e ao monitoramento específicos da aplicação de uma operação SOVD em andamento no Diagnostic Management [SWS_DM_02197]. Através de métodos protegidos, ela processa consultas de status, bem como requisições para a execução de capacidades especiais ou para o cancelamento da operação. Todos os retornos ocorrem de forma assíncrona via futures, sendo que erros devem obrigatoriamente ser transmitidos como códigos de erro SOVD padronizados segundo a ISO 17978-3 [SWS_DM_02384]. Além disso, as implementações devem ser seguras para threads e vincular estritamente handlers de cancelamento fornecidos ao ciclo de vida da operação.

Contexto

A classe ara::diag::SovdOperationExecution define a interface de programação para controle e monitoramento de execuções de operações SOVD (Service-Oriented Vehicle Diagnostics) em andamento dentro do módulo diag da AUTOSAR Adaptive Platform [SWS_DM_02197], SWS Diagnostics §8.62.5 «Class: SovdOperationExecution». Ela funciona como elo de ligação entre o Diagnostic Management (DM) e a lógica de aplicação executora para rotinas relacionadas a diagnóstico segundo a ASAM SOVD e a ISO 17978-3.

Quando um cliente SOVD externo inicia a inicialização de uma operação [SWS_DM_01396] e a validação opcional do Proximity Challenge foi concluída com sucesso [SWS_DM_02174], o DM instancia ou vincula a execução a um identificador exclusivo (execution-id) [SWS_DM_02177]. Todas as chamadas de método subsequentes para esta operação em andamento – em particular consultas de status e comandos de cancelamento – são encaminhadas pelo DM àquela instância de ara::diag::SovdOperationExecution que está atribuída a este identificador [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

Diagrama de contexto: integração de SovdOperationExecution entre cliente SOVD, Diagnostic Management e lógica de operação específica da aplicação. Fontes: [SWS_DM_01396], [SWS_DM_02180], [SWS_DM_02197].

Ciclo de vida

A classe possui um construtor padrão declarado como noexcept=default [SWS_DM_02198], bem como um destrutor virtual que também é definido como noexcept=default [SWS_DM_02199]. Como todos os métodos funcionais – ExecuteCapability [SWS_DM_02384], GetStatus [SWS_DM_02201] e Terminate [SWS_DM_02202] – são puramente virtuais (= 0) e protegidos (protected), a classe não é diretamente instanciável. Interpretação: desenvolvedores de aplicações derivam suas próprias classes a partir de SovdOperationExecution para implementar as rotinas específicas da aplicação. Pergunta Q-c1d622c7aa17382d (aberta)

Cada execução de operação ativa é atribuída no DM a um execution-id [SWS_DM_02177], [SWS_DM_02180]. A especificação ressalta que operações, em muitos casos, permitem apenas uma única instância simultânea SWS Diagnostics §7.3.3.5.5.6 «Operations – Terminate execution of an operation». Todos os métodos de interface são especificados como seguros para threads (thread-safe) e seguros quanto a exceções (exception safe) [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

No que diz respeito ao gerenciamento de memória e aos tempos de vida, aplicam-se regras estritas: o parâmetro sovd_content_data permanece válido até que a promise associada seja cumprida ou o processamento seja cancelado através do cancellation_handler [SWS_DM_02384]. O próprio objeto cancellation_handler não deve sob hipótese alguma ser armazenado ou chamado além do tempo de vida da respectiva operação [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Caminho de utilização

O fluxo típico para o acompanhamento de uma operação SOVD divide-se nas seguintes etapas:

  • Requisitar capacidades: o DM pode requisitar para uma operação em andamento, através do método ExecuteCapability, ações como executar, congelar ou redefinir [SWS_DM_02384].
  • Consultar status: se o DM receber a chamada SOVD «Read the Status of an operation» e a validação de proximidade requerida for bem-sucedida [SWS_DM_02173], ele chama GetStatus da instância de SovdOperationExecution atribuída [SWS_DM_02180], [SWS_DM_02201]. Após o retorno bem-sucedido, o DM responde ao cliente com os atributos status (de GetStatusResponse.status), capability (valor execute) e parameters (derivado de GetStatusResponse.Parameters) [SWS_DM_02181].
  • Terminar operação: se o Diagnostic Server receber o método SOVD “Terminate execution of an Operation” [SWS_DM_01392], após a validação da resposta de proximidade [SWS_DM_01391], o método Terminate é chamado na instância informando o motivo (TerminateOperationExecutionReason) [SWS_DM_02179], [SWS_DM_02202].
Monitoramento de status e encerramento de uma operação SOVDSOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: Consulta de status da operação em andamentoRead the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: Encerramento da operação em andamentoTerminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

Diagrama de sequência: sequência de interação entre Diagnostic Management e SovdOperationExecution em consultas de estado e terminação controlada. Fontes: [SWS_DM_02180], [SWS_DM_02181], [SWS_DM_02179], [SWS_DM_02202].

Cenários de erro

Todos os métodos a serem executados (ExecuteCapability, GetStatus, Terminate) operam de forma assíncrona e retornam um ara::core::Future [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202]. Se o processamento dentro da aplicação falhar, a future deve ser preenchida com um código de erro SOVD aplicável de acordo com a ISO 17978-3 ou ASAM SOVD 1.1 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Se uma requisição em andamento for cancelada por parte do framework de diagnóstico, o DM sinaliza isso através do objeto fornecido ara::diag::CancellationHandler [SWS_DM_02384]. A implementação deve levar em consideração o estado de cancelamento deste handler e encerrar o processamento sem demora, a fim de evitar estados bloqueantes.

Este guia de classe foi gerado com base na especificação AUTOSAR Adaptive Platform Release R25-11.

Mapa de membros

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

Métodos

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 função

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 função

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;

Tipos aninhados

Documentação dos métodos

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: aa676a4edac8 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método puramente virtual ExecuteCapability de ara::diag::SovdOperationExecution serve para a execução, o congelamento ou a redefinição de uma operação SOVD especificada de acordo com [SWS_DM_02384] (SWS Diagnostics §8.62.5.2.1.1 «ExecuteCapability»). Como a função é definida como protected e puramente virtual, ela deve tipicamente ser sobrescrita por subclasses específicas da aplicação e chamada pelo daemon de diagnóstico. Pergunta Q-66c5defcf6d00f57 (aberta)

A chamada ocorre de forma assíncrona e retorna um ara::core::Future<OperationExecutionStatus> [SWS_DM_02384]. Na chamada, são passadas a capacidade a ser executada (capability), metainformações adicionais (meta_info), um cancellation_handler bem como os dados úteis (sovd_content_data). Os dados em sovd_content_data permanecem válidos até que a respectiva promise seja cumprida ou o processamento seja cancelado através do cancellation_handler [SWS_DM_02384].

Para concorrência e tempo de vida, aplicam-se diretrizes claras: A operação é especificada como segura para threads e segura contra exceções (exception safe e noexcept, respectivamente). O objeto cancellation_handler passado informa sobre um cancelamento da requisição em andamento; ele não deve, sob nenhuma hipótese, ser armazenado ou referenciado além do tempo de vida desta operação [SWS_DM_02384].

Em caso de sucesso, o future fornece o status de execução OperationExecutionStatus. Se o processamento falhar, um código de erro SOVD adequado de acordo com ISO 17978-3 ou ASAM SOVD 1.1 deve ser retornado através do future [SWS_DM_02384].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#57f99d1f
Content hash
57f99d1f
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

função 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#f8b2b083
Content hash
f8b2b083
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

função 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#d60289e4
Content hash
d60289e4
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a1b92d94aba2 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método puramente virtual Terminate é chamado pelo Diagnostic Management (DM) assim que chega uma requisição SOVD para encerrar uma operação em andamento e uma eventual validação necessária do proximity challenge for bem-sucedida [SWS_DM_02179]. Ele serve para cancelar de maneira controlada a execução da operação identificada pelo respectivo execution-id AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 «Operations – Terminate execution of an operation».

Na chamada, são passados o motivo do cancelamento via reason do tipo TerminateOperationExecutionReason ([SWS_DM_02196]), metadados adicionais (meta_info) bem como um cancellation_handler [SWS_DM_02202]. Como causas de cancelamento, são especificados uma requisição explícita do cliente (kClientRequest), um timeout (kTimeout) ou uma mudança de estado, tal como uma mudança de status do servidor (kStateChange) [SWS_DM_02196]. O método retorna um ara::core::Future<void>, o qual reporta a conclusão assíncrona ao DM [SWS_DM_02202].

Tratamento de erros e condições de contorno

Em caso de sucesso, o Future é resolvido com void, ao passo que, em caso de erros, um código de erro SOVD adequado de acordo com o ASAM SOVD ou a ISO 17978-3 deve ser retornado [SWS_DM_02202]. A interface é declarada como noexcept, considerada segura contra exceções (exception safe) e thread-safe [SWS_DM_02202].

Ciclo de vida e concorrência

Com a chamada de Terminate, a instância de SovdOperationExecution é descartada; chamadas de métodos subsequentes nesta execution-id não são mais permitidas [SWS_DM_02179]. O objeto passado cancellation_handler não pode, de forma alguma, ser armazenado ou utilizado além do tempo de vida desta operação [SWS_DM_02202].

Esta nota de uso foi gerada por uma IA com base na especificação.

Guia do implementador em breve (complexidade 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#a00fd680
Content hash
a00fd680
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

função ~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#f29cf064
Content hash
f29cf064
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