DEENESPTFRRUARHIKOZHNL

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.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1062a859c813 Herkomst Open vragen (1)
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

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).

Architecture cluster_sm State Management (Daemon) cluster_api ara::nm API cluster_nm Functional Cluster Network Management (Daemon) cluster_bus Physikalische Netzwerke / Busse sm State Management (Koordination / Anforderung) nh NetworkHandle (C++ Port-Interface) sm->nh Nutzt API pnsm Partial Network State Machines (PN1, PN2, ...) nh->pnsm Steuert / Fragt ab nm_inst NM Instances (Network State Machines) pnsm->nm_inst Koordiniert phys Ethernet / CAN Channels nm_inst->phys Bus-Keep-Alive / Sleep

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]).

Verloop van de netwerkaanvraag en toestandskennisgevingState ManagementNetworkHandleNM DaemonUse Case: Notifier-RegistrierungRegisterNetworkStateChangeNotifier(notifier)Result<void> (Erfolg)Use Case: NetzanforderungSetNetworkRequestedState(kFullCom)Netzwerkressource anfordernAktivierung PNC / KanalPNSM-ZustandswechselSignalisiere Zustandswechsel (kFullCom)notifier(kFullCom) CallbackUse Case: ZustandsabfrageGetNetworkState()Result<NetworkStateType> (kFullCom)

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).

Architecture cluster_sm State Management (Daemon) cluster_api ara::nm API cluster_nm Functional Cluster Network Management (Daemon) cluster_bus Physikalische Netzwerke / Busse sm State Management (Koordination / Anforderung) nh NetworkHandle (C++ Port-Interface) sm->nh Nutzt API pnsm Partial Network State Machines (PN1, PN2, ...) nh->pnsm Steuert / Fragt ab nm_inst NM Instances (Network State Machines) pnsm->nm_inst Koordiniert phys Ethernet / CAN Channels nm_inst->phys Bus-Keep-Alive / Sleep

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]).

NetworkStateLifecycle kNoCom kNoCom (0) Inactief / niet alle netwerken FullCom kFullCom kFullCom (1) Alle toegewezen netwerken FullCom kNoCom->kFullCom SetNetworkRequestedState(kFullCom) / Aktivierung kFullCom->kNoCom SetNetworkRequestedState(kNoCom) / Freigabe

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]).

Verloop van de netwerkaanvraag en toestandskennisgevingState ManagementNetworkHandleNM DaemonUse Case: Notifier-RegistrierungRegisterNetworkStateChangeNotifier(notifier)Result<void> (Erfolg)Use Case: NetzanforderungSetNetworkRequestedState(kFullCom)Netzwerkressource anfordernAktivierung PNC / KanalPNSM-ZustandswechselSignalisiere Zustandswechsel (kFullCom)notifier(kFullCom) CallbackUse Case: ZustandsabfrageGetNetworkState()Result<NetworkStateType> (kFullCom)

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).

ManifestMapping port PPortPrototype / RPortPrototype nm_port_if NetworkManagementPortInterface port->nm_port_if typisiert durch nh_mapping NetworkHandlePortMapping nh_mapping->port referenziert proc Process (Ausfuehrungskontext) nh_mapping->proc bindet an nm_handle NmNetworkHandle (Logischer Kanal) nh_mapping->nm_handle wordt gemapt op sm_mapping NmInteractsWithSmMapping sm_mapping->nm_handle verknuepft sm_req StateManagementStateRequest sm_mapping->sm_req steuert ueber

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:

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.

Spezifikation: AUTOSAR_AP_SWS_NetworkManagement.pdf (R25-11) · 30 API-Records

function: 17 class: 3 enumeration: 2 type alias: 3 header file: 2

Themakaart

Detailweergave

Kies een item in de inhoudsopgave.

ara::nm

Zugang zu angefordertem und effektivem Netzstatus.

Fehlerdomäne für ara::nm.

Exception-Typ für ara::nm.

GetNmDomain functie
constexpr const ara::core::ErrorDomain& GetNmDomain() noexcept;
constexpr ara::core::ErrorCode MakeErrorCode(NmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
NmErrc enumeratie
enum class NmErrc : ara::core::ErrorDomain::CodeType { kServiceNotAvailable = 1, kInvalidHandler = 2 };

Architectuur- en sequentiediagram

G Vereinfachter NM-Netzzustand i no NO_COM / Bus-Sleep i->no repeat Repeat Message no->repeat kFullCom / Wake-up normal Normal Operation repeat->normal weiter angefordert ready Ready Sleep repeat->ready freigegeben normal->ready freigegeben ready->normal kFullCom prepare Prepare Bus-Sleep ready->prepare NM-Timeout prepare->no Wartezeit abgelaufen

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

Hoofdklassen