DEENESPTFRRUARHIKOZHNL

пространство имён ara::com::runtime

Руководство пользователяСОЗДАНО ИИ

Разрешает абстрактные спецификаторы экземпляров во время выполнения в конкретные идентификаторы для сервисной коммуникации.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4a9d404013ef Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Разрешает абстрактные спецификаторы экземпляров во время выполнения в конкретные идентификаторы для сервисной коммуникации.

Пространство имен ara::com::runtime предоставляет центральные сервисы времени выполнения для разрешения коммуникационных конечных точек в управлении коммуникацией AUTOSAR_AP_SWS_CommunicationManagement с. 39. Его ключевая функция ResolveInstanceIDs транслирует абстрактные идентификаторы модели типа ara::core::InstanceSpecifier в конкретные ara::com::InstanceIdentifierContainer, применимые для прокси и скелетонов [SWS_CM_00118]. Если сопоставление формально действительного идентификатора в развертывании завершается неудачно, эта безопасная относительно исключений функция возвращает код ошибки ComErrc::kInstanceIDNotResolvable внутри ara::core::Result. Поэтому вызывающие стороны должны проверять объект результата перед инстанцированием сервиса.

Контекст

Пространство имен ara::com::runtime предоставляет центральные функциональные возможности времени выполнения для управления коммуникацией (ara::com) AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_CommunicationManagement с. 39. Его основная функциональная обязанность заключается в разделении абстрактной архитектуры программного обеспечения и конкретной коммуникационной инфраструктуры во время выполнения. В то время как приложения и программные компоненты в своих интерфейсах привязаны к портам через абстрактные идентификаторы модели (ara::core::InstanceSpecifier), промежуточному программному обеспечению коммуникации для установления соединений требуются конкретные данные адресации и инстанцирования в виде объектов ara::com::InstanceIdentifier [SWS_CM_00118].

Объявленная в заголовке ara/com/runtime.h функция ResolveInstanceIDs образует мост между этими двумя уровнями абстракции [SWS_CM_00118]. Она принимает ara::core::InstanceSpecifier и преобразует его в ara::com::InstanceIdentifierContainer AUTOSAR_AP_SWS_CommunicationManagement с. 40. Интерпретация: конкретное сопоставление внутренне, вероятно, основывается на конфигурациях манифеста и развертывания, сохраненных в контексте выполнения, благодаря чему код приложения остается переносимым и свободным от жестко заданных сетевых или протокольных адресов. Вопрос Q-8fab6de1c39a065a (открытый)

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

Контекстная диаграмма: позиционирование ara::com::runtime между архитектурой приложения и развертыванием коммуникации. Источники: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement с. 39.

Путь использования

Типичное использование пространства имен ara::com::runtime происходит на этапе инициализации и запуска адаптивного приложения до установления коммуникационных связей через сервисные прокси или сервисные скелетоны AUTOSAR_AP_SWS_CommunicationManagement с. 41. При этом потребитель или поставщик сервиса проходит детерминированный путь разрешения:

  • Определение спецификатора: приложение создает экземпляр или ссылается на определенный для соответствующего коммуникационного порта идентификатор типа ara::core::InstanceSpecifier.
  • Разрешение экземпляров: идентификатор передается функции ara::com::runtime::ResolveInstanceIDs [SWS_CM_00118].
  • Проверка результата: вызов возвращает объект типа ara::core::Result<ara::com::InstanceIdentifierContainer>, который проверяется на успешность выполнения или состояния ошибок [SWS_CM_00118].
  • Обработка контейнера: в случае успеха ara::com::InstanceIdentifierContainer содержит количество идентификаторов экземпляров, пропорциональное количеству найденных совпадений в развертывании [SWS_CM_00118]. Приложение может целенаправленно выбрать один экземпляр или выполнить итерацию по всем доступным экземплярам.
  • Инстанцирование прокси или скелетона: разрешенные объекты ara::com::InstanceIdentifier затем используются для создания конкретных экземпляров прокси или скелетона AUTOSAR_AP_SWS_CommunicationManagement с. 42.
Разрешение экземпляра через ara::com::runtime::ResolveInstanceIDsApplikationara::com::runtimeDeployment-RegistryResolveInstanceIDs(instanceSpecifier)Instanzzuordnung abfragenKonfigurierte InstanceIdentifiersaltTreffer gefundenЗаполнить InstanceIdentifierContainerResult(InstanceIdentifierContainer)Сопоставление отсутствуетResult::FromError(ComErrc::kInstanceIDNotResolvable)

Диаграмма последовательности: процесс вызова и обработки разрешения экземпляра через ResolveInstanceIDs. Источники: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement с. 41.

Сценарии ошибок

Интерфейсы в пространстве имен ara::com::runtime следуют общеплатформенной парадигме надежной обработки ошибок без использования исключений. В соответствии со спецификацией ResolveInstanceIDs объявлена как noexcept и обладает уровнем безопасности исключений exception safe [SWS_CM_00118]. Поэтому ошибки никогда не сигнализируются через исключения C++, а полностью передаются через монаду ошибок ara::core::Result AUTOSAR_AP_SWS_CommunicationManagement с. 47.

Центральный специфицированный сценарий ошибки касается кода ошибки ComErrc::kInstanceIDNotResolvable [SWS_CM_00118]. Эта ошибка возникает, если переданный ara::core::InstanceSpecifier формально действителен, однако в текущей системной конфигурации или манифесте не может быть сопоставлен ни с одним существующим ara::com::InstanceIdentifier [SWS_CM_00118]. На практике это указывает на расхождения между моделированием и развертыванием, например, если поставщик сервиса не был развернут на другой машине или в манифесте отсутствует привязка. Для этой ошибки действует семантика отката (rollback_semantics): промежуточные состояния не создаются и ресурсы не связываются, благодаря чему вызывающая сторона может проверить конфигурацию или перейти в определенное состояние ошибки [SWS_CM_00118].

Настоящее руководство основано на спецификациях AUTOSAR Adaptive Platform Release R25-11.

Функции

ResolveInstanceIDs функция

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;

Документация свободных функций

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6e1dc546a5e1 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция ResolveInstanceIDs в пространстве имен ara::com::runtime ([SWS_CM_00118]) разрешает модельный идентификатор типа ara::core::InstanceSpecifier в конкретные технические экземпляры. В качестве результата она возвращает ara::core::Result<ara::com::InstanceIdentifierContainer>, содержащий сопоставленные ara::com::InstanceIdentifier (EXP ARAComAPI §4 «InstanceSpecifier Resolution»).

Контейнер при этом отображает сконфигурированное развертывание (deployment):

  • Один элемент представляет стандартный случай однозначной технической привязки.
  • Несколько элементов появляются, когда интегратор настроил Multi-Binding, например для альтернативных привязок на стороне сервера или для концепций отказоустойчивости (fail-over) на стороне клиента (EXP ARAComAPI §4 «InstanceSpecifier Resolution»).
  • Пустой контейнер указывает на отсутствие сопоставления (mapping) и, следовательно, на ошибку конфигурации со стороны интегратора (EXP ARAComAPI §4 «InstanceSpecifier Resolution»).

В случае ошибки ara::core::Result возвращает код ошибки ComErrc::kInstanceIDNotResolvable, если InstanceSpecifier формально валиден, но не может быть сопоставлен ни с одним существующим InstanceIdentifier ([SWS_CM_00118]). Функция объявлена как noexcept и безопасная относительно исключений.

В типичных сценариях применения прямой вызов не требуется, так как API прокси и скелетона предоставляют перегрузки, которые принимают InstanceSpecifier напрямую (EXP ARAComAPI §4 «InstanceSpecifier Resolution»). Ручное разрешение служит прежде всего для продвинутых сценариев, в которых аппаратно-зависимые InstanceIdentifier передаются между процессами или выполняется целевой выбор привязок (EXP ARAComAPI §4 «InstanceSpecifier Resolution»).

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность 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#2d36fd76
Content hash
2d36fd76
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