DEENESPTFRRUARHIKOZHNL

클래스 <SI-Namespace>::skeleton:: events::<Event>

사용자 가이드AI 생성

서비스 제공자가 구독 애플리케이션에 서버 측에서 이벤트를 전송할 수 있도록 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 61a657b4f5c6 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

서비스 제공자가 구독 애플리케이션에 서버 측에서 이벤트를 전송할 수 있도록 합니다.

클래스 <SI-Namespace>::skeleton::events::<Event>은(는) AUTOSAR Adaptive Platform의 서비스 제공자가 구독 애플리케이션에 이벤트 데이터를 발행하는 데 사용됩니다. 이벤트는 복사 기반으로 전송되거나 사전에 Allocate()을(를) 통해 할당된 버퍼를 사용하여 복사 없이 효율적으로 전송될 수 있습니다([SWS_CM_90438]). Send()을(를) 통한 전송 호출은 관련 서비스 인스턴스가 이전에 성공적으로 제공(offered)되었고 구성된 최소 전송 간격이 준수될 것을 반드시 요구합니다([SWS_CM_00162]).

컨텍스트

클래스 <SI-Namespace>::skeleton::events::<Event>은(는) AUTOSAR Adaptive Platform 내에서 서비스 이벤트를 발행하기 위한 서버 측 인터페이스를 나타냅니다. 서비스 애플리케이션(Skeleton)이 SampleType([SWS_CM_11400]) 타입의 업데이트된 이벤트 데이터를 모든 구독 클라이언트 애플리케이션에 비동기식으로 전송할 수 있도록 합니다([SWS_CM_00162]). Skeleton은 서비스 인스턴스의 검색과 이벤트 데이터의 물리적 분배를 담당하는 통신 계층(Communication Management)과 직접 상호작용합니다. 데이터 전송 외에도 Event 인스턴스는 현재 구독 상태를 모니터링하고 구독자 그룹의 변경 사항을 서비스 제공자에게 알립니다([SWS_CM_12008], [SWS_CM_12011]).

EventKontext Application Anwendungs-Skeleton Event <SI-Namespace>::skeleton::events::<Event> Application->Event Send() / Allocate() Event->Application SubscriptionState ComMgt Communication Management Event->ComMgt Datenweitergabe ComMgt->Event Abonnement-Zustand Subscribers Abonnierende Anwendungen ComMgt->Subscribers Event-Verteilung

컨텍스트 다이어그램: 서비스 제공자, Communication Management 및 구독자와 Event 클래스의 상호작용. 출처: [SWS_CM_00162], [SWS_CM_90437], [SWS_CM_12011]

수명 주기

Event 클래스의 인스턴스화는 상위 Skeleton 서비스 인스턴스와 함께 수행됩니다. Vermutlich Event 인스턴스의 수명 주기는 Skeleton의 수명 주기에 강하게 바인딩되어 있으므로, 이벤트 객체는 서비스가 생성된 후에만 사용 가능해지고 서비스 소멸과 함께 종료됩니다. 질문 Q-4e733f93c853a3eb (열림) 활성 데이터 전송 전에 서비스가 제공되어 있어야 하며, 서비스 제공 전에 시도되는 전송은 실패합니다([SWS_CM_00162]).

작동 단계 동안 인스턴스는 구독자 연결 상태를 반영합니다. GetSubscriptionState()을(를) 통해 현재 상태를 쿼리할 수 있습니다([SWS_CM_12011]). 상태 변경에 비동기적으로 반응하기 위해 애플리케이션은 SetSubscriptionStateChangeHandler()을(를) 사용하여 해당 콜백을 등록하며([SWS_CM_12008]), 선택적으로 실행기(Executor) 객체를 통해 특정 실행 컨텍스트에 연결할 수 있습니다([SWS_CM_12009]). 서비스 종료 또는 재구성 시 이 핸들러는 UnsetSubscriptionStateChangeHandler()을(를) 통해 등록 해제될 수 있습니다([SWS_CM_12010]). 모든 상태 쿼리 및 핸들러 메서드는 noexcept(으)로 선언되어 있으며 예외 안전성을 보장합니다([SWS_CM_12008], [SWS_CM_12011]).

사용 경로

이벤트 데이터 발행을 위해 서비스 애플리케이션에는 두 가지 원칙적인 전송 모드가 제공됩니다: 복사 기반 전송과 관리형 메모리를 통한 제로 카피(Zero-Copy) 방식입니다(EXP ara::com API 10쪽).

일반적인 사용 경로에서 서비스 제공자는 필요에 따라 먼저 구독 변경에 대한 콜백을 등록합니다([SWS_CM_12008]). 구독자가 존재하면 애플리케이션은 로컬 데이터를 생성하고 이를 값으로 Send()에 전달하며([SWS_CM_00162]), 이때 Communication Management가 데이터 사본을 생성하여 모든 구독자에게 전달합니다(EXP ara::com API 10쪽).

대안으로, 애플리케이션은 복사 오버헤드를 방지하기 위해 Allocate()을(를) 통해 통신 계층으로부터 ara::com::SampleAllocateePtr<SampleType> 형태의 메모리 버퍼를 직접 요청합니다([SWS_CM_90438], EXP ara::com API 10쪽). 버퍼를 채운 후 이는 Send()의 특수화된 오버로드를 통해 전송됩니다([SWS_CM_90437]). Interpretation: 호출 후 애플리케이션의 데이터에 대한 모든 추가 접근이 명시적으로 금지되므로, 전송과 함께 메모리에 대한 소유권이 Communication Management로 완전히 이전되는 것으로 보입니다([SWS_CM_90437]). 질문 Q-86aba8c6f9bf42e9 (열림)

스켈레톤에서의 이벤트 전송 흐름Anwendung (Skeleton)Event-ObjektCommunication ManagementUse Case: Handler-RegistrierungSetSubscriptionStateChangeHandler(handler)Abonnement-Handler registrierenUse Case: 변형 1: Allocate를 사용한 제로 카피 전송Allocate()Speicherpuffer reservierenSampleAllocateePtrSampleAllocateePtrPufferdaten schreibenSend(ptr)구독자에게 데이터 전송Result<void>Result<void>Use Case: 변형 2: 복사 기반 전송Send(data)복사본 생성 및 전송Result<void>Result<void>

시퀀스 다이어그램: 핸들러 등록 및 할당을 포함한 이벤트 전송의 일반적인 절차. 출처: [SWS_CM_12008], [SWS_CM_90438], [SWS_CM_90437], [SWS_CM_00162]

오류 시나리오

Send() 호출은 오류 발생 시 ara::com::ComErrc 타입의 해당 오류 코드를 포함하는 ara::core::Result<void>을(를) 반환합니다([SWS_CM_00162], [SWS_CM_90437]). 정의된 오류 사례는 다음과 같습니다:

  • ComErrc::kServiceNotOffered: 전송 시도 전에 서비스가 아직 OfferService()을(를) 통해 제공되지 않았습니다([SWS_CM_00162], [SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: 전송 호출이 너무 빠른 연속으로 발행되어 이벤트에 대해 구성된 최소 전송 간격(minimumSendInterval)을 밑돌았습니다([SWS_CM_00162], [SWS_CM_90437]).

또한 할당 및 핸들러 구성 시 사전 조건을 준수해야 합니다:

  • Allocate()은(는) 예외 안전(not exception safe)하지 않으며, 메모리 리소스가 부족할 경우 SampleAllocationViolation을(를) 발생시키고, 사용자 정의 할당자의 허용되지 않는 사용 시 AllocateUsageViolation을(를) 발생시킵니다([SWS_CM_90438]).
  • SetSubscriptionStateChangeHandler()은(는) 유효하고 호출 가능한 함수 객체를 필요로 합니다. 널 값이거나 존재하지 않는 핸들러가 전달되면 InvalidHandlerViolation이(가) 발생합니다([SWS_CM_12008], [SWS_CM_12009]).

이 가이드는 AUTOSAR Adaptive Platform R25-11 사양을 기반으로 합니다.

멤버 맵

클래스 다이어그램

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

G n_SI_Namespace___skeleton___events___Event_831 <Event> + Allocate() + Send() + GetSubscriptionState() + SetSubscriptionStateChangeHandler() + UnsetSubscriptionStateChangeHandler()

상세 보기

개요에서 항목을 선택하세요.

메서드

Allocate 함수

Allocating data for event transfer when Communication Management is responsible for the data.

Query ara::com::SubscriptionState of an event.

ara::com::SubscriptionState GetSubscriptionState () const noexcept;
Send 함수 2

Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications.

오버로드 Send 2
ara::core::Result< void > Send (<SSampleDerivedType> data) noexcept; SWS_CM_00162
ara::core::Result< void > Send (ara::com::SampleAllocateePtr< Sample Type > data) noexcept; SWS_CM_90437

Set/Register ara::com::SubscriptionState change handler

오버로드 SetSubscriptionStateChangeHandler 2
void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler) noexcept; SWS_CM_12008
template <typename ExecutorT> void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler, ExecutorT &&executor) noexcept; SWS_CM_12009

Unset/Deregister the ara::com::SubscriptionState change handler

void UnsetSubscriptionStateChangeHandler () noexcept;

타입 별칭

SampleType 타입 별칭

Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via the indirection of a DataTypeMap)

using SampleType = <SSampleCppidt>;

메서드 문서

함수 Allocate [SWS_CM_90438] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00115, RS_AP_00120

ara::com::SampleAllocateePtr< SampleType > Allocate ();

Allocating data for event transfer when Communication Management is responsible for the data.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: fc3608719061 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

메서드 Allocate은(는) Communication Management(ara::com)가 데이터 관리를 담당할 때 이벤트 데이터 전송을 위한 메모리를 할당하기 위해 이벤트에 대한 Skeleton 레벨에서 호출됩니다 ([SWS_CM_90438]; AUTOSAR_AP_EXP_ARAComAPI §5.4.1 “Skeleton Class API’s”; [SWS_CM_90438]). 이 메서드는 ara::com::SampleAllocateePtr<SampleType> 타입의 인스턴스를 반환합니다 ([SWS_CM_90438]). 이 포인터 타입은 개념적으로 std::unique_ptr<T>처럼 동작하므로 어느 시점에서든 하나의 주체만 포인터를 소유합니다 (ARAComAPI §6 “Event Allocate/Send sample Binding implementer hint”).

오류 처리 및 예외 안전성과 관련하여 Allocate은(는) not exception safe로 명시되어 있습니다 ([SWS_CM_90438]). 사양에는 두 가지 가능한 위반 사항(Violations)이 정의되어 있습니다:

  • SampleAllocationViolation: 데이터를 할당하기에 충분한 메모리 리소스가 없습니다 ([SWS_CM_90438]).
  • AllocateUsageViolation: 사용자 정의 할당자를 통해 잘못 할당되었습니다 ([SWS_CM_90438]).

Allocate 이면의 개념은 주로 판독기와 기록기 간의 엄격한 동기화를 전제로 하는 공유 메모리 기반 IPC 전송을 중심으로 Zero-Copy 메커니즘을 지원하는 것을 목표로 합니다 (ARAComAPI §6 “Event Allocate/Send sample Binding implementer hint”). 구현자는 배포 시 데이터 타입이 바이너리 호환되도록 구성되지 않았거나 감지 로직에 의해 배제되는 경우 직렬화 요구사항으로 인해 Zero-Copy가 무효화될 수 있음을 유의해야 합니다 (ARAComAPI §6 “Event Allocate/Send sample Binding implementer hint”).

이벤트 전송과의 상호 작용에서 Allocate을(를) 통해 얻은 메모리 포인터는 Send(ara::com::SampleAllocateePtr<SampleType> data)에 전달됩니다 ([SWS_CM_90437]). Send 호출 후에는 Communication Management가 구독 중인 모든 애플리케이션에 데이터를 전송하면 서비스 애플리케이션은 더 이상 데이터에 접근해서는 안 됩니다 ([SWS_CM_90437]).

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR 릴리스 R25-11의 사양 문서만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitnot exception safe
Verletzungen (Violations)SampleAllocation- Not enough memory resources can be allocated Violation AllocateUsageVio- The allocation was illegally done via custom allocator lation

Rückgabewert

TypBeschreibung
ara::com::SampleA ara::com::SampleAllocateePtr to an event sample AllocateePtr< Sample Type >

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

Record
AUTOSAR/AP/record/SWS_CM_90438
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90438@rel:R25-11#fbd422e9
Content hash
fbd422e9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90438
Status: valid/unmigrated Version: rel:R25-11#3059e6d8 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_90438@rel:R25-11#3059e6d8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b02a325f2026-09-30
  • R19-11rel:R19-11#b404edd72026-10-14
  • R20-11rel:R20-11#8f3783f62026-10-14
  • R21-11rel:R21-11#a234befb2026-10-14
  • R22-11rel:R22-11#340e44dd2026-10-14
  • R23-11rel:R23-11#340e44dd2026-10-14
  • R24-11rel:R24-11#2e4120f42026-10-14
  • R25-11rel:R25-11#3059e6d82026-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

함수 GetSubscriptionState [SWS_CM_12011]

ara::com::SubscriptionState GetSubscriptionState () const noexcept;

Query ara::com::SubscriptionState of an event.

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::SubscriptionStateThe state of the subscription (as per [SWS_CM_12008]).

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

Record
AUTOSAR/AP/record/SWS_CM_12011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12011@rel:R25-11#f711d95b
Content hash
f711d95b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12011
Status: valid/unmigrated Version: rel:R25-11#dec03137 Versionshistorie & Revisions (1 transition, 4 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_12011@rel:R25-11#dec03137
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#83254be02026-09-30
  • R23-11rel:R23-11#ca04b0b12026-10-14
  • R24-11rel:R24-11#504de02a2026-10-14
  • R25-11rel:R25-11#dec031372026-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

함수 Send [SWS_CM_00162] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00121

ara::core::Result< void > Send (<SSampleDerivedType> data) noexcept;

Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b00b88b264c7 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

[SWS_CM_00162] 함수는 서비스 제공자 측 <SI-Namespace>::skeleton::events::<Event> 내에서 모든 구독 애플리케이션으로 이벤트 데이터를 전송하는 데 사용됩니다. 이 변형에서는 데이터 할당에 대한 책임이 전적으로 사용하는 애플리케이션에 남아 있습니다. 매개변수 data을(를) 통해 데이터 객체가 전달되며, 이에 따라 바인딩 구현은 호출 중에 내부 복사본을 생성합니다(ARAComAPI, Figure 6.17 “BrakeEvent Class”). 동기식 메서드 호출이 반환된 후 애플리케이션은 원래 메모리 영역을 즉시 수정하거나 해제할 수 있습니다.

해당 메서드는 noexcept(으)로 선언되어 있으며 예외에 안전한 것으로 명시되어 있습니다. 성공 시 void를 포함하고 오류 시 [SWS_CM_10432]의 오류 코드를 보고하는 ara::core::Result<void>을(를) 반환합니다([SWS_CM_00162]):

  • ComErrc::kServiceNotOffered: 서비스 인스턴스가 아직 OfferService()을(를) 통해 제공되지 않은 경우 발생합니다.
  • ComErrc::kMinimumSendIntervalViolationError: 전송 요청이 구성된 최소 전송 간격(ServiceInterfaceDeploymentElement.minimumSendInterval)보다 빠르게 발행된 경우 발생합니다.

Allocate()을(를) 통해 획득한 ara::com::SampleAllocateePtr 타입의 포인터를 필요로 하는 제로 카피 대안 [SWS_CM_90437]과 달리, 이 호출은 프레임워크에 대한 메모리 바인딩을 필요로 하지 않습니다. [SWS_CM_00119]에 따라 동일한 전송 동작 및 동일한 오류 조건이 필드의 업데이트 메서드 Update에도 적용됩니다.

이 사용 지침은 명세를 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
dataThe data to send out to the subscribed applications.

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kServiceNotOfferedrollback_semantics Service has not yet been offered via OfferService()
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_00162
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00162@rel:R25-11#73504f3c
Content hash
73504f3c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00162
Status: valid/unmigrated Version: rel:R25-11#ba1342ed 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_00162@rel:R25-11#ba1342ed
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#862d13312026-09-30
  • R19-11rel:R19-11#13bfaa4c2026-10-14
  • R20-11rel:R20-11#1f8e5ce62026-10-14
  • R21-11rel:R21-11#dda704792026-10-14
  • R22-11rel:R22-11#d72ec9682026-10-14
  • R23-11rel:R23-11#eda889842026-10-14
  • R24-11rel:R24-11#ec951a632026-10-14
  • R25-11rel:R25-11#ba1342ed2026-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

함수 Send [SWS_CM_90437] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00121

ara::core::Result< void > Send (ara::com::SampleAllocateePtr< Sample Type > data) noexcept;

Send event where Communication Management is responsible for the data. The data is allocated using Allocate(). The application is not allowed to access the data after Communication Management sends it to all subscribing applications.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b8026be0eee1 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

Send 메서드는 서비스 스켈레톤(<SI-Namespace>::skeleton::events::<Event>)의 이벤트 인스턴스에서 호출됩니다([SWS_CM_90437]). 메모리 관리를 Communication Management가 담당하는 이벤트 데이터를 전송합니다. ara::com::SampleAllocateePtr<SampleType> 타입의 매개변수 data은(는) 이전에 Allocate()을(를) 통해 획득된 것이어야 합니다([SWS_CM_90437]). 이 포인터 타입은 의미상 std::unique_ptr처럼 동작하여 호출 시 데이터 소유권이 통신 계층으로 이전됩니다(ARAComAPI §6.17 “BrakeEvent Class”). 전달 후 송신 애플리케이션의 데이터에 대한 추가 접근은 모두 금지됩니다([SWS_CM_90437]).

오류 처리 및 제약 조건

해당 함수는 noexcept(으)로 선언되어 있으며 ara::core::Result<void>을(를) 반환합니다([SWS_CM_90437]). 전송이 실패하면 결과에 ara::com::ComErrc의 오류 코드가 포함됩니다([SWS_CM_10432]):

  • ComErrc::kServiceNotOffered: 관련 서비스가 사전에 OfferService()(으)로 아직 제공되지 않았습니다([SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: 서비스 요소에 대해 구성된 최소 전송 간격(minimumSendInterval)이 마지막 전송 이후 아직 경과하지 않았습니다([SWS_CM_90437]).

두 오류 사례 모두 롤백 시맨틱을 갖습니다([SWS_CM_90437]). 따라서 호출 전 서비스가 반드시 제공되어 있어야 하며, 연속적인 전송 호출은 구성된 최소 간격을 준수해야 합니다.

상호 작용 및 최적화

애플리케이션 관리 데이터가 전달되고 Communication Management에 의해 복사되는 [SWS_CM_00162] 시그니처와 비교하여, 이 변형은 공유 메모리를 통한 제로 카피 통신을 목표로 합니다(ARAComAPI §6.18 “Event Allocate/Send sample”). 이 경우 작성자와 판독자 간의 엄격한 동기화가 전제되며 통신 파트너 간의 가능한 직렬화 요구사항을 고려해야 합니다(ARAComAPI §6.18 “Event Allocate/Send sample”).

참고: 이 사용 지침은 사양 버전 R25-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
datathe data to send.

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kServiceNotOfferedrollback_semantics Service has not yet been offered via OfferService()
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_90437
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90437@rel:R25-11#e57c6ce1
Content hash
e57c6ce1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90437
Status: valid/unmigrated Version: rel:R25-11#b7d5aba8 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_90437@rel:R25-11#b7d5aba8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#396a1de42026-09-30
  • R19-11rel:R19-11#943893002026-10-14
  • R20-11rel:R20-11#a05235692026-10-14
  • R21-11rel:R21-11#928b87cd2026-10-14
  • R22-11rel:R22-11#7fc4ccbc2026-10-14
  • R23-11rel:R23-11#7b2bb5e12026-10-14
  • R24-11rel:R24-11#0010eeba2026-10-14
  • R25-11rel:R25-11#b7d5aba82026-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

함수 SetSubscriptionStateChangeHandler [SWS_CM_12008]

void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler) noexcept;

Set/Register ara::com::SubscriptionState change handler

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ae7a884485e1 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 SetSubscriptionStateChangeHandler은 이벤트의 구독 상태를 모니터링하기 위한 콜백 핸들러를 Skeleton 스코프(skeleton::events)에 등록합니다 [SWS_CM_12008]. 매개변수 handler은 [SWS_CM_00311]에 따른 SubscriptionStateChangeHandler 유형의 호출 가능한 객체여야 합니다. 메서드는 반환값을 제공하지 않으며 noexcept으로 지정되어 있습니다 [SWS_CM_12008].

Communication Management는 이벤트의 구독 상태가 변경되는 즉시 등록된 핸들러를 호출합니다 [SWS_CM_12012]. Skeleton 측에서는 활성 구독 수가 0보다 커지는 즉시 kSubscribed 상태로 [SWS_CM_12013], 또는 활성 구독이 더 이상 없는 경우 kNotSubscribed 상태로 호출됩니다 [SWS_CM_12014] SWS CommunicationManagement §7.5.4 “Query Service Event Subscription State on Skeleton side”.

오류 처리 및 동시성

이 작업은 exception safe으로 분류되어 있습니다 [SWS_CM_12008]. 전달된 Callable이 유효하지 않거나 null인 경우 InvalidHandlerViolation가 존재합니다 [SWS_CM_12008]. 해석: 함수가 예외를 발생시키지도 않고 오류 코드를 반환하지도 않으므로 이 사양 위반은 플랫폼별 런타임 메커니즘을 통해 가로채질 것으로 추정됩니다. 질문 Q-a7b7b54f0d538b40 (열림)

핸들러는 런타임에 덮어쓸 수 있습니다 [SWS_CM_12012]. 전용 스레드 또는 작업 컨텍스트에서의 실행을 위해 템플릿 매개변수 executor을 갖는 오버로드가 존재합니다 [SWS_CM_12009]. 스켈레톤의 트리거 요소를 위한 유사한 등록이 [SWS_CM_01110]에 정의되어 있습니다.

이 텍스트는 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerThe handler (as per [SWS_CM_00311]) that shall be called by Communication Management as soon as the ara::com:: SubscriptionState of the event has changed.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12008
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12008@rel:R25-11#dc34b461
Content hash
dc34b461
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12008
Status: valid/unmigrated Version: rel:R25-11#e64cfb4e Versionshistorie & Revisions (1 transition, 4 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_12008@rel:R25-11#e64cfb4e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5a03f4292026-09-30
  • R23-11rel:R23-11#d6b69d732026-10-14
  • R24-11rel:R24-11#a914158e2026-10-14
  • R25-11rel:R25-11#e64cfb4e2026-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

함수 SetSubscriptionStateChangeHandler [SWS_CM_12009]

template <typename ExecutorT> void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler, ExecutorT &&executor) noexcept;

As per [SWS_CM_12008] but the method shall execute in a provided context

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: db9c8806b4e9 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

템플릿 함수 SetSubscriptionStateChangeHandler은(는) 스켈레톤 레벨([SWS_CM_12009])의 이벤트 네임스페이스에서 수신되는 구독의 상태 변경을 위한 콜백을 등록하는 데 사용됩니다. Executor가 없는 기본 함수([SWS_CM_12008])와 비교하여, 등록된 핸들러가 실행될 실행 컨텍스트(executor)를 추가로 전달받습니다([SWS_CM_12009]). 이 함수는 반환값이 없으며, noexcept(으)로 선언되어 있고 예외 안전한 것으로 간주됩니다([SWS_CM_12009]).

오류 동작과 관련하여, 유효하지 않거나 null 값을 갖는 Callable을 전달하면 InvalidHandlerViolation이(가) 발생합니다([SWS_CM_12009]). 등록된 핸들러는 애플리케이션 런타임 중에 재호출을 통해 언제든지 덮어쓸 수 있습니다([SWS_CM_12012]).

Communication Management는 해당 이벤트에 대한 구독 상태가 변경되는 즉시 핸들러를 호출합니다(SWS CommunicationManagement §7.5.4 “Query Service Event Subscription State on Skeleton side”, [SWS_CM_12012]):

  • 활성 구독 수가 0에서 0보다 큰 값으로 증가하면 상태 kSubscribed(으)로 호출이 수행됩니다([SWS_CM_12013]).
  • 활성 구독자 수가 다시 0으로 감소하면 핸들러에 kNotSubscribed(으)로 통지됩니다([SWS_CM_12014]).

해석: executor을(를) 전달함으로써 스켈레톤 코드의 동시성 통지를 내부 통신 스레드와 깔끔하게 분리하기 위해 핸들러의 실행이 애플리케이션 자체의 스레드 또는 디스패칭 컨텍스트에 의도적으로 바인딩될 것으로 보입니다([SWS_CM_12009]). 질문 Q-b11f3bc97069f2ec (열림)

이 텍스트는 AI에 의해 작성되었으며 R25-11 릴리스의 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Template-Parameter

ParameterBeschreibung
ExecutorTAs per [SWS_CM_11360]

Parameter (in)

ParameterBeschreibung
handlerAs per [SWS_CM_12008]
executorAs per [SWS_CM_11360]

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12009
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12009@rel:R25-11#92b747c5
Content hash
92b747c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12009
Status: valid/unmigrated Version: rel:R25-11#2c78e37d Versionshistorie & Revisions (1 transition, 4 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_12009@rel:R25-11#2c78e37d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9ab0c0f92026-09-30
  • R23-11rel:R23-11#35fb91a02026-10-14
  • R24-11rel:R24-11#7040342f2026-10-14
  • R25-11rel:R25-11#2c78e37d2026-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

함수 UnsetSubscriptionStateChangeHandler [SWS_CM_12010]

void UnsetSubscriptionStateChangeHandler () noexcept;

Unset/Deregister the ara::com::SubscriptionState change handler

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7e38e0032e54 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

UnsetSubscriptionStateChangeHandler 함수는 네임스페이스 ::skeleton::events::{<event-name>}의 Skeleton 레벨에서 이벤트의 ara::com::SubscriptionState에 대해 이전에 등록된 상태 변경 핸들러의 등록을 취소하는 데 사용됩니다[SWS_CM_12010]. 함수는 전달 매개변수를 받지 않으며 반환값을 반환하지 않습니다(void)[SWS_CM_12010]. 포함은 헤더 #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"을(를) 통해 이루어집니다[SWS_CM_12010].

예외 동작과 관련하여 해당 메서드는 noexcept(으)로 선언되어 있으며 예외 안전(exception safe)으로 명시되어 있습니다[SWS_CM_12010]. 특정 오류 코드가 반환되거나 C++ 예외가 발생하지 않습니다[SWS_CM_12010]. 해석: 시그니처에 오류 피드백이 제공되지 않으므로, 등록 취소 시의 발생 가능한 내부 오류 상태는 커뮤니케이션 관리에서 내부적으로 가로챌 것으로 보입니다. 질문 Q-7e986a15e552ca19 (열림)

관련 인터페이스와의 상호 작용에서 핸들러 등록 취소를 위한 유사한 함수가 존재합니다:

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR Adaptive Release R25-11 사양 버전을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12010
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12010@rel:R25-11#54a879b3
Content hash
54a879b3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12010
Status: valid/unmigrated Version: rel:R25-11#05477f97 Versionshistorie & Revisions (1 transition, 4 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_12010@rel:R25-11#05477f97
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e1b9df132026-09-30
  • R23-11rel:R23-11#0217aa9b2026-10-14
  • R24-11rel:R24-11#1066f1922026-10-14
  • R25-11rel:R25-11#05477f972026-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

타입 별칭 문서

타입 별칭 SampleType [SWS_CM_11400] Upstream: RS_CM_00201, RS_AP_00114

using SampleType = <SSampleCppidt>;

Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via the indirection of a DataTypeMap)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
SymbolSampleType

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

Record
AUTOSAR/AP/record/SWS_CM_11400
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11400@rel:R25-11#e1eb4c09
Content hash
e1eb4c09
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11400
Status: valid/unmigrated Version: rel:R25-11#6376c0a1 Versionshistorie & Revisions (1 transition, 5 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_11400@rel:R25-11#6376c0a1
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#6078d79a2026-09-30
  • R22-11rel:R22-11#9e7787d62026-10-14
  • R23-11rel:R23-11#9e7787d62026-10-14
  • R24-11rel:R24-11#b98c990b2026-10-14
  • R25-11rel:R25-11#6376c0a12026-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