Служит для предоставления службы на стороне сервера и обработки входящих вызовов методов.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9f566e4418f7ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит для предоставления службы на стороне сервера и обработки входящих вызовов методов.
Класс <SI-Namespace>::skeleton::<SI>Skeleton служит серверной основой для предоставления службы в AUTOSAR Adaptive Platform и привязывает события, поля, а также методы к middleware. После инстанциации с идентификатором экземпляра служба становится доступной для потребителей в сети с помощью OfferService() и может быть отозвана с помощью StopOfferService()[SWS_CM_00101], [SWS_CM_00111]. В зависимости от сконфигурированного режима обработки входящие вызовы методов либо обрабатываются на основе событий, либо должны активно инициироваться приложением через опрос (polling). Поскольку операции копирования удалены, владение экземпляром строго сохраняется за создающим приложением службы.
Контекст
Шаблонный класс <SI-Namespace>::skeleton::<SI>Skeleton образует серверную конечную точку для предоставления Service Interface на AUTOSAR Adaptive Platform. Выступая связующим звеном между логикой приложения и уровнем связи, skeleton инкапсулирует специфическую для middleware привязку и предоставляет типизированные элементы интерфейса. Для этого класс объявляет переменные-члены для событий через events::<Event>[SWS_CM_99557], для полей через fields::<Field>[SWS_CM_99558], для триггеров через triggers::<Trigger>[SWS_CM_99559], а также для выходных параметров методов через <MethodOutArgType>[SWS_CM_11550]. Интерпретация: для предоставления фактической функциональности службы приложение службы, как правило, наследует конкретный класс от <SI>Skeleton для полной реализации методов интерфейса. Вопрос Q-0cd48946e67c75b4 (открытый)
Жизненный цикл
Инстанциация skeleton осуществляется с заданием сопоставления экземпляра и режима обработки для вызовов методов (ara::com::MethodCallProcessingMode, по умолчанию kEvent). Допустимые конструкторы принимают ara::core::InstanceSpecifier[SWS_CM_00152], отдельный ara::com::InstanceIdentifier[SWS_CM_00130] или множество идентификаторов через ara::com::InstanceIdentifierContainer[SWS_CM_00153]. Поскольку идентичность конечной точки службы уникальна, конструктор копирования [SWS_CM_00134] и оператор присваивания копированием [SWS_CM_11548] явно удалены (delete). Однако ресурсы могут быть переданы через конструктор перемещения [SWS_CM_00135], а также оператор присваивания перемещением [SWS_CM_11549].
Непосредственно после конструирования экземпляр службы создан локально, но еще не виден в сети связи. Публикация для потребителей службы происходит только при вызове OfferService()[SWS_CM_00101], EXP_ARAComAPI с. 10. Если служба больше не должна предлагаться, StopOfferService() отзывает предоставление [SWS_CM_00111], EXP_ARAComAPI с. 10. После этого skeleton можно предложить повторно или уничтожить через виртуальный деструктор ~<SI>Skeleton()[SWS_CM_11370].
Регулярный процесс предоставления службы подразделяется на следующие шаги:
Конфигурация и регистрация обработчиков: до предложения службы могут быть заданы специфичные для приложения обработчики. С помощью SetTransportFaultConditionHandler() обработчик ошибок транспорта регистрируется либо напрямую [SWS_CM_00093], либо с выделенным исполнителем для асинхронных задач [SWS_CM_00094]; при необходимости его можно удалить с помощью UnsetTransportFaultConditionHandler()[SWS_CM_00095]. Сквозную обработку ошибок (End-to-End) можно переопределить через виртуальный метод E2EErrorHandler()[SWS_CM_10470].
Предложение службы: приложение службы вызывает OfferService()[SWS_CM_00101]. Успешный вызов возвращает пустой ara::core::Result<void> и активирует экземпляр службы в сети.
Обработка входящих запросов: если skeleton был инстанциирован в режиме MethodCallProcessingMode::kPoll, приложение должно активно выполнять ожидающие вызовы клиентов путем вызова ProcessNextMethodCall()[SWS_CM_00199]. Вызов метода выполняется в контексте этого потока; возвращаемое значение сигнализирует, есть ли еще ожидающие вызовы.
Завершение службы: перед уничтожением экземпляра предложение прекращается с помощью StopOfferService()[SWS_CM_00111].
При использовании класса skeleton необходимо учитывать различные сценарии ошибок и предусловия:
Нарушения при конструировании: если авторизация через Grant Enforcement завершается неудачно, конструирование прерывается с InsufficientPermissionsViolation[SWS_CM_00130], [SWS_CM_00152], [SWS_CM_00153]. Передача недопустимого режима обработки приводит к WrongMethodCallProcessingModeViolation. Если используется InstanceSpecifier, несогласованности модели или множественные назначения могут вызывать ошибки InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation или InstanceSpecifierAlreadyInUseViolation[SWS_CM_00152].
Сбой предложения службы: если OfferService() завершается сбоем, возвращается код ошибки из ara::com::ComErrc[SWS_CM_00101]: ComErrc::kFieldValueNotInitialized (поле не было предварительно инициализировано через Update()), ComErrc::kFieldSetHandlerNotSet (отсутствует обязательный set-обработчик поля) или ComErrc::kCommunicationFailure (ошибка соединения или безопасности сетевой привязки).
Нарушение режима обработки: вызов ProcessNextMethodCall() инициирует WrongMethodCallProcessingModeViolation, если skeleton был сконфигурирован не для kPoll, а для kEvent или kEventSingleThread[SWS_CM_00199].
Недопустимые обработчики ошибок: если в SetTransportFaultConditionHandler() передается несуществующий или пустой вызываемый объект (callable), это приводит к InvalidHandlerViolation[SWS_CM_00093], [SWS_CM_00094].
Ошибки E2E и повреждение данных: при приеме ошибочных сообщений вызывается E2EErrorHandler() с соответствующим ComE2EErrc[SWS_CM_10470]. Если речь идет об ошибке CRC, DataID также может быть поврежден, так что приложение не должно классифицировать переданный идентификатор как надежный.
Ошибки уничтожения: если при уничтожении skeleton еще имеются открытые выборки данных (data samples), деструктор аварийно завершает работу с DanglingSamplesViolation[SWS_CM_11370].
Настоящее руководство основано исключительно на требованиях спецификации AUTOSAR Adaptive Platform R25-11.
Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler.
Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == kPoll The pending service method (see [SWS_CM_00191] or [SWS_CM_90434]) is executed in the context of the call to ProcessNextMethodCall().
Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a9ce66768cdfПроисхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Метод OfferService() вызывается на экземпляре скелетон-класса, чтобы предложить предоставленный сервис в системе и сделать его доступным для обнаружения потребителями через Service Discovery [SWS_CM_00101], ARAComAPI §6.5 «Service Discovery». Вызов выполняется без параметров и синхронно, как только реализация сервиса полностью инстанцирована и приведена в рабочее состояние AUTOSAR_AP_EXP_ARAComAPI §5.4.4 «Offering Service instance». Функция объявлена как noexcept и возвращает ara::core::Result<void>[SWS_CM_00101].
Предложение является обязательным условием для функциональной коммуникации через методы, события, поля или триггеры AUTOSAR_AP_EXP_ARAComAPI §4.2 «Means of Communication». Если, например, попытаться отправить триггер без предварительного предложения, это завершится ошибкой с ComErrc::kServiceNotOffered[SWS_CM_00721]. В отношении параллелизма действует следующее: как только вызывается OfferService(), входящие вызовы методов уже могут доставляться экземпляру сервиса — даже если вызов OfferService() еще не завершился AUTOSAR_AP_EXP_ARAComAPI §5.4.4 «Offering Service instance».
Если предложение завершается неудачно, возвращаемый ara::core::Result содержит соответствующий код ошибки из ComErrc[SWS_CM_00101], [SWS_CM_10432]:
ComErrc::kFieldValueNotInitialized: по меньшей мере одно сконфигурированное значение поля еще не было инициализировано до предложения [SWS_CM_00101].
ComErrc::kFieldSetHandlerNotSet: для поля с поддержкой сеттера еще не был зарегистрирован обработчик через RegisterSetHandler()[SWS_CM_00101].
ComErrc::kCommunicationFailure: сетевая привязка сообщает об устранимой ошибке коммуникации или о сбое защищенной коммуникации [SWS_CM_00101].
• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc
Fehler
Fehlercode
Beschreibung
ComErrc::kFieldValueNotInitialized
rollback_semantics Field value has yet not been initialized via Update() (see [SWS_CM_00128]
ComErrc::kFieldSetHandlerNotSet
rollback_semantics Field SetHandler has not been registered via RegisterSet Handler()
ComErrc::kCommunicationFailure
rollback_semantics The network binding reported a recoverable communications error or a secure communication failure
Request a governed re-review of this record. The record is not changed immediately.
Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == kPoll The pending service method (see [SWS_CM_00191] or [SWS_CM_90434]) is executed in the context of the call to ProcessNextMethodCall().
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 34fad791a392ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Метод ProcessNextMethodCall() служит поставщикам сервисов в скелетоне для детерминированной обработки входящих вызовов методов в режиме поллинга [SWS_CM_00199]. Его разрешается использовать исключительно в том случае, если экземпляр скелетона был сконфигурирован с режимом ara::com::MethodCallProcessingMode::kPollEXP ARAComAPI §2 «Polling».
Использование и семантика
Функция не принимает параметров и выполняет ожидающий запрос вызова метода синхронно в контексте потока вызывающей стороны [SWS_CM_00199], [SWS_CM_00191]. Это позволяет, в частности, приложениям реального времени обрабатывать запросы сервисов без неконтролируемых переключений контекста потока в пределах выделенного им бюджета времени EXP ARAComAPI §5.4 «ProcessNextMethodCall». Возвращаемое значение сигнализирует о результате выборки:
true: по меньшей мере один ожидающий запрос находился в очереди и был обработан [SWS_CM_00199].
Функция специфицирована как noexcept и exception safe [SWS_CM_00199]. Вызов на скелетоне, который был инстанцирован с kEvent или kEventSingleThread, представляет собой нарушение (WrongMethodCallProcessingModeViolation) [SWS_CM_00199]. Интерпретация: поскольку стандартные исключения C++ исключены благодаря noexcept, такое нарушение, вероятно, должно обрабатываться со стороны платформы как критическая ошибка времени выполнения. Вопрос Q-61661dbd6cc37bc7 (открытый)
Этот текст был сгенерирован автоматически. Все сведения опираются на спецификацию AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I2)
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5601f5155355ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Функция SetTransportFaultConditionHandler служит для регистрации обратного вызова типа ara::com::e2e::TransportFaultConditionHandler в пространстве имен класса Skeleton (<SI-Namespace>::skeleton::<SI>) [SWS_CM_00093]. Через этот обработчик сообщается о транспортных ошибках для всех методов соответствующего экземпляра сервиса AUTOSAR_AP_SWS_CommunicationManagement §7.4.1 «End-to-end communication protection for SOMEIP». Функция принимает вызываемый объект handler и не имеет возвращаемого значения (void) [SWS_CM_00093].
Обработка ошибок
Операция объявлена с noexcept и является исключениебезопасной (exception safe) [SWS_CM_00093]. Если переданная вызываемая сущность не существует или равна null, генерируется InvalidHandlerViolation[SWS_CM_00093]. В случае ошибки настроенный обработчик сообщает о возникших транспортных сбоях, таких как TransportFaultCondition::kSampleRejected, когда запросы отбрасываются из-за нехватки ресурсов или повреждения на транспортном уровне AUTOSAR_AP_SWS_CommunicationManagement §7.4.2.3 «Methods».
Параллелизм и ограничения
Интерпретация: поскольку данный базовый интерфейс не принимает контекст выполнения, обратный вызов, скорее всего, вызывается синхронно из внутреннего потока Communication Management. Вопрос Q-e4007fa72de6aa12 (открытый) Если требуется выполнение обработчика в определенном пуле потоков или воркере, следует использовать перегрузку с ExecutorT&& executor[SWS_CM_00094].
Взаимодействие
Регистрация централизованно привязывает обработку ошибок ко всем методам экземпляра Skeleton [SWS_CM_00093]. Она интегрируется в вышестоящую обработку ошибок ara::com:
В то время как методы Skeleton сообщают о транспортных ошибках через этот обработчик, методы клиента асинхронно сигнализируют о транспортных сбоях через свой результирующий ara::core::Future с ComErrc::kCommunicationFailure[SWS_CM_00090].
Для операций с полями (Get/Set) на уровне Skeleton существуют отдельные интерфейсы [SWS_CM_00096].
Execution Context overload for SetTransportFaultConditionHandler for all methods in a given Skeleton.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9140fdcb385aПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Шаблонная функция SetTransportFaultConditionHandler в пространстве имен класса скелетона служит для регистрации обработчика ошибок для транспортных ошибок всех методов экземпляра сервиса [SWS_CM_00094]. Она расширяет базовую функцию без параметров [SWS_CM_00093] контекстом выполнения:
Вызов и параметры: передаются вызываемый объект handler типа ara::com::e2e::TransportFaultConditionHandler, а также универсальная ссылка executor[SWS_CM_00094]. В этом объекте-экзекуторе должны запускаться любые асинхронные вычисления и выполнения колбэков. Функция не имеет возвращаемого значения.
Обработка ошибок: интерфейс объявлен как noexcept и специфицирован как безопасный по отношению к исключениям [SWS_CM_00094]. Если переданный вызываемый объект не существует или равен null, возникает InvalidHandlerViolation[SWS_CM_00094].
Взаимодействие: область действия охватывает все методы скелетона [SWS_CM_00094], в то время как для операций Get и Set полей предоставляются отдельные функции регистрации ([SWS_CM_00096], [SWS_CM_00097]). В сетевом биндинге DDS сконфигурированный обработчик сообщает о транспортных ошибках, таких как TransportFaultCondition::kSampleRejected[SWS_CM_00216]; на стороне клиента такие ошибки, напротив, сигнализируются через ComErrc::kCommunicationFailure в будущих результатах (futures) [SWS_CM_00090].
Параллелизм: интерпретация: передача экзекутора отделяет обработку ошибок от внутреннего контекста коммуникационного уровня; вероятно, регистрацию следует выполнять заблаговременно при инициализации скелетона до поступления первых вызовов методов. Вопрос Q-e56b2a1928cf32ad (открытый)
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I2)
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ee0471348c1bПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Конструктор [SWS_CM_00130] создает экземпляр скелетона сервиса на основе конкретного ara::com::InstanceIdentifier. Скелетон привязывает реализацию сервиса со стороны приложения к транспортному уровню Communication Management, чтобы распределенные потребители сервиса могли получить к нему доступ (ARAComAPI §5.1 «Proxy Skeleton Pattern»).
Через параметр mode определяется то, как обрабатываются входящие вызовы методов. В качестве значения по умолчанию задан событийно-ориентированный режим ara::com::MethodCallProcessingMode::kEvent[SWS_CM_00130]. Если вместо этого выбирается режим на основе опроса (polling), выполнение ожидающих вызовов методов происходит синхронно в контексте вызова ProcessNextMethodCall()[SWS_CM_00199].
Обработка ошибок и граничные условия
Функция конструктора объявлена с noexcept и не генерирует исключений C++ [SWS_CM_00130]. Возможные нарушения сигнализируются через систему времени выполнения: если создание отклоняется механизмом grant enforcement, возникает InsufficientPermissionsViolation; при передаче недопустимого режима обработки результатом является WrongMethodCallProcessingModeViolation[SWS_CM_00130]. Интерпретация: валидация режима обработки, по-видимому, происходит непосредственно во время выполнения конструктора. Вопрос Q-80e02c0079757082 (открытый)
Операции копирования для скелетона явно удалены [SWS_CM_00134], тогда как перемещающее конструирование поддерживается [SWS_CM_00135]. Чтобы сервис стал доступен для обнаружения в сети, после инстанцирования необходимо вызвать OfferService()[SWS_CM_00101] (ARAComAPI §6.5 «Service Discovery»). Перед уничтожением экземпляра [SWS_CM_11370] предоставление сервиса может быть снова прекращено с помощью StopOfferService()[SWS_CM_00111].
Данное указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R25-11.
Руководство разработчика реализации в подготовке (сложность I2)
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9052bf72bafdПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Конструктор создает экземпляр сервисного скелетона на основе идентификатора экземпляра [SWS_CM_00152]. Он служит для подключения конкретной реализации сервиса к транспортному уровню Communication Management. В качестве параметров передаются ara::core::InstanceSpecifier, а также опционально режим обработки ara::com::MethodCallProcessingMode, значением по умолчанию которого является kEvent[SWS_CM_00152].
Относительно обработки ошибок и поведения при исключениях конструктор объявлен как noexcept и exception safe [SWS_CM_00152]. При некорректных конфигурациях или отклонениях в моделировании специфицированы следующие нарушения (violations):
InstanceSpecifierMappingIntegrityViolation, если идентификатор не может быть разрешен в контексте выполнения или не указывает на PortPrototype [SWS_CM_00152].
PortInterfaceMappingViolation и ProcessMappingViolation, если тип сопоставления и тип интерфейса не совпадают [SWS_CM_00152].
InstanceSpecifierAlreadyInUseViolation, если InstanceSpecifier уже используется [SWS_CM_00152].
WrongMethodCallProcessingModeViolation, а также InsufficientPermissionsViolation при недостаточных правах [SWS_CM_00152].
Интерпретация: поскольку конструктор объявлен как noexcept, специфицированные нарушения, вероятно, распространяются во время выполнения не как сгенерированные исключения C++, а перехватываются платформенными проверками или принудительным применением прав (grant enforcement). Вопрос Q-f1a1a0baeb56e482 (открытый)
Для жизненного цикла и параллелизма действует правило: конструктор копирования удален [SWS_CM_00134], в то время как доступен конструктор перемещения [SWS_CM_00135]. Освобождение осуществляется через виртуальный деструктор [SWS_CM_11370]. После успешного конструирования сервис обычно предлагается в сети через [SWS_CM_00101] (OfferService). Если в качестве режима обработки был выбран kPoll, приложение должно явно обрабатывать входящие вызовы методов сервиса [SWS_CM_00191] через [SWS_CM_00199] (ProcessNextMethodCall).
Это указание по использованию было сгенерировано автоматически на основе спецификаций AUTOSAR для R25-11.
Руководство разработчика реализации в подготовке (сложность I2)
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of the executable, or it refers to a model element other than tegrityViolation a PortPrototype. PortInterfaceMap- The type of mapping does not match the expected type of Port pingViolation Interface: ServiceInterface referenced by a ServiceInstanceToPortPrototypeMapping. ProcessMappingVio- The type of mapping does not match the expected type of Port lation Interface
InstanceSpecifier- The constructor was called with an Instance Specifier already AlreadyInUseViola- tion WrongMethodCall- Wrong processing mode passed to constructor ProcessingModeVio- lation InsufficientPer- Refused by Grant Enforcement missionsViolation
Parameter (in)
Parameter
Beschreibung
instanceSpec
The specifier of a specific instance of a service.
mode
Mode (as per [SWS_CM_00301]) for processing incoming service method invocations. Default argument is kEvent.
Request a governed re-review of this record. The record is not changed immediately.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: cadca550210aПроисхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Использование
Конструктор инстанцирует скелет сервиса на основе контейнера идентификаторов экземпляров (instanceIDs) и связывает реализацию сервиса на стороне сервера с транспортным уровнем Communication Management [SWS_CM_00153], ARAComAPI §5.1 «Proxy Skeleton Pattern». Через параметр mode определяется способ обработки входящих вызовов методов; по умолчанию обработка осуществляется по событиям через kEvent[SWS_CM_00153]. В качестве альтернативы доступны конструкторы для отдельных идентификаторов экземпляров [SWS_CM_00130] или спецификаторов экземпляров [SWS_CM_00152].
Обработка ошибок и параллелизм
Функция объявлена как noexcept и специфицирована как безопасная относительно исключений (exception safe) [SWS_CM_00153]. Возможными нарушениями при создании являются WrongMethodCallProcessingModeViolation при передаче недопустимого режима обработки, а также InsufficientPermissionsViolation в случае сбоя проверки полномочий (Grant Enforcement) [SWS_CM_00153].
Если для mode сконфигурирована модель опроса (kPoll), серверное приложение должно синхронно обрабатывать ожидающие вызовы методов в контексте собственного потока посредством вызова ProcessNextMethodCall()[SWS_CM_00199]. Конструктор копирования класса скелета удален (delete) [SWS_CM_00134]; перемещение, напротив, поддерживается через конструктор перемещения [SWS_CM_00135].
Взаимодействие
После успешного инстанцирования сервис предоставляется для удаленных или локальных потребителей через OfferService()[SWS_CM_00101], ARAComAPI §6.5 «Service Discovery». Перед уничтожением скелета с помощью деструктора [SWS_CM_11370] предоставление сервиса следует прекратить через StopOfferService()[SWS_CM_00111]. Входящие вызовы методов возвращают на стороне сервера ara::core::Future[SWS_CM_00191].
Это указание по использованию было создано автоматически на основе спецификации AUTOSAR R25-11.
Руководство разработчика реализации в подготовке (сложность I2)
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5ee7b8c6b839ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Виртуальный деструктор ~<SI>Skeleton()[SWS_CM_11370] завершает жизненный цикл экземпляра скелетона сервиса. Сервисный скелетон как сгенерированный артефакт соединяет конкретную реализацию сервиса с транспортным уровнем Communication Management, благодаря чему потребители сервиса могут обращаться к предоставляемым методам и функциональности (ARAComAPI §5.1 «Proxy Skeleton Pattern»).
Уничтожение происходит синхронно при удалении производного класса реализации. Метод не принимает параметров и не объявляет возвращаемого значения. В отличие от конструкторов скелетона, таких как [SWS_CM_00130] или [SWS_CM_00152], деструктор в спецификации явно классифицирован как not exception safe[SWS_CM_11370].
Относительно обработки ошибок и граничных условий установлено, что при нарушении предусловия может возникнуть DanglingSamplesViolation[SWS_CM_11370]. Если сервис ранее предоставлялся вовне посредством OfferService()[SWS_CM_00101] (ARAComAPI §6.5 «Service Discovery»), перед вызовом деструктора, вероятно, потребуется вызвать метод StopOfferService()[SWS_CM_00111] для корректного завершения текущих коммуникационных отношений. Вопрос Q-c430a7f0fc838eba (открытый)
Для скелетона конструктор копирования удален [SWS_CM_00134], тогда как операции перемещения поддерживаются [SWS_CM_00135]. Текущие процессы обработки — например, выполнение ожидающих вызовов через ProcessNextMethodCall()[SWS_CM_00199] — должны быть завершены до начала уничтожения.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.
Руководство разработчика реализации в подготовке (сложность I1)
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f2e7dd4743d8Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Метод [SWS_CM_00111] завершает предложение экземпляра сервиса приложением-поставщиком сервиса в ara::com. Вызов выполняется без параметров на конкретном экземпляре скелетона в пространстве имён <SI-Namespace>::skeleton::<SI> и не имеет возвращаемого значения (EXP_ARAComAPI §5.4.1 «Skeleton Class API’s»).
Для использования и поведения во время выполнения действуют следующие условия:
Контекст вызова и предварительное условие: метод вызывается, когда ранее предоставленный посредством OfferService() экземпляр — например, вследствие изменений состояния — больше не должен быть доступен (EXP_ARAComAPI §5.4.4 «Offering Service instance»).
Контрактное обязательство (Contract): как только StopOfferService() возвращает управление, согласно контракту дальнейшие вызовы методов больше не пересылаются этому экземпляру сервиса (EXP_ARAComAPI §5.4.4 «Offering Service instance»).
Жизненный цикл и деструктор: если экземпляр сервиса всё ещё активно предлагается при вызове деструктора класса скелетона, деструктор в обязательном порядке выполняет StopOfferService() внутри себя (EXP_ARAComAPI §5.4.4 «Offering Service instance»).
Функция объявлена как noexcept и считается исключение-безопасной ([SWS_CM_00111]). Она не сигнализирует об ошибках ни через исключения, ни через сообщения об ошибках или коды возврата.
Это указание по использованию было курировано ИИ.
Руководство разработчика реализации в подготовке (сложность I2)
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал