module ara::com — Communication Management
ModulegidsAI-GEGENEREERD
Biedt getypeerde interfaces voor de servicegeoriënteerde communicatie en abstraheert transportprotocollen.
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]).
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).
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]).
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).
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).
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).
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).
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:
- Servicelevenscyclus en Discovery: servicebeschikbaarstelling en zoekmechanismen zijn gebaseerd op [SWS_CM_00101], [SWS_CM_00111], [SWS_CM_00122] en [SWS_CM_00123], gedetailleerd beschreven in de software-architectuurgids (ARAComAPI p. 103).
- Interactieparadigma's: methoden en asynchrone toekomstwaarden zijn gestandaardiseerd in [SWS_CM_00191] en [SWS_CM_00196]; event-abonnementen en sample-overdrachten volgen [SWS_CM_00141], [SWS_CM_00701] en [SWS_CM_90437] (SWS_CommunicationManagement p. 67).
- Beveiliging en serialisatie: beveiligingsconcepten voor E2E ([SWS_CM_90420]), SecOC ([SWS_CM_90108], [SWS_CM_11288]) en Signal-to-Service Translation ([SWS_CM_10174]) regelen de systeemwijde data-uitwisseling (SWS_CommunicationManagement p. 146, SWS_CommunicationManagement p. 222).
- Manifest- en typedefinities: het afbeelden van gestructureerde datatypen, optionele velden en instantiespecificaties is verankerd in de manifestspecificatie (TPS_ManifestSpecification p. 161, TPS_ManifestSpecification p. 458).
Deze handleiding is opgesteld door een AI-curatie-assistent op basis van de AUTOSAR Adaptive Release R25-11.
<SI-Namespace>::proxy::methods
<FnFMethod><Method><SI-Namespace>::proxy::triggers
<Trigger><SI>Skeleton<SI-Namespace>::skeleton::fields
<Field> (<SI-Namespace>::skeleton::fields)<SI-Namespace>::skeleton::triggers
<Trigger> (<SI-Namespace>::skeleton::triggers)ComSecOcFvmErrorDomainComSecOcFvmExceptionFVContainerFVMGetComSecOcFvmErrorDomainMakeErrorCodeComSecOcFvmErrcComErrorDomainComExceptionFindServiceHandleInstanceIdentifierSamplePtrServiceIdentifierTypeServiceVersionTypeGetComErrorDomainMakeErrorCode (ara::com)ComErrcMethodCallProcessingModeServiceStateSubscriptionStateEventReceiveHandlerFieldReceiveHandlerFindServiceHandlerInstanceIdentifierContainerSampleAllocateePtrServiceHandleContainerServiceStateHandlerSubscriptionStateChangeHandlerTriggerReceiveHandlerComE2EErrorDomainComE2EExceptionGetComE2EErrorDomainMakeErrorCode (ara::com::e2e)ComE2EErrcProfileCheckStatusSMStateTransportFaultConditionTransportFaultConditionHandlerResolveInstanceIDsService-interfaces
VerificationStatusVerificationStatusConfigurationByDataIdVerificationStatusConfigurationByFreshnessIdKlassen
<Field><Field> (<SI-Namespace>::skeleton::fields)<FnFMethod><Method><SI>Proxy<SI>Skeleton<Trigger><Trigger> (<SI-Namespace>::skeleton::triggers)ComE2EErrorDomainComE2EExceptionComErrorDomainComExceptionComSecOcFvmErrorDomainComSecOcFvmExceptionFindServiceHandleFVContainerFVMInstanceIdentifierSamplePtrServiceIdentifierTypeServiceVersionTypeFuncties
GetComE2EErrorDomainGetComErrorDomainGetComSecOcFvmErrorDomainMakeErrorCodeMakeErrorCode (ara::com)MakeErrorCode (ara::com::e2e)ResolveInstanceIDsTypen
EventReceiveHandlerFieldReceiveHandlerFindServiceHandlerInstanceIdentifierContainerSampleAllocateePtrServiceHandleContainerServiceStateHandlerSubscriptionStateChangeHandlerTransportFaultConditionHandlerTriggerReceiveHandlerEnumeraties
ComE2EErrcComErrcComSecOcFvmErrcMethodCallProcessingModeProfileCheckStatusServiceStateSMStateSubscriptionStateTransportFaultConditionService-interfaces
VerificationStatusVerificationStatusConfigurationByDataIdVerificationStatusConfigurationByFreshnessIdThemakaart
ara::com
22Geen elementgegevens voor deze release
<SI-Namespace>::proxy
Service Interface Proxy
<SI-Namespace>::proxy::fields
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
Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) defined in the ServiceInterfac
<SI-Namespace>::proxy::triggers
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
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;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
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
constexpr ara::core::ErrorCode MakeErrorCode (ara::com::ComErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;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 {...};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;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 {...};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
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
function: 179 class: 20 type alias: 20 variable: 13 enumeration: 10 struct: 4 service method: 2 header file: 1 service event: 1
Namespaces
- <SI-Namespace>::proxy 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::proxy::fields 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::proxy::methods 2 Klassen, 0 freie Funktionen
- <SI-Namespace>::proxy::triggers 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::skeleton 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::skeleton::fields 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::skeleton::triggers 1 Klassen, 0 freie Funktionen
- apext::com::secoc 4 Klassen, 2 freie Funktionen
- ara::com 7 Klassen, 2 freie Funktionen
- ara::com::e2e 2 Klassen, 2 freie Funktionen
- ara::com::runtime 0 Klassen, 1 freie Funktionen
Service-interfaces (gemodelleerd via ara::com)
- VerificationStatus 1 Mitglieder
- VerificationStatusConfigurationByDataId 1 Mitglieder
- VerificationStatusConfigurationByFreshnessId 1 Mitglieder
UML-klassendiagram van de module
Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel