DEENESPTFRRUARHIKOZHNL

module ara::com — Communication Management

ModulegidsAI-GEGENEREERD

Biedt getypeerde interfaces voor de servicegeoriënteerde communicatie en abstraheert transportprotocollen.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 45902037e92f Herkomst Open vragen (2)
Causaal anker: R25-11 Geldig vanaf R25-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Biedt getypeerde interfaces voor de servicegeoriënteerde communicatie en abstraheert transportprotocollen.

De Functional Cluster Communication Management (ara::com) maakt de servicegeoriënteerde interactie tussen Adaptive-applicaties via gestandaardiseerde proxy- en skeleton-interfaces mogelijk (SWS_CommunicationManagement p. 55, ARAComAPI p. 1). Hij regelt de dynamische service discovery door middel van OfferService() en FindService() ([SWS_CM_00101], [SWS_CM_00122]) en stelt zowel synchrone als asynchrone methoden, events en fields met geïntegreerde E2E- en SecOC-beveiliging beschikbaar ([SWS_CM_00141], [SWS_CM_90420]). Bij tijdelijk verlies van een service vangt de middleware verbindingsonderbrekingen op en actualiseert bestaande proxy-objecten automatisch zodra deze weer beschikbaar zijn (ARAComAPI p. 32).

De Functional Cluster Communication Management (ara::com) vormt de ruggengraat van de servicegeoriënteerde architectuur (SOA) in het AUTOSAR Adaptive Platform en ontkoppelt applicatielogica via het proxy-skeleton-patroon van concrete overdrachtsprotocollen (SWS_CommunicationManagement p. 55, ARAComAPI p. 1). Uit formele interfacebeschrijvingen gegenereerde proxy-klassen aan consumentenzijde en skeleton-klassen aan providerzijde stellen methoden, events en fields beschikbaar via typeveilige C++-API's ([SWS_CM_00130], [SWS_CM_00131]).

Het aanbieden en dynamisch zoeken van services wordt afgehandeld via Service Discovery (SWS_CommunicationManagement p. 67). Een provider biedt zijn service aan via OfferService() ([SWS_CM_00101]), terwijl consumenten passende instanties synchroon via FindService() of asynchroon door middel van StartFindService() bepalen ([SWS_CM_00122], [SWS_CM_00123]). Daarbij kunnen instanties via ara::core::InstanceSpecifier modelgebaseerd worden geadresseerd en tijdens runtime worden omgezet in concrete ara::com::InstanceIdentifier ([SWS_CM_00118], [SWS_CM_00622]).

Service discovery en proxy-initialisatieConsumer AppProxyara::com MiddlewareSkeletonProvider AppOfferService()Registriere Service-Instanz (SOME/IP SD / IPC)StartFindService(Handler, InstanceSpecifier)Handler-Callback(ServiceHandleContainer)Proxy::Create(handle)Proxy-instantie (gereed voor communicatie)

Sequentiediagram: verloop van service offering, asynchroon zoeken en aanmaken van proxies. Bronnen: [SWS_CM_00101], [SWS_CM_00123], [SWS_CM_10438], AUTOSAR_EXP_SensorInterfaces p. 16

Voor de gegevensoverdracht ondersteunt ara::com request-response-methoden via ara::core::Future ([SWS_CM_00191], [SWS_CM_00196]) alsmede publish-subscribe-patronen voor events en fields (AUTOSAR_EXP_ARAComAPI p. 68). Abonnees registreren zich via Subscribe() ([SWS_CM_00141]) en lezen binnenkomende gegevens uit via GetNewSamples() ([SWS_CM_00701]). Om de prestaties te verbeteren, stelt de provider gegevens beschikbaar via Allocate() en draagt hij het eigendom via zero-copy over door middel van Send() ([SWS_CM_90437], [SWS_CM_90438]).

Voor de beveiliging van de overdracht integreert het platform end-to-end-bescherming (E2E), cryptografische authenticatie (SecOC) via Freshness Value Management (FVM) en signal-to-service-translation voor klassieke netwerken ([SWS_CM_90420], [SWS_CM_11288], [SWS_CM_10174], SWS_CommunicationManagement p. 222). Fouttoestanden worden op gestandaardiseerde wijze gesignaleerd via typeveilige foutdomeinen zoals ComErrorDomain en ComE2EErrorDomain ([SWS_CM_10432], [SWS_CM_10474]). Valt de verbinding met een service weg, dan verandert de status van de proxy naar kSubscriptionPending; na hernieuwde beschikbaarheid actualiseert de middleware de interne adressering transparant, zodat de communicatie wordt voortgezet zonder hernieuwde instantiëring van de proxy (ARAComAPI p. 32).

Rol en systeemarchitectuur van de servicegeoriënteerde communicatie

De Functional Cluster Communication Management (ara::com) vormt de informatietechnische ruggengraat van het AUTOSAR Adaptive Platform en realiseert de servicegeoriënteerde communicatie (Service-Oriented Architecture, SOA) tussen geïsoleerde applicatieprocessen en over regeleenheidgrenzen heen (SWS_CommunicationManagement p. 55). Kernprincipe is het strikte proxy-skeleton-ontwerppatroon (ARAComAPI p. 1): uit formele software-interfacebeschrijvingen (Service Interfaces) genereert een modelgebaseerde codegenerator getypeerde proxy-klassen voor serviceconsumenten en skeleton-klassen voor serviceproviders ([SWS_CM_00130], [SWS_CM_00131]). De applicatielogica communiceert uitsluitend met deze abstracties, terwijl protocolspecifieke bindings zoals SOME/IP, IPC of DDS en de serialisatie daarvan pas tijdens integratie- en deploymenttijd worden gekoppeld (AUTOSAR_AP_EXP_ARAComAPI p. 124).

Om te voldoen aan platformvereisten werkt ara::com nauw samen met andere functionele clusters (SWS_CommunicationManagement p. 34). Tijdens runtime bewaakt Execution Management de proceslevenscyclus, terwijl Identity and Access Management (IAM) via beleidsgebaseerde toegangscontroles (Policy Decision Point) ongeautoriseerde interacties op methode-, event- en field-niveau afweert (SWS_CommunicationManagement p. 215). Daarnaast worden beveiligingsincidenten rechtstreeks gemeld aan de EventReporter van de Intrusion Detection System Manager (IdSM) (SWS_CommunicationManagement p. 34).

ComArchitecture ConsumerApp Adaptive Application (Konsument) Proxy ara::com Proxy (Fassade) ConsumerApp->Proxy Methodenaufruf / Subscribe BindingClient Communication Binding (Client-Stack) Proxy->BindingClient Serialisierung Network Netzwerk / IPC Transport (SOME/IP, DDS, SHM) BindingClient->Network Datagramm / IPC BindingServer Communication Binding (Server-Stack) Network->BindingServer Empfang Skeleton ara::com Skeleton (Basisklasse) BindingServer->Skeleton Deserialisierung ProviderApp Adaptive Application (Provider) Skeleton->ProviderApp Method Dispatch / Events

Contextdiagram: inbedding van ara::com en ontkoppeling van de applicatieniveaus via bindings. Bronnen: SWS_CommunicationManagement p. 55, ARAComAPI p. 1

Service discovery en instantiëring via proxies en skeletons

De dynamische dienstbemiddeling (Service Discovery) regelt de totstandkoming van lokale en gedistribueerde communicatierelaties (SWS_CommunicationManagement p. 67). Een serviceprovider geeft zijn beschikbaarheid aan door OfferService() op het skeleton aan te roepen ([SWS_CM_00101]). Wanneer de service wordt beëindigd of de beschikbaarstelling wordt ingetrokken, trekt StopOfferService() het aanbod in ([SWS_CM_00111]). Consumenten bepalen passende service-instanties synchroon via FindService() of asynchroon via StartFindService() ([SWS_CM_00122], [SWS_CM_00123], ARAComAPI p. 103). Dit laatste registreert een FindServiceHandler, die bij elke wijziging in het instantielandschap wordt genotificeerd totdat de zoekopdracht via StopFindService() expliciet wordt beëindigd ([SWS_CM_00125], [SWS_CM_00383]).

Om broncode los te koppelen van vaste netwerk- en instantie-ID's, staat de interface adressering via abstracte modelpaden toe met behulp van ara::core::InstanceSpecifier ([SWS_CM_00622], [SWS_CM_00623], AUTOSAR_AP_EXP_ARAComAPI p. 124). De middleware vertaalt deze specificaties via het opgeslagen Service Instance Manifest naar concrete ara::com::InstanceIdentifier ([SWS_CM_00118], [SWS_CM_11520], ARAComAPI p. 1). Een gevonden service wordt als getypeerde descriptor (HandleType) in een ServiceHandleContainer beschikbaar gesteld ([SWS_CM_10383], AUTOSAR_EXP_SensorInterfaces p. 16). Via de statische factory-methode Proxy::Create() of de constructor creëert de consument een gebonden proxy-instantie voor verder gebruik van de functionaliteit ([SWS_CM_10438], [SWS_CM_00131]).

Service discovery en proxy-initialisatieConsumer AppProxyara::com MiddlewareSkeletonProvider AppOfferService()Registriere Service-Instanz (SOME/IP SD / IPC)StartFindService(Handler, InstanceSpecifier)Handler-Callback(ServiceHandleContainer)Proxy::Create(handle)Proxy-instantie (gereed voor communicatie)

Sequentiediagram: verloop van service offering, asynchroon zoeken en aanmaken van proxies. Bronnen: [SWS_CM_00101], [SWS_CM_00123], [SWS_CM_10438], AUTOSAR_EXP_SensorInterfaces p. 16

Interactiepatronen: methode-aanroepen en asynchrone verwerking

Methode-aanroepen representeren het synchrone en asynchrone request-response-paradigma. De client start methoden via de functie-aanroepoperator operator() op de proxy ([SWS_CM_00196]). Als returntype dient standaard een ara::core::Future, die het resultaat of een fouttoestand inkapselt ([SWS_CM_00191], ARAComAPI p. 1). De consument beslist flexibel over de synchronisatie: door blokkerend opvragen via get(), tijdgebewaking via wait_for() resp. wait_until() of door registratie van eventgebaseerde callback-routines door middel van then() (ARAComAPI p. 1). Voor zuiver unidirectionele meldingen zonder respons bestaan er fire-and-forget-methoden met void-returntype ([SWS_CM_90434], [SWS_CM_90435]).

Aan de providerzijde definieert de MethodCallProcessingMode de uitvoeringsstrategie voor binnenkomende aanroepen ([SWS_CM_00301], [SWS_CM_00130]). In de eventgestuurde modus (kEvent resp. kEventSingleThread) vindt de methode-aanroep direct plaats binnen een door de middleware beheerde worker-thread (AUTOSAR_SWS_CommunicationManagement p. 60). In de polling-modus (kPoll) regelt de applicatie de verwerkingstijdstippen deterministisch zelf door regelmatig ProcessNextMethodCall() aan te roepen ([SWS_CM_00199], EXP_SWArchitecture p. 68). De methode-implementatie genereert het resultaat intern via een ara::core::Promise en levert de gekoppelde future terug (ARAComAPI p. 1).

Methode-aanroep en dispatching-modiConsumer AppProxyara::com TransportSkeletonProvider Appoperator()(args)Teruggave ara::core::FutureRequest PDU sendenRequest empfangenaltMethodCallProcessingMode::kEventAsynchroner Methodenaufruf (Worker-Thread)MethodCallProcessingMode::kPollProcessNextMethodCall()Synchrone methode-aanroep in de applicatiethreadResultaat overdragen aan promiseResponse PDU sendenResponse empfangenFuture::get() levert resultaat

Sequentiediagram: methode-aanroep tussen proxy en skeleton onder kPoll- en kEvent-dispatching. Bronnen: [SWS_CM_00196], [SWS_CM_00199], AUTOSAR_SWS_CommunicationManagement p. 60

Event- en veldcommunicatie in het publish-subscribe-patroon

De distributie van continue datastromen en statuswijzigingen vindt plaats via events en fields in het publish-subscribe-patroon (SWS_CommunicationManagement p. 67). Een actieve subscriber meldt zijn interesse in ontvangst aan via Subscribe() onder opgave van het maximaal aan te houden aantal samples (maxSampleCount) ([SWS_CM_00141], [SWS_CM_12002]). De abonnementsstatus wordt opgevraagd via GetSubscriptionState() of asynchroon bewaakt via callbacks door middel van SetSubscriptionStateChangeHandler() ([SWS_CM_00310], [SWS_CM_00316], [SWS_CM_01110]). Het beëindigen van het abonnement vindt plaats via Unsubscribe() ([SWS_CM_00151]).

De gegevensontvangst kan eventgestuurd via SetReceiveHandler() of door periodiek uitlezen van de ontvangstbuffer plaatsvinden ([SWS_CM_00181], [SWS_CM_11356]). Met GetNewSamples() geeft de consument een functie-object (lambda) door, dat voor elk binnengekomen sample met een getypeerde SamplePtr wordt aangeroepen ([SWS_CM_00701], [SWS_CM_11610]). Om kopieeroverhead te voorkomen (zero-copy), stelt de skeleton geheugen beschikbaar via Allocate() en verzendt de getypeerde pointer SampleAllocateePtr onder volledige eigendomsoverdracht via Send() naar de transportlaag ([SWS_CM_90438], [SWS_CM_90437], [SWS_CM_00308], AUTOSAR_EXP_ARAComAPI p. 63, ARAComAPI p. 1).

Een field breidt het event-concept uit met getter- en setter-semantiek (AUTOSAR_EXP_ARAComAPI p. 68). Consumenten lezen het field via Get() of schrijven dit via Set() ([SWS_CM_00112], [SWS_CM_00113]). Aan de serverzijde worden deze verzoeken afgehandeld met RegisterGetHandler() resp. RegisterSetHandler() ([SWS_CM_00114], [SWS_CM_00116]). Als de server de status bijwerkt via Update(), fungeert het field automatisch als notifier en distribueert de wijziging naar alle geregistreerde abonnees ([SWS_CM_00119], ARAComAPI p. 1).

Publish-subscribe-verloop met zero-copy-allocatieProvider AppSkeletonMiddleware / BufferProxyConsumer AppSubscribe(maxSampleCount)Abonnement registrierenSetReceiveHandler(callback)Allocate()SampleAllocateePtrSend(std::move(ptr))Sample in buffer plaatsen / overdragenNotify receiveHandlerCallback aufrufenGetNewSamples(lambda)Lambda met SamplePtr uitgevoerd

Sequentiediagram: zero-copy-allocatie, event-publishing, subscription en GetNewSamples-consumptie. Bronnen: [SWS_CM_00141], [SWS_CM_00701], [SWS_CM_90437], AUTOSAR_EXP_ARAComAPI p. 63

Beveiliging, servicevertaling en platformintegratie

Voor veiligheidsrelevante en deterministische datastromen integreert ara::com End-to-End-beveiliging (E2E) en authenticatie conform AUTOSAR-standaarden (AUTOSAR_AP_TR_SystemTests p. 132). Via GetProfileCheckStatus() en GetE2EStateMachineState() kunnen consumenten de integriteits- en validatiestatus van ontvangen data controleren ([SWS_CM_90420], [SWS_CM_90421], [SWS_CM_11554]). Aan de serverzijde registreert de applicatie foutafhandelingsroutines via SetTransportFaultConditionHandler() om gestandaardiseerd te reageren op E2E- en transportdefecten op methodeniveau ([SWS_CM_00093], [SWS_CM_00094], [SWS_CM_00100], EXP_SWArchitecture p. 68).

De cryptografische integriteit en authenticiteit van externe berichten wordt gewaarborgd door Secure Onboard Communication (SecOC) (SWS_CommunicationManagement p. 222). Hiertoe bindt de middleware een uitwisselbare Freshness Value Management-bibliotheek (FVM) in, die via GetRxFreshness(), GetTxFreshness() en Initialize() freshness-waarden beheert ([SWS_CM_11288], [SWS_CM_11289], [SWS_CM_11290], SWS_CommunicationManagement p. 226). Diagnose- en beveiligingsfuncties bewaken of besturen de verificatie via specifieke interfaces zoals SetVerificationStatus() ([SWS_CM_19999], AUTOSAR_AP_EXP_SWArchitecture p. 70).

Voor interoperabiliteit met het AUTOSAR Classic Platform ondersteunt ara::com de signaalgebaseerde communicatie (Signal-to-Service Translation) (SWS_CommunicationManagement p. 146, TPS_ManifestSpecification p. 476). Conform [SWS_CM_10174] en [SWS_CM_80001] kunnen klassieke signaal-IPDU's en SOME/IP-berichten via dezelfde socket worden getransporteerd. Als er een signaalgebaseerde SecOC-configuratie aanwezig is, leest de middleware de beveiligingsparameters direct uit de PDU-triggering van het manifest ([SWS_CM_11346], SWS_CommunicationManagement p. 228).

SecurityPipeline IncomingPdu Eingehende Nachricht (SOME/IP / Signal-PDU) SecOcCheck SecOC-controle (authenticator / MAC) IncomingPdu->SecOcCheck SecOC konfiguriert E2eCheck E2E-controle (CRC, counter, Data ID) IncomingPdu->E2eCheck Kein SecOC FreshnessCheck FVM: Freshness Value Verifikation SecOcCheck->FreshnessCheck Authenticator geldig FaultHandler TransportFaultConditionHandler / ErrorDomain SecOcCheck->FaultHandler MAC ongeldig FreshnessCheck->E2eCheck Freshness geldig FreshnessCheck->FaultHandler Freshness ongeldig DispatchApp Overdracht aan applicatie / skeleton E2eCheck->DispatchApp E2E OK (ProfileCheckStatus::kOk) E2eCheck->FaultHandler E2E-Fehler (kRepeated, kWrongSequence)

Activiteitendiagram: E2E- en SecOC-beveiligingspipeline van inkomende berichten. Bronnen: [SWS_CM_90420], [SWS_CM_11288], SWS_CommunicationManagement p. 222

Gedrag in het foutgeval

Het foutbeheer van ara::com is gebaseerd op typeveilige foutdomeinen en returncodes van het AUTOSAR-core-framework ([SWS_CM_11334], [SWS_CM_11335]). Fouten van de algemene communicatielaag worden samengevat in de ComErrorDomain en gecodeerd via de enumerator ComErrc ([SWS_CM_10432]). Bij E2E-verificatiefouten signaleert de ComE2EErrorDomain via de enumeratiewaarde ComE2EErrc specifieke verificatiefouten zoals checksum-afwijkingen of ongeldige tellers ([SWS_CM_10474], [SWS_CM_12510], [SWS_CM_12511]). Voor SecOC-freshness-fouten bestaat analoog de ComSecOcFvmErrorDomain met ComSecOcFvmErrc ([SWS_CM_12521], [SWS_CM_12522]).

Als er tijdens runtime een verbindingsverbreking optreedt, wisselt de abonnementsstatus van de proxy van kSubscribed naar kSubscriptionPending ([SWS_CM_00310], [SWS_CM_00316], ARAComAPI p. 32). Methode-aanroepen mislukken in deze fase met een fout. Als de serviceprovider vervolgens terugkeert via Service Discovery, actualiseert de middleware de interne adressering van de proxy transparant, zonder dat de consument het proxy-object opnieuw hoeft te instantiëren; na succesvolle hersynchronisatie keert de status automatisch terug naar kSubscribed (ARAComAPI p. 32). Voor tijdslimieten en deadlinebewaking (Deadline Monitoring) is conform de systeemspecificatie de applicatiesoftware zelf verantwoordelijk (TPS_ManifestSpecification p. 504).

ProxyRecovery Initial Proxy erzeugt (kSubscribed) ServiceDown Dienst niet bereikbaar (kSubscriptionPending) Initial->ServiceDown Service geht offline / SD-Timeout Reconnected Dienst wiederhergestellt (kSubscribed) ServiceDown->Reconnected Service sendet OfferService() / Adress-Update Reconnected->ServiceDown Erneuter Verbindungsausfall

Toestandsdiagram: levenscyclus en verbindingstoestanden van een proxy-instantie bij beschikbaarheidswijzigingen van de provider. Bronnen: [SWS_CM_00310], [SWS_CM_00316], ARAComAPI p. 32

Verdere gedetailleerde bewijzen

De essentiële eisen en systeeminterfaces zijn als volgt ingedeeld in de AUTOSAR-specificaties:

Deze handleiding is opgesteld door een AI-curatie-assistent op basis van de AUTOSAR Adaptive Release R25-11.

<SI-Namespace>::proxy

<SI>Proxy klasse

Service Interface Proxy

<SI-Namespace>::proxy::fields

<Field> klasse

Service proxy Field class, one for each Field defined in the ServiceInterface in the role field.

<SI-Namespace>::proxy::methods

Service proxy fire-and-forget method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget==TRUE) defined in the S

<Method> klasse

Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) defined in the ServiceInterfac

<SI-Namespace>::proxy::triggers

<Trigger> klasse

Service proxy Trigger class, one for each Trigger defined in the ServiceInterface in the role trigger.

<SI-Namespace>::skeleton

Service skeleton class

<SI-Namespace>::skeleton::fields

Service skeleton Field class, one for each Field defined in the ServiceInterface in the role field.

<SI-Namespace>::skeleton::triggers

Service skeleton Trigger class, one for each Trigger defined in the ServiceInterface in the role trigger.

apext::com::secoc

Defines a class representing the SecOc Freshness Value Manager error domain

erft van ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the SecOc Freshness Value Manager

erft van ara::core::Exception

A container to hold the length of freshness value in bits and the freshness value itself

FVM klasse

A freshness value management interface to be implemented by the OEM/stack vendor

Returns a reference to the apext::com::secoc::ComSecOcFvmErrorDomain object

constexpr const ara::core::ErrorDomain & GetComSecOcFvmErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode

constexpr ara::core::ErrorCode MakeErrorCode (apext::com::secoc::Com SecOcFvmErrc errorCode, ara::core::ErrorDomain::SupportDataType data) noexcept;
ComSecOcFvmErrc enumeratie

Defines the error codes for the apext::com::secoc::ComSecOcFvmErrorDomain

enum class ComSecOcFvmErrc : ara::core::ErrorDomain::CodeType {...};

ara::com

Defines a class representing the Communication error domain.

erft van ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the API.

erft van ara::core::Exception

The exact definition of ara::com::FindServiceHandle is Communication Management implementation specific

Unique identifier of a specific AdaptivePlatformServiceInstance, to distinguish different instances of exactly the same service

SamplePtr klasse

Emulates a std::unique_ptr to an event sample. The ara::com::SamplePtr behaves as a std::unique_ptr as long as the event/ field is subscrib ≙ std::unique_ptr

Specifies a Service Identifier The exact type may be overridden by the Communication Management software provider

Specifies a Service Version

Returns a reference to the ara::com::ComErrorDomain object

constexpr const ara::core::ErrorDomain & GetComErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode

ComErrc enumeratie

Defines the error codes for the ara::com::ComErrorDomain

enum class ComErrc : ara::core::ErrorDomain::CodeType {...};

Processing modes for the service implementation.

enum class MethodCallProcessingMode : std::uint8_t {...};
ServiceState enumeratie

The state of the service from GetServiceState()

enum class ServiceState : std::uint8_t {...};

The subscription state of an event.

enum class SubscriptionState : std::uint8_t {...};

Callback function invoked if new event data arrives for an event. The event receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function

using EventReceiveHandler = std::function<void()>;

Callback function invoked if a new notification arrives for a field. The field receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function

using FieldReceiveHandler = std::function<void()>;

Callback function invoked if service availability changes. It takes as input parameter a handle container containing handles for all matching service instances and a ara::com:: FindServiceHandle which can be used to invoke StopFindService() from within the ara::com::FindServiceHandler.

using FindServiceHandler = std::function<void(ServiceHandle Container<T>, FindServiceHandle)>;

Holds a list of ara::com::InstanceIdentifiers. The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per [30] A ara::core::Vector ([SWS_CORE_01301]) for example fulfills these requirements.

using InstanceIdentifierContainer = ara::core::Vector<Instance Identifier>;

Pointer to an allocated (by Communication Management) data sample. The implementation is allowed to be changed by the Communication Management software provider.

using SampleAllocateePtr = std::unique_ptr<T>;

Holds a list of service handles and is used as a return value of any of the FindService() methods) • [SWS_CM_00122] • [SWS_CM_00622] . The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per [30]. A ara::core::Vector ([SWS_CORE_ 01301]) for example fulfills these requirements.

using ServiceHandleContainer = ara::core::Vector<T>;

Functor used as input arguments for any of the SetServiceStateChangeHandler() methods: • [SWS_CM_01074] • [SWS_CM_01076]

using ServiceStateHandler = std::function<void(ServiceState)>;

Callback function invoked if ara::com::SubscriptionState of an event has changed.

using SubscriptionStateChangeHandler = std::function<void(Subscription State)>;

A function wrapper for the handler function that gets called in case a new trigger arrives for an event. The trigger receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function

using TriggerReceiveHandler = std::function<void()>;

ara::com::e2e

Defines a class representing the E2E error domain

erft van ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the E2E APIs

erft van ara::core::Exception

Returns a reference to the ara::com::e2e::ComE2EErrorDomain object

constexpr const ara::core::ErrorDomain & GetComE2EErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode

constexpr ara::core::ErrorCode MakeErrorCode (ara::com::e2e::ComE2 EErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
ComE2EErrc enumeratie

Defines the error codes for the ara::com::e2e::ComE2EErrc

enum class ComE2EErrc : ara::core::ErrorDomain::CodeType {...};

The result of the check of a single ara::com::SamplePtr

enum class ProfileCheckStatus : std::uint8_t {...};
SMState enumeratie

The state of the E2E supervision after the most recent check of a received sample of the event. If ara::com::e2e::SMState == kValid, and the ara::com::SamplePtr:: GetProfileCheckStatus did not result in an Error then, the last checked sample can be used.

enum class SMState : std::uint8_t {...};

Defines the TransportFaultCondition which represent a single transport-related fault event

enum class TransportFaultCondition : std::uint8_t {...};

Handler type to be called when one or more (determined by the value of the std::size_t) fault conditions are detected ≙ std::size_t

using TransportFaultConditionHandler = std::function<void(Transport FaultCondition, std::size_t)>;

ara::com::runtime

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;

Service-interfaces

VerificationStatus service-interface

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Verwandte Komponenten in anderen Universen

Spezifikation: AUTOSAR_AP_SWS_CommunicationManagement.pdf (R25-11) · 250 API-Records

function: 179 class: 20 type alias: 20 variable: 13 enumeration: 10 struct: 4 service method: 2 header file: 1 service event: 1

Namespaces

Service-interfaces (gemodelleerd via ara::com)

UML-klassendiagram van de module

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 <SI-Namespace>::proxy cluster_2 <SI-Namespace>::proxy::<SI>Proxy cluster_3 <SI-Namespace>::proxy::fields cluster_4 <SI-Namespace>::proxy::methods cluster_5 <SI-Namespace>::proxy::methods::<Method> cluster_6 <SI-Namespace>::proxy::triggers cluster_7 <SI-Namespace>::skeleton cluster_8 <SI-Namespace>::skeleton::<SI>Skeleton cluster_9 <SI-Namespace>::skeleton::fields cluster_10 <SI-Namespace>::skeleton::triggers cluster_11 apext::com::secoc cluster_12 ara::com cluster_13 ara::com::e2e n_SI_Namespace___proxy___SI_Proxy329 <SI>Proxy n_SI_Namespace___proxy___SI_Proxy__HandleType349 HandleType n_SI_Namespace___proxy__fields___Field_138 <Field> n_SI_Namespace___proxy__methods___FnFMethod_122 <FnFMethod> n_SI_Namespace___proxy__methods___Method_320 <Method> n_SI_Namespace___proxy__methods___Method___Output157 «struct» Output n_SI_Namespace___proxy__triggers___Trigger_725 <Trigger> n_SI_Namespace___skeleton___SI_Skeleton453 <SI>Skeleton n_SI_Namespace___skeleton___SI_Skeleton___Method_Output373 «struct» <Method>Output n_SI_Namespace___skeleton__fields___Field_667 <Field> n_SI_Namespace___skeleton__triggers___Trigger_907 <Trigger> napext__com__secoc__ComSecOcFvmErrorDomain756 ComSecOcFvmErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain napext__com__secoc__ComSecOcFvmErrorDomain756->nara__core__ErrorDomain335 napext__com__secoc__ComSecOcFvmException158 ComSecOcFvmException nara__core__Exception792 ara::core::Exception napext__com__secoc__ComSecOcFvmException158->nara__core__Exception792 napext__com__secoc__FVContainer961 «struct» FVContainer napext__com__secoc__FVM451 FVM nara__com__ComErrorDomain658 ComErrorDomain nara__com__ComErrorDomain658->nara__core__ErrorDomain335 nara__com__ComException152 ComException nara__com__ComException152->nara__core__Exception792 nara__com__FindServiceHandle138 «struct» FindServiceHandle nara__com__InstanceIdentifier581 InstanceIdentifier nara__com__SamplePtr589 SamplePtr nara__com__ServiceIdentifierType24 ServiceIdentifierType nara__com__ServiceVersionType743 ServiceVersionType nara__com__e2e__ComE2EErrorDomain501 ComE2EErrorDomain nara__com__e2e__ComE2EErrorDomain501->nara__core__ErrorDomain335 nara__com__e2e__ComE2EException703 ComE2EException nara__com__e2e__ComE2EException703->nara__core__Exception792