DEENESPTFRRUARHIKOZHNL

класс {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton

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

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

Служит базовым классом для серверной реализации и предоставления методов сервисного интерфейса.

Класс служит серверным базовым классом для реализации сервисного интерфейса в ara::com, от которого наследуется приложение-поставщик сервиса. При создании через конструктор определяется, обрабатываются ли входящие вызовы методов по событиям или путем опроса [SWS_CM_00130]. Ошибочные процессы при объявленных исключениебезопасными методах сигнализируются через возвращаемый ara::core::Future в виде кода ошибки [SWS_CM_00191].

Контекст

Класс {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton служит в Adaptive Platform в модуле com сгенерированным абстрактным базовым классом для серверного предоставления сервисного интерфейса. Специфичный для приложения компонент поставщика сервиса наследуется от этого skeleton-класса для реализации функциональной бизнес-логики сервиса. Класс выступает посредником между конкретным приложением-поставщиком сервиса и коммуникационным промежуточным ПО или базовым протокольным связыванием, таким как SOME/IP (SWS CommunicationManagement §8.1 «Method invocation»). К партнерам по взаимодействию относятся приложение-поставщик сервиса, которое создает экземпляр и владеет им, сам skeleton-класс, а также коммуникационная инфраструктура, которая принимает входящие сервисные запросы, десериализует их и пересылает в skeleton ([SWS_CM_10306], [SWS_CM_10307]).

Context Provider Dienstanbieter-Implementierung Skeleton ServiceSkeleton Provider->Skeleton erbt von / implementiert Binding Kommunikations-Binding / Middleware Skeleton->Binding возвращает Future / результат Binding->Skeleton leitet Methodenaufrufe weiter

Контекстная диаграмма: взаимодействие приложения-поставщика сервиса, ServiceSkeleton и коммуникационного промежуточного ПО. Источники: [SWS_CM_10306], [SWS_CM_10307], SWS CommunicationManagement §8.1 «Method invocation».

Жизненный цикл

Создание экземпляра skeleton выполняется через конструктор, которому передается желаемый режим обработки ara::com::MethodCallProcessingMode [SWS_CM_00130]. Этот режим определяет стратегию параллелизма для поступающих вызовов методов: если настроен kEvent или kEventSingleThread, входящие вызовы методов вызываются коммуникационным промежуточным ПО непосредственно по событиям [SWS_CM_10306]. Если вместо этого передается kPoll, обработка выполняется приложением на основе опроса [SWS_CM_10307]. Интерпретация: экземпляр skeleton, предположительно, остается во владении приложения-поставщика сервиса на протяжении всего активного предоставления сервиса и уничтожается только при завершении работы сервиса. Вопрос Q-ce25321f79393024 (открытый)

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

Типичный сценарий включает реализацию чисто виртуальных методов производным классом поставщика и последующее выполнение при поступлении запросов. Для обычных вызовов методов (запрос-ответ) skeleton определяет интерфейс, возвращающий ara::core::Future с соответствующим объектом вывода [SWS_CM_00191], [SWS_CM_99556]. Для методов типа «отправил и забыл» (fire-and-forget) без ответа skeleton предоставляет чисто виртуальные операции с типом возвращаемого значения void [SWS_CM_90434]. При входящих запросах коммуникационное промежуточное ПО десериализует полезные данные и перенаправляет вызов в соответствии с настроенным режимом обработки конкретной реализации skeleton-класса ([SWS_CM_10306], [SWS_CM_00191]).

Вызов сервисного метода на SkeletonKommunikations-BindingServiceSkeletonDienstanbieter-ImplementierungEingehende Anfragenachricht (SOME/IP)Nutzdaten deserialisierenvirtual <Method>(inArgs)Выполнить бизнес-логикуara::core::Future<<Method>Output>Antwortnachricht bereitstellen

Диаграмма последовательности: процесс вызова метода через skeleton. Источники: [SWS_CM_00191], [SWS_CM_10306], SWS CommunicationManagement §8.1 «Method invocation».

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

Как методы типа «запрос-ответ», так и методы типа «отправил и забыл» (fire-and-forget) аннотированы на уровне интерфейса с помощью noexcept и объявлены исключениебезопасными ([SWS_CM_00191], [SWS_CM_90434]). Ошибки при обработке обычных вызовов методов не передаются через исключения C++; вместо этого возвращаемый ara::core::Future в случае ошибки передает соответствующий код ошибки типа ara::com::ComErrc или ApApplicationError [SWS_CM_00191]. Для методов «отправил и забыл» спецификацией не предусмотрены ни возвращаемые значения, ни стандартизированные коды ошибок [SWS_CM_90434].

Данное руководство было сгенерировано ИИ-ассистентом на основе спецификации AUTOSAR.

UML-диаграмма классов

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

G n__hierarchical_namespace_list_lower_skeleton____skeleton_____service_i379 { <service-interface-name>}Skeleton + <FnFMethod>() + <Method>()

Методы

<FnFMethod> функция

Provision of a fire-and-forget method (ClientServerOperation. fireAndForget ==TRUE)

virtual void {<fnfmethod-name>} ({<fnfmethod-in-arg-derived-type-0to N>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept=0;
<Method> функция

Provision of a method (ClientServerOperation. fireAndForget ==FALSE)

virtual ara::core::Future< {<method-name>}Output > {<method-name>} ( {<method-in-arg-derived-type-0toN>} {<method-in-arg-symbol-0toN>}) noexcept=0;

Документация методов

функция <FnFMethod> [SWS_CM_90434] Upstream: RS_CM_00215, RS_AP_00114

virtual void {<fnfmethod-name>} ({<fnfmethod-in-arg-derived-type-0to N>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept=0;

Provision of a fire-and-forget method (ClientServerOperation. fireAndForget ==TRUE)

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

API-функция [SWS_CM_90434] определяет чисто виртуальный интерфейс метода «fire-and-forget» на стороне сервера. Она является частью сгенерированного класса скелетона {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton и предоставляется через заголовочный файл {<si-namespace-derived-directory-path-lower>}/{<si-shortname-lower>}_skeleton.h (AUTOSAR_AP_SWS_CommunicationManagement §8.4.5.2.4.1 «{<fnfmethod-name>}»). Функция генерируется, как только в модели проектирования для ClientServerOperation конфигурируется атрибут ClientServerOperation.fireAndForget == TRUE.

Для реализации и поведения во время выполнения действуют следующие основные аспекты:

  • Семантика вызова и параметры: метод принимает входные параметры аналогично обычным методам согласно [SWS_CM_00191]. Поскольку речь идет о чисто односторонней связи, сигнатура имеет тип возвращаемого значения void. Вызывающему клиенту не передаются ни выходные параметры, ни возвращаемые значения.
  • Обработка ошибок и безопасность исключений: операция объявлена как noexcept=0 и, таким образом, специфицирована как строго исключениебезопасная (exception safe) ([SWS_CM_90434]). Не существует ни специфических для приложения кодов ошибок, ни иных каналов обратной связи; реализация сервиса не должна допускать выхода исключений C++ из метода.
  • Контекст выполнения и параллелизм: если скелетон работает в режиме ara::com::MethodCallProcessingMode == kPoll, обработка ожидающих вызовов [SWS_CM_90434] происходит детерминированно в контексте потока вызова ProcessNextMethodCall() (AUTOSAR_AP_SWS_CommunicationManagement с. 410). Вне режима опроса (polling) выполнение, вероятно, происходит параллельно во внутреннем рабочем потоке промежуточного программного обеспечения связи. Вопрос Q-08f014e191f9aab0 (открытый)

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "{<si-namespace-derived-directory-path-lower>}/{ <si-shortname-lower>}_skeleton.h"
Scopeclass {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
{<fnfmethod-in-arg-symbol-0toN>}As per {<method-in-arg-symbol-0toN>} in [SWS_CM_00191]

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_90434
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90434@rel:R25-11#6b77792d
Content hash
6b77792d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90434
Status: valid/unmigrated Version: rel:R25-11#f1dee805 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_90434@rel:R25-11#f1dee805
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#293042c22026-09-30
  • R19-11rel:R19-11#bbdaa18c2026-10-14
  • R20-11rel:R20-11#e392aff42026-10-14
  • R21-11rel:R21-11#e392aff42026-10-14
  • R22-11rel:R22-11#256b25262026-10-14
  • R23-11rel:R23-11#256b25262026-10-14
  • R24-11rel:R24-11#60298f242026-10-14
  • R25-11rel:R25-11#f1dee8052026-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

функция <Method> [SWS_CM_00191] Upstream: RS_CM_00211, RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< {<method-name>}Output > {<method-name>} ( {<method-in-arg-derived-type-0toN>} {<method-in-arg-symbol-0toN>}) noexcept=0;

Provision of a method (ClientServerOperation. fireAndForget ==FALSE)

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

Чисто виртуальная функция <Method> служит для предоставления метода на стороне поставщика внутри класса Skeleton для клиент-серверных операций без семантики fire-and-forget [SWS_CM_00191]. Разработчики приложений реализуют этот интерфейс в классе скелетона, производном от сервисного интерфейса, для приема входящих вызовов. В качестве входных параметров передаются все смоделированные аргументы, направление которых определено как in или inout [SWS_CM_00191].

Выполнение происходит асинхронно через возвращаемый тип ara::core::Future, который в случае успеха содержит типизированный объект Output со значениями результата [SWS_CM_00191], [SWS_CM_99556]. Метод специфицирован как noexcept и безопасный по отношению к исключениям; стандартизированные синхронные коды ошибок не предусмотрены [SWS_CM_00191]. Если при обработке возникает ошибка, реализация предоставляет ее асинхронно через ara::core::Future, либо в виде кода ошибки типа ara::com::ComErrc, либо в виде модельно-специфичного ApApplicationError [SWS_CM_00191].

Контекст вызова и поведение параллелизма зависят от режима обработки ara::com::MethodCallProcessingMode, который передается в конструктор ServiceSkeleton при инстанцировании [SWS_CM_00130]:

  • Если был сконфигурирован kEvent или kEventSingleThread, метод вызывается событийно-управляемым образом через middleware, как только соответствующее сообщение запроса SOME/IP было получено и десериализовано [SWS_CM_10306].
  • В режиме kPoll вызов, напротив, выполняется синхронизированно в потоке сервисного приложения, когда оно явно выполняет ProcessNextMethodCall() на экземпляре скелетона [SWS_CM_10307], [SWS_CM_00199].

Этот текст был создан ИИ и основан исключительно на данных спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "{<si-namespace-derived-directory-path-lower>}/{ <si-shortname-lower>}_skeleton.h"
Scopeclass {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
{<method-in-arg-symbol-0toN>}The symbol name of method argument[0..N] in the ordered list of method arguments, with ClientServerOperation. direction == in or direction == inout given by ClientServerOperation. ArgumentDataPrototype[0..N]. shortName

Rückgabewert

TypBeschreibung
ara::core::Future< {<method-name> }Output >• If successful: an ara::core::Future containing an Output object as per [SWS_CM_99556] • If unsuccessful: an ara::core::Future containing a corresponding ara::com::ComErrc or ApApplicationError.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CM_00191
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00191@rel:R25-11#6fa86e83
Content hash
6fa86e83
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00191
Status: valid/unmigrated Version: rel:R25-11#c5e59178 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_00191@rel:R25-11#c5e59178
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b57cf7ff2026-09-30
  • R19-11rel:R19-11#ef1fdf6b2026-10-14
  • R20-11rel:R20-11#0d8e3ab22026-10-14
  • R21-11rel:R21-11#e5b231ad2026-10-14
  • R22-11rel:R22-11#b1ef31032026-10-14
  • R23-11rel:R23-11#071cc7ef2026-10-14
  • R24-11rel:R24-11#95a8f1ee2026-10-14
  • R25-11rel:R25-11#c5e591782026-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