module ara::nm — Network Management
Diese Seite wurde vollständig KI-generiert auf Basis von SWS NetworkManagement (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
ModulegidsAI-GEGENEREERD
Coördineert netwerkverzoeken en bewaakt de communicatiestatus van deelnetwerken voor het overkoepelende State Management.
Coördineert netwerkverzoeken en bewaakt de communicatiestatus van deelnetwerken voor het overkoepelende State Management.
Het functionele cluster Network Management stelt voor het State Management interfaces beschikbaar om logische netwerk-handles, deelnetwerken en fysieke communicatiekanalen gecoördineerd aan te vragen en de status ervan op te vragen ([SWS_ANM_01000], EXP_SWArchitecture p. 77). Via de klasse NetworkHandle worden gewenste en werkelijke toestanden tussen kNoCom en kFullCom bestuurd en worden asynchrone notifiers geregistreerd ([SWS_ANM_01009], [SWS_ANM_01010], [SWS_ANM_01358]). Het gebruik van de interface is exclusief voorbehouden aan het State Management, terwijl fouten uniform via NmErrorDomain worden gemeld ([SWS_ANM_01101], [SWS_ANM_01111]).
Het functionele cluster Network Management (NM) stelt mechanismen voor het aanvragen en statusbewaken van communicatienetwerken en deelnetwerken beschikbaar voor het AUTOSAR Adaptive Platform. De programmeerinterface richt zich exclusief op het functionele cluster State Management, dat via logische instanties van de klasse NetworkHandle netwerkbronnen bestuurt en wordt ontkoppeld van fysieke busstructuren zoals Ethernet of CAN ([SWS_ANM_01000], EXP_SWArchitecture p. 77, EXP_PlatformDesign p. 60).
Contextdiagram: Systemische integratie van het Functional Cluster Network Management tussen State Management en het fysieke netwerkniveau. Bronnen: SWS_NetworkManagement p. 13, EXP_PlatformDesign p. 60, [SWS_ANM_01000]
Een NetworkHandle wordt geïnitialiseerd via een ara::core::InstanceSpecifier en ondersteunt verplaatsingsoperaties, terwijl de copy-constructor en copy-toekenning zijn verwijderd ([SWS_ANM_01001], [SWS_ANM_01003], [SWS_ANM_01005]). De module onderscheidt de ingestelde aanvraagtoestand (SetNetworkRequestedState, GetNetworkRequestedState) van de daadwerkelijk actieve netwerktoestand (GetNetworkState), telkens gerepresenteerd door NetworkStateType met de toestanden kNoCom en kFullCom ([SWS_ANM_01007], [SWS_ANM_01008], [SWS_ANM_01009], [SWS_ANM_01358]).
Sequentiediagram: Interactiestroom bij notifier-registratie, toestandsaanvraag en toestandsopvraag. Bronnen: [SWS_ANM_01007], [SWS_ANM_01009], [SWS_ANM_01010], SWS_StateManagement p. 38
Voor de asynchrone signalering van statuswijzigingen kunnen callbacks via RegisterNetworkStateChangeNotifier of RegisterNetworkRequestedStateChangeNotifier – optioneel met een eigen executor – worden geregistreerd ([SWS_ANM_01010], [SWS_ANM_01014], [SWS_ANM_01020]). Fouten worden via NmErrorDomain en NmErrc gerapporteerd; gestandaardiseerde codes zoals kServiceNotAvailable en kInvalidHandler borgen de deterministische omgang met storingen en foutieve configuraties ([SWS_ANM_01101], [SWS_ANM_01111]).
Systemische rol en functionele architectuurafbakening
Het functionele cluster Network Management (NM) biedt binnen het AUTOSAR Adaptive Platform het gecoördineerde beheer van communicatienetwerken en deelnetwerken (Partial Networks, PN). De programmeerinterface van de module is niet bedoeld voor willekeurige Adaptive Applications, maar dient specifiek het functionele cluster State Management (SM) om communicatiecapaciteiten naar behoefte aan te vragen of vrij te geven ([SWS_ANM_01000], EXP_SWArchitecture p. 77). Het State Management fungeert als centrale systeem-orchestrator van de machine en bestuurt function groups en platformtoestanden, terwijl het Network Management de daadwerkelijke busbewaking, deelnetwerklogica en bus-keep-alive-toestanden inkapselt (SWS_NetworkManagement p. 13, EXP_PlatformDesign p. 60).
Architecturaal ontkoppelt het Network Management via logische netwerk-handles (NetworkHandle) bovenliggende toestandsbesturingen van de fysieke netwerktopologie zoals Ethernet- of CAN-netwerken (EXP_PlatformDesign p. 60). Een netwerkverzoek door het State Management wordt intern afgebeeld op kanaalspecifieke toestandsmachines en Partial Network State Machines (PNSM), waardoor de communicatie op de fysieke kanalen wordt gesynchroniseerd en vraaggestuurd geactiveerd of afgesloten (SWS_NetworkManagement p. 18, SWS_StateManagement p. 17).
Contextdiagram: Systemische integratie van het Functional Cluster Network Management tussen State Management en het fysieke netwerkniveau. Bronnen: SWS_NetworkManagement p. 13, EXP_PlatformDesign p. 60, [SWS_ANM_01000]
Instantiëring en middelenbeheer via NetworkHandle
De functionele toegang tot een concreet deelnetwerk of een fysiek communicatiekanaal verloopt via instanties van de klasse NetworkHandle ([SWS_ANM_01000]). Een NetworkHandle wordt expliciet geconstrueerd door doorgifte van een ara::core::InstanceSpecifier, die de toegewezen poortprototype van een NetworkManagementPortInterface eenduidig refereert ([SWS_ANM_01001]). De initialisatie via deze constructor is gespecificeerd als thread-safe ([SWS_ANM_01001]).
Het interfaceontwerp van NetworkHandle volgt strikte levenscyclus- en eigendomsregels: copy constructor en copy assignment operator zijn expliciet verwijderd (= delete), waarmee ongecoördineerd dupliceren van handle-instanties wordt verhinderd ([SWS_ANM_01005], [SWS_ANM_01006]). Daarentegen worden move constructor en move assignment operator aangeboden om resources gecontroleerd te kunnen overdragen ([SWS_ANM_01003], [SWS_ANM_01004]). Interpretatie: Aangezien kopiëren verboden is en uitsluitend move-bewerkingen zijn toegestaan, dwingt de architectuur vermoedelijk een exclusieve eigendomssemantiek per handle-instantie af om concurrerende notifier-registraties op hetzelfde object uit te sluiten. Vraag Q-912cb5d1ddff2896 (open) Destructor en move assignment zijn expliciet gedefinieerd als niet thread-safe, waardoor het levenscyclusbeheer van een handle in State Management gesynchroniseerd moet plaatsvinden ([SWS_ANM_01002], [SWS_ANM_01004]).
Aansturing en opvragen van communicatietoestanden
De module maakt een strikt onderscheid tussen de aangevraagde gewenste toestand (Requested State) en de daadwerkelijk actieve actuele toestand (Network State) van een netwerk-handle ([SWS_ANM_01007], [SWS_ANM_01008]). Beide toestanden worden weergegeven via de enumeratie NetworkStateType met de waarden kNoCom (waarde 0) en kFullCom (waarde 1) ([SWS_ANM_01358]). De totale toestand is per definitie alleen dan kFullCom wanneer zonder uitzondering alle aan de handle toegewezen deel- of volledige netwerken zich in de communicatietoestand FULL_COM bevinden; anders luidt de status kNoCom ([SWS_ANM_01358]).
Via de methode SetNetworkRequestedState vraagt State Management de activering (kFullCom) of vrijgave (kNoCom) van het bijbehorende PNC-, VLAN- of fysieke netwerk aan ([SWS_ANM_01009], EXP_SWArchitecture p. 77). Met GetNetworkRequestedState kan de laatst ingestelde aanvraagwaarde synchroon worden opgevraagd ([SWS_ANM_01008]). De daadwerkelijke, busrelevante bedrijfstoestand wordt daarentegen uitgelezen met GetNetworkState, waarbij beide opvraagmethoden als thread-safe zijn gedeclareerd en hun resultaat inkapselen in een ara::core::Result ([SWS_ANM_01007], [SWS_ANM_01008]).
Toestandsdiagram: Toestandsovergangen van de elementaire netwerkstatus NetworkStateType. Bronnen: [SWS_ANM_01358], [SWS_ANM_01007], [SWS_ANM_01009]
Gebeurtenisgebaseerde toestandsbewaking en notificatiemechanismen
Aangezien toestandswijzigingen op netwerkniveau door externe busdeelnemers, time-outs van berichten of asynchrone opstarttijden vertraagd binnenkomen, stelt NetworkHandle asynchrone notificatiemechanismen beschikbaar via callback-functies van het type NetworkStateChangeNotifier (std::function<void(const NetworkStateType&)>) ([SWS_ANM_01020]). Voor wijzigingen van de effectieve netwerktoestand dient RegisterNetworkStateChangeNotifier ([SWS_ANM_01010]), terwijl wijzigingen van de aangevraagde toestand via RegisterNetworkRequestedStateChangeNotifier worden bewaakt ([SWS_ANM_01012]).
Per handle en bewakingstype kan maximaal één notifier worden geregistreerd; elke opeenvolgende registratieaanroep overschrijft de eerder geregistreerde callback (EXP_SWArchitecture p. 77). Met UnregisterNetworkStateChangeNotifier en UnregisterNetworkRequestedStateChangeNotifier kunnen bestaande registraties expliciet weer worden geannuleerd ([SWS_ANM_01011], [SWS_ANM_01013]). Voor een uitgebreidere stroomregeling zijn er template-gebaseerde registratiemethoden beschikbaar die een door de gebruiker gedefinieerde executor (ExecutorT&& executor) accepteren om de notificatie in een specifieke uitvoeringscontext of thread af te handelen ([SWS_ANM_01014], [SWS_ANM_01015]).
Sequentiediagram: Interactiestroom bij notifier-registratie, toestandsaanvraag en toestandsopvraag. Bronnen: [SWS_ANM_01007], [SWS_ANM_01009], [SWS_ANM_01010], SWS_StateManagement p. 38
Manifestmodellering en toewijzingsconfiguratie
De integratie van Network Management in de Adaptive Application vindt plaats via gestandaardiseerde metamodelelementen in het manifest. De interface NetworkManagementPortInterface specialiseert de fundamentele metaklasse PortInterface en definieert zodoende formele poortprototypes (PPortPrototype, RPortPrototype) voor interactie met het cluster (TPS_ManifestSpecification p. 263).
In het deployment-manifest wordt de binding tussen applicatie-instanties en het logische netwerkbeheer gedeclareerd via het mapping-element NetworkHandlePortMapping (TPS_ManifestSpecification p. 620). Dit koppelt een poortprototype binnen een proces (Process) aan een logische NmNetworkHandle (TPS_ManifestSpecification p. 620). Bovendien wordt via het metamodelelement NmInteractsWithSmMapping de coördinatieve koppeling tussen het cluster State Management (via StateManagementStateRequest) en de netwerk-handle (NmNetworkHandle) bindend geconfigureerd (TPS_ManifestSpecification p. 875).
Metamodeldiagram: ARXML-configuratie- en mappingrelaties tussen poorten, processen, handles en State Management. Bronnen: TPS_ManifestSpecification p. 263, TPS_ManifestSpecification p. 620, TPS_ManifestSpecification p. 875
Gedrag in het foutgeval
Voor een uniforme foutafhandeling implementeert de module een eigen foutdomein volgens de AUTOSAR Adaptive-foutarchitectuur. De klasse NmErrorDomain overerft van ara::core::ErrorDomain en identificeert fouten in het netwerkbeheer via de statische domeinopvraag GetNmDomain en de identificatiemethoden Name en Message ([SWS_ANM_01101], [SWS_ANM_01105], [SWS_ANM_01106], [SWS_ANM_01107], [SWS_ANM_01109]).
De specifieke foutoorzaken zijn gedefinieerd in de enumeratie NmErrc ([SWS_ANM_01111]). De foutcode NmErrc::kServiceNotAvailable (code 1) geeft aan dat de onderliggende platformdienst of daemon niet bereikbaar is; deze kan optreden bij de methoden GetNetworkState, GetNetworkRequestedState en SetNetworkRequestedState ([SWS_ANM_01007], [SWS_ANM_01008], [SWS_ANM_01009], [SWS_ANM_01111]). De foutcode NmErrc::kInvalidHandler (code 2) wordt gerapporteerd wanneer een ongeldige notifier-handler is doorgegeven aan een van de registratiemethoden ([SWS_ANM_01010], [SWS_ANM_01012], [SWS_ANM_01014], [SWS_ANM_01015], [SWS_ANM_01111]).
Foutcodes worden via MakeErrorCode omgezet in reguliere ara::core::ErrorCode-objecten ([SWS_ANM_01110]). Indien in uitvoeringsomgevingen C++-exceptions zijn toegestaan en geconfigureerd, kunnen deze fouten via ThrowAsException worden gegenereerd als exceptie van het type NmException ([SWS_ANM_01100], [SWS_ANM_01102], [SWS_ANM_01108]). Ter vereenvoudiging staan de type-aliassen Errc en Exception ter beschikking ([SWS_ANM_01103], [SWS_ANM_01104]).
Verdere gedetailleerde bewijzen
De essentiële voorschriften van de module steunen op normatieve bepalingen van de specificatie en begeleidende architectuurmodellen:
- Klasse- en interfacespecificatie:
NetworkHandleals kernklasse voor netwerkaanvragen en toestandopvragingen ([SWS_ANM_01000] tot [SWS_ANM_01015]). - Toestandsdefinitie:
NetworkStateTypemetkNoComenkFullComvoor de weergave van de netwerkstatus ([SWS_ANM_01358]). - Foutdomein en foutcodes:
NmErrorDomain,NmExceptionenNmErrc([SWS_ANM_01100] tot [SWS_ANM_01111]). - Architectuur- en manifestbewijzen: Interface- en poortdefinities in EXP_SWArchitecture p. 77, SWS_NetworkManagement p. 13, EXP_PlatformDesign p. 60 en metamodel-mappings in TPS_ManifestSpecification p. 263, TPS_ManifestSpecification p. 620 en TPS_ManifestSpecification p. 875.
Deze handleiding is gebaseerd op de specificatie van AUTOSAR Adaptive Release R25-11. Alle normatieve bepalingen en architectuurbewijzen zijn ontleend aan de gerefereerde documenten en vereisten.
function: 17 class: 3 enumeration: 2 type alias: 3 header file: 2
Geen elementgegevens voor deze release
ara::nm
Zugang zu angefordertem und effektivem Netzstatus.
Fehlerdomäne für ara::nm.
Exception-Typ für ara::nm.
constexpr const ara::core::ErrorDomain& GetNmDomain() noexcept;constexpr ara::core::ErrorCode MakeErrorCode(NmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;enum class NmErrc : ara::core::ErrorDomain::CodeType { kServiceNotAvailable = 1, kInvalidHandler = 2 };Architectuur- en sequentiediagram
Vereinfachte Darstellung der in SWS Kapitel 7 beschriebenen NM-Zustände. Quelle(n): SWS Network Management §7.4 und [SWS_ANM_00070]. Teilweise Interpretation: Darstellung reduziert Konfigurations- und Busdetails.
API-namespace
- ara::nm Network Management
Hoofdklassen
- NetworkHandle Zugang zu angefordertem und effektivem Netzstatus.
- NmErrorDomain Fehlerdomäne für ara::nm.
- NmException Exception-Typ für ara::nm.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel