DEENESPTFRRUARHIKOZHNL

namespace ara::com::runtime

Guia do utilizadorGERADO POR IA

Resolve especificadores de instância abstratos em tempo de execução em identificadores concretos para a comunicação de serviços.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4a9d404013ef Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Resolve especificadores de instância abstratos em tempo de execução em identificadores concretos para a comunicação de serviços.

O namespace ara::com::runtime fornece serviços centrais de tempo de execução para a resolução de endpoints de comunicação no gerenciamento de comunicação AUTOSAR_AP_SWS_CommunicationManagement p. 39. Sua função principal ResolveInstanceIDs traduz identificadores abstratos de modelo do tipo ara::core::InstanceSpecifier em ara::com::InstanceIdentifierContainer concretos, utilizáveis por proxies e skeletons [SWS_CM_00118]. Se o mapeamento de um identificador formalmente válido falhar no deployment, a função segura contra exceções retorna o código de erro ComErrc::kInstanceIDNotResolvable dentro de um ara::core::Result. Os chamadores devem, portanto, avaliar o objeto Result antes da instanciação do serviço.

Contexto

O namespace ara::com::runtime disponibiliza funcionalidades centrais de tempo de execução para o gerenciamento de comunicação (ara::com) da AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_CommunicationManagement p. 39. Sua principal responsabilidade funcional reside no desacoplamento da arquitetura abstrata de software da infraestrutura concreta de comunicação em tempo de execução. Enquanto aplicações e componentes de software são vinculados a portas em suas interfaces por meio de identificadores abstratos de modelo (ara::core::InstanceSpecifier), o middleware de comunicação necessita de dados concretos de endereçamento e instanciação na forma de objetos ara::com::InstanceIdentifier para o estabelecimento de conexões [SWS_CM_00118].

A função ResolveInstanceIDs, declarada no cabeçalho ara/com/runtime.h, forma a ponte entre esses dois níveis de abstração [SWS_CM_00118]. Ela recebe um ara::core::InstanceSpecifier e o transforma em um ara::com::InstanceIdentifierContainer AUTOSAR_AP_SWS_CommunicationManagement p. 40. Interpretação: O mapeamento concreto baseia-se internamente, provavelmente, nas configurações de manifesto e de deployment armazenadas no contexto de execução, mantendo o código da aplicação portátil e livre de endereços de rede ou de protocolo codificados diretamente no código. Pergunta Q-8fab6de1c39a065a (aberta)

context app Applikation (Port) spec ara::core::InstanceSpecifier app->spec referenziert runtime ara::com::runtime::ResolveInstanceIDs spec->runtime Eingabeparameter container ara::com::InstanceIdentifierContainer runtime->container erzeugt Result instances ara::com::InstanceIdentifier container->instances beinhaltet n Matches instances->app Bindung Proxy/Skeleton

Diagrama de contexto: Enquadramento de ara::com::runtime entre a arquitetura da aplicação e o deployment de comunicação. Fontes: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement p. 39.

Caminho de utilização

O uso típico do namespace ara::com::runtime ocorre durante a fase de inicialização e inicialização de uma aplicação adaptativa, antes que relações de comunicação sejam estabelecidas por meio de service proxies ou service skeletons AUTOSAR_AP_SWS_CommunicationManagement p. 41. Um service consumer ou provider percorre, com isso, um caminho determinístico de resolução:

  • Determinar o especificador: a aplicação instancia ou referencia o identificador do tipo ara::core::InstanceSpecifier definido para a respectiva porta de comunicação.
  • Resolver instâncias: o identificador é passado para a função ara::com::runtime::ResolveInstanceIDs [SWS_CM_00118].
  • Verificar o resultado: a chamada retorna um objeto do tipo ara::core::Result<ara::com::InstanceIdentifierContainer>, que é verificado quanto a uma execução bem-sucedida ou estados de erro [SWS_CM_00118].
  • Processar o contentor: em caso de sucesso, o ara::com::InstanceIdentifierContainer contém um número de identificadores de instância que é proporcional ao número de ocorrências encontradas no deployment [SWS_CM_00118]. A aplicação pode selecionar especificamente uma instância ou iterar sobre todas as instâncias disponíveis.
  • Instanciar proxy ou skeleton: os objetos ara::com::InstanceIdentifier resolvidos são subsequentemente utilizados para criar instâncias concretas de proxy ou skeleton AUTOSAR_AP_SWS_CommunicationManagement p. 42.
Resolução de instância via ara::com::runtime::ResolveInstanceIDsApplikationara::com::runtimeDeployment-RegistryResolveInstanceIDs(instanceSpecifier)Instanzzuordnung abfragenKonfigurierte InstanceIdentifiersaltTreffer gefundenPreencher InstanceIdentifierContainerResult(InstanceIdentifierContainer)Nenhum mapeamento disponívelResult::FromError(ComErrc::kInstanceIDNotResolvable)

Diagrama de sequência: fluxo de chamada e processamento da resolução de instâncias via ResolveInstanceIDs. Fontes: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement p. 41.

Cenários de erro

As interfaces no namespace ara::com::runtime seguem o paradigma de tratamento de erros robusto e livre de exceções de toda a plataforma. De acordo com a especificação, ResolveInstanceIDs está declarado como noexcept e possui o nível de segurança contra exceções exception safe [SWS_CM_00118]. Por conseguinte, os erros nunca são sinalizados através de exceções C++, sendo integralmente transportados através da mónada de erro ara::core::Result AUTOSAR_AP_SWS_CommunicationManagement p. 47.

O cenário de erro central especificado diz respeito ao código de erro ComErrc::kInstanceIDNotResolvable [SWS_CM_00118]. Este erro ocorre quando o ara::core::InstanceSpecifier transmitido é formalmente válido, mas não pode ser associado a nenhum ara::com::InstanceIdentifier existente na configuração atual do sistema ou no manifesto [SWS_CM_00118]. Na prática, isto aponta para discrepâncias entre a modelação e o deployment, por exemplo, se um fornecedor de serviços não tiver sido implementado noutra máquina ou se a vinculação (binding) estiver em falta no manifesto. Para este erro aplica-se a semântica de reversão (rollback_semantics): não são criados estados parciais nem vinculados recursos, de modo que o chamador pode verificar a configuração ou transitar para um estado de erro definido [SWS_CM_00118].

Este guia baseia-se nas especificações da AUTOSAR Adaptive Platform Release R25-11.

Funções

Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.

ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;

Documentação das funções livres

função ResolveInstanceIDs [SWS_CM_00118] Upstream: RS_CM_00200, RS_AP_00114, RS_AP_00115, RS_AP_00120, RS_AP_00121, RS_AP_00119, RS_AP_00127, RS_AP_00137

ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;

Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.

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

A função síncrona ResolveInstanceIDs no namespace ara::com::runtime ([SWS_CM_00118]) resolve um identificador baseado em modelo do tipo ara::core::InstanceSpecifier em instâncias técnicas concretas. Como resultado, retorna um ara::core::Result<ara::com::InstanceIdentifierContainer> que contém os ara::com::InstanceIdentifier associados (EXP ARAComAPI §4 «InstanceSpecifier Resolution»).

O contentor reflete, assim, o deployment configurado:

Em caso de erro, o ara::core::Result retorna o código de erro ComErrc::kInstanceIDNotResolvable se o InstanceSpecifier for formalmente válido, mas não tiver podido ser associado a nenhum InstanceIdentifier existente ([SWS_CM_00118]). A função está declarada como noexcept e segura contra exceções.

Em cenários de aplicação típicos, a chamada direta não é necessária, uma vez que as APIs de proxy e skeleton disponibilizam sobrecargas que aceitam diretamente InstanceSpecifier (EXP ARAComAPI §4 «InstanceSpecifier Resolution»). A resolução manual serve sobretudo para cenários avançados nos quais InstanceIdentifier específicos de tecnologia são trocados entre processos ou bindings são selecionados deliberadamente (EXP ARAComAPI §4 «InstanceSpecifier Resolution»).

Este texto foi gerado por uma IA com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/com/runtime.h"
Scopenamespace ara::com::runtime
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
metaModelIdentifierThe ara::core::InstanceSpecifier to be translated.

Rückgabewert

TypBeschreibung
ara::core::Result<ara::com::InstanceIdentifierContainer >An ara::com::InstanceIdentifierContainer if successful, otherwise an error code indicating the error

Fehler

FehlercodeBeschreibung
ComErrc::kInstanceIDNotResolvablerollback_semantics The ara::core::InstanceSpecifier is valid but could not be resolved/mapped to an existing ara::com:: InstanceIdentifier
Siehe auch: [SWS_CORE_08001]

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

Record
AUTOSAR/AP/record/SWS_CM_00118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00118@rel:R25-11#254daf41
Content hash
254daf41
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00118
Status: valid/unmigrated Version: rel:R25-11#7fda17bf Versionshistorie & Revisions (1 transition, 8 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_CM_00118@rel:R25-11#7fda17bf
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0f70035f2026-09-30
  • R19-11rel:R19-11#f7400f912026-10-14
  • R20-11rel:R20-11#41c24bfc2026-10-14
  • R21-11rel:R21-11#29fd954c2026-10-14
  • R22-11rel:R22-11#e6a302622026-10-14
  • R23-11rel:R23-11#2a18d23a2026-10-14
  • R24-11rel:R24-11#09c394e82026-10-14
  • R25-11rel:R25-11#7fda17bf2026-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