AUTOSAR_AP_EXP_ARAComAPI
FIG-5ce36384c7b8ffcb
932 × 826 px
5 Release(s)
Figure 6.13: CG Server Service Interface Description, example PowerMode
SHA-256 Inhalts-Fingerabdruck:
5ce36384c7b8ffcbe63da6aa7e3ed4b0dfaf9ca0ccb253c0e6c20562c5532040
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: Strukturelles XML-Metamodell-Listing (ARXML-Serialisierungsauszug eines Software-Component-Service-Interfaces).
- Kontext & Zweck: AUTOSAR Adaptive Platform (AP), Spezifikation
AUTOSAR_AP_EXP_ARAComAPI(Service-Oriented Architecture viaara::com). - Funktionale Einordnung: Definition des Musters Communication Group (CG), realisiert als Server-seitiges Service-Interface (
COMMUNICATION_GROUP_SERVER) für das State Management (ara::sm). Es dient der koordinativen Steuerung und Verteilung von Power-Mode-Zuständen zwischen einem zentralen Server (z. B. State Manager) und mehreren Gruppen-Clients (z. B. Funktionsgruppen oder Subsystemen) über Inter-Process-Communication (IPC) oder SOME/IP.
2. Komponenten, Entitäten & Schnittstellen
- Wurzelelement:
<SERVICE-INTERFACE>: Repräsentiert das abstrakte Dienst-InterfacePowerModeServer.<CATEGORY>: Definiert alsCOMMUNICATION_GROUP_SERVER. Weist dem Codegenerator und der Runtime die Gruppensemantik zu.
- Namespaces:
<NAMESPACES>/<SYMBOL-PROPS>: Hierarchische Strukturierung nachara::sm, welche den Ziel-C++-Namespace::ara::smdeterminiert.
- Methoden (
<METHODS>/<CLIENT-SERVER-OPERATION>):broadcast:- Argument:
msg(DIRECTION: IN, Typ:STD-CPP-IMPLEMENTATION-DATA-TYPE/AUTOSAR/StateM/Imp/PowerModeMsg). - Semantik: Verteilung einer Nachricht an alle Gruppenmitglieder.
- Argument:
message(im Diagramm mit Annotationsmarker (2) indiziert):- Argument 1:
clientID(DIRECTION: IN, Typ:STD-CPP-IMPLEMENTATION-DATA-TYPE/AUTOSAR/StdTypes/uint32_t). - Argument 2:
msg(DIRECTION: IN, Typ:STD-CPP-IMPLEMENTATION-DATA-TYPE/AUTOSAR/StateM/Imp/PowerModeMsg). - Semantik: Selektive, gezielte Zustellung einer Nachricht an ein spezifisches Gruppenmitglied via
clientID.
- Argument 1:
listClients:- Argument:
clients(DIRECTION: IN, Typ:STD-CPP-IMPLEMENTATION-DATA-TYPE/AUTOSAR/StateM/Imp/Clients). - Semantik: Verwaltung bzw. Aktualisierung der aktiven Client-Registrierungen.
- Argument:
- Events (
<EVENTS>/<VARIABLE-DATA-PROTOTYPE>):response:- Typ:
STD-CPP-IMPLEMENTATION-DATA-TYPE/AUTOSAR/StateM/Imp/PowerModeResponse. - Semantik: Asynchroner Rückkanal (Publish/Subscribe) zur Übertragung von Zustandsantworten oder Quittierungen an die Gruppe.
- Typ:
- Kardinalitäten & Typbeziehungen:
- Alle Methoden enthalten ausschließlich Eingabeparameter (
DIRECTION = IN). Es sind weder OUT-Parameter noch<POSSIBLE-ERROR-REFS>deklariert. - Strikte Referenzierung vorkonfigurierter C++-Implementierungsdatentypen (
STD-CPP-IMPLEMENTATION-DATA-TYPE).
- Alle Methoden enthalten ausschließlich Eingabeparameter (
3. Dynamisches Verhalten & Sequenzablauf
- Kommunikationsmuster (Asymmetrische Gruppe):
- Registrierung / Verwaltung: Der Server führt über
listClientsdie Liste der adressierbarenclientID-Endpunkte nach. - 1:N-Steuerung (Broadcast): Der Aufruf von
broadcast(msg)stößt das synchrone/asynchrone Verteilen eines neuen Power-States an sämtliche Gruppen-Clients an. - 1:1-Steuerung (Unicast innerhalb CG): Über
message(clientID, msg)wird ein dezidierter Client isoliert angesprochen (z. B. gestaffeltes Herunterfahren, selektives Wake-up). - N:1 bzw. 1:N Rückmeldung (Eventing): Da die Operationen keine RPC-Rückgabewerte liefern (Fire-and-Forget-Charakteristik), erfolgt die Rückmeldung über das Event
response. Clients abonnieren dieses Event, bzw. der Server nutzt dieses zur Statusquittierung nach Zustandsübergängen.
- Registrierung / Verwaltung: Der Server führt über
- Fehler- und Abbruchverhalten:
- Es existiert kein synchroner Fehlerrückkanal (keine
ara::core::ErrorCode/ ApplicationErrors in den Methoden-Signaturen). Verbindungs- und Protokollabbrüche müssen transportseitig durch denara::com-Binding-Stack abgefangen werden.
- Es existiert kein synchroner Fehlerrückkanal (keine
4. Normative Relevanz & Entwickler-Hinweise
- C++ API-Generierung (
ara::com):- Skeleton-Generierung: Der Interface-Generator erzeugt
ara::sm::skeleton::PowerModeServerSkeleton. Methoden mit reinenIN-Parametern ohne Return-Wert werden in Adaptive Platform typischerweise als One-Way-Methoden oder mitara::core::Future<void>abgebildet. - Namespace: Die generierten Proxy- und Skeleton-Header liegen bindend im Namespace
ara::sm.
- Skeleton-Generierung: Der Interface-Generator erzeugt
- Binding & Deployment:
- Das Service-Interface muss in nachgelagerten Manifesten (
SomeipServiceInterfaceDeploymentoderIpcServiceInterfaceDeployment) an Transport-IDs gebunden werden:broadcast,message,listClientsbenötigen eindeutigemethodIds.responsebenötigt eine zugewieseneeventId.
- Das Service-Interface muss in nachgelagerten Manifesten (
- Einschränkungen & Fallstricke für Anwendungsentwickler:
- Kein synchrones Feedback: Da
DIRECTION: INohneOUTvorliegt, blockiert der Aufrufer nicht auf die Antwort des Clients. Entwickler müssen Timeout-Überwachungen für Reaktionen aufresponseim State Manager selbst implementieren. - Datentyp-Allokation: Typen wie
/AUTOSAR/StateM/Imp/ClientsundPowerModeMsgmüssen deterministisch dimensioniert sein (z. B.ara::core::Vectormit maximaler Kapazität), um Heap-Fragmentierung zur Laufzeit gemäß den AUTOSAR Adaptive Echtzeitanforderungen zu verhindern.
- Kein synchrones Feedback: Da