AUTOSAR_AP_EXP_ARAComAPI
FIG-3d69200af1719819
771 × 436 px
1 Release(s)
Figure 6.7: DDS Service Interface Deployment
SHA-256 Inhalts-Fingerabdruck:
3d69200af171981961d31c33fca74473356d850b1ddd39ff8aa8ad0026eb9724
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Klassendiagramm (Ausschnitt des AUTOSAR Adaptive Platform Metamodells / Manifest-Modellierung).
- Technischer Zweck: Spezifikation des protokollspezifischen Netzwerk-Deployments für Service-Schnittstellen (
ServiceInterface) auf Basis der Data Distribution Service (DDS) Middleware innerhalb vonara::com. - Funktionale Einordnung: Definiert die Zuordnung abstrakter Service-Elemente (Events, Methods, Fields) zu konkreten DDS-Netzwerk-Artefakten (DDS Topics, Topic-Namen, Transportprotokolle) sowie den zugehörigen DDS-Security-Zugriffsregeln (
DdsTopicAccessRule) gemäß OMG DDS-Security-Spezifikation.
2. Komponenten, Entitäten & Schnittstellen
Metamodell-Klassen & Attribute
ServiceInterfaceDeployment(abstrakt, Basis:UploadableDesignElement):- Generisches Basiselement des Service-Deployments.
- Hält Kompositionen zu generischen Event- und Field-Deployments, annotiert mit den Stereotypen
«atpVariation,atpSplitable».
DdsServiceInterfaceDeployment(Spezialisierung vonServiceInterfaceDeployment):- Spezifisches Deployment eines Services auf DDS.
- Attribute:
fieldReplyTopicName: String [0..1]: Topic-Name für Antworten auf Field-Operationen (Get/Set-Replies).fieldRequestTopicName: String [0..1]: Topic-Name für Anfragen auf Field-Operationen (Get/Set-Requests).methodReplyTopicName: String [0..1]: Topic-Name für RPC-Rückgabewerte (Method Replies via DDS-RPC / Request-Reply Pattern).methodRequestTopicName: String [0..1]: Topic-Name für RPC-Aufrufe (Method Requests).serviceInterfaceId: String [0..1]: Eindeutige Kennung des Service-Interface im DDS-Domain-Kontext.transportProtocol: String [0..*]: Zulässige Transportmechanismen (z. B. UDPv4, UDPv6, Shared Memory).
ServiceEventDeployment(abstrakt, Basis:Identifiable):- Generisches Deployment für Service-Events.
DdsEventDeployment(Spezialisierung vonServiceEventDeployment):- Bildet ein Service-Event auf ein DDS-Topic ab.
- Attribute:
topicName: String [0..1]: Name des DDS-Topics für das Pub/Sub-Event.transportProtocol: String [0..*]: Transportbindung für das Event.
ServiceFieldDeployment(abstrakt, Basis:Identifiable):- Generisches Deployment für Service-Fields.
DdsFieldDeployment(Spezialisierung vonServiceFieldDeployment):- Spezifisches DDS-Deployment für Fields.
- Besitzt eine gerichtete Komposition
+notifier [0..1]zuDdsEventDeployment(Realisation des Field-Notifiers über ein DDS-Event-Topic).
DdsTopicAccessRule(Basis:UploadableDesignElement):- Sicherheitsrichtlinie für Topic-Zugriffskontrolle und Verschlüsselung gemäß DDS Security (DDS-SEC).
- Attribute:
dataProtectionKind: DdsProtectionKindEnum [0..1]: Sicherheitsstufe für Nutzdaten (Payload).enableDiscoveryProtection: Boolean [0..1]: Absicherung der Endpoint-Discovery (SPDP/SEDP).enableLivelinessProtection: Boolean [0..1]: Kryptografische Absicherung von Liveliness-Nachrichten.enableReadAccessControl: Boolean [0..1]: Erzwingt Autorisierung für DataReader (Subscriber).enableWriteAccessControl: Boolean [0..1]: Erzwingt Autorisierung für DataWriter (Publisher).metadataProtectionKind: DdsProtectionKindEnum [0..1]: Schutzstufe für Metadaten/RTPS-Submessages.
DdsProtectionKindEnum(«enumeration»):none: Keine Integritätsprüfung oder Verschlüsselung.
3. Dynamisches Verhalten & Sequenzablauf
Obgleich es sich um ein statisches Metamodell handelt, steuern diese Instanzen das Laufzeitverhalten des ara::com-DDS-Bindings:
- Event-Kommunikation (Pub/Sub):
- Senden eines Events instanziiert einen DDS
DataWriterauf dem konfiguriertentopicName(DdsEventDeployment). - Abonnenten erzeugen einen DDS
DataReader. IsteventTopicAccessRuledefiniert, prüft das DDS-Security-Plugin beim Discovery-Handshake die Berechtigungen (enableReadAccessControl/enableWriteAccessControl) und wendetdataProtectionKind(Signatur/Verschlüsselung) an.
- Senden eines Events instanziiert einen DDS
- Methodenaufrufe (RPC via DDS):
- Asynchroner Request/Reply-Kanal: Client sendet Request-Sample über
methodRequestTopicName. - Server verarbeitet den Call und sendet Response über
methodReplyTopicNamemit Korrelations-ID. - Autorisierung und Schutz werden zentral über
methodTopicsAccessRuleparametrisiert.
- Asynchroner Request/Reply-Kanal: Client sendet Request-Sample über
- Field-Operationen (Get/Set/Notifier):
- Status-Updates laufen asynchron über den referenzierten Notifier (
+notifier -> DdsEventDeployment). - Direkte Lese-/Schreibzugriffe (Getter/Setter) nutzen das über
fieldRequestTopicNameundfieldReplyTopicNameaufgespannte RPC-Muster, gesichert durchfieldTopicsAccessRule.
- Status-Updates laufen asynchron über den referenzierten Notifier (
4. Normative Relevanz & Entwickler-Hinweise
- Metamodell-Einbindung & Variantenmanagement:
ServiceInterfaceDeploymentundDdsTopicAccessRuleerben vonUploadableDesignElementstatt vonUploadablePackageElement. Die Kompositionsbeziehungen+eventDeploymentund+fieldDeploymentsind mit«atpVariation,atpSplitable»annotiert, was die Aufteilung über mehrere ARXML-Dateien (splitable) sowie die Steuerung über AUTOSAR-Varianzbedingungen (variation) erlaubt. - Kardinalitäten und Validierungsregeln:
transportProtocol [0..*]erlaubt die Bindung an mehrere Protokolle (z. B. UDPv4, UDPv6 oder Shared Memory). Fehlt die Angabe, greift der Plattform-Default.- Topic-Namen (
topicName,methodRequestTopicName,methodReplyTopicName,fieldRequestTopicName,fieldReplyTopicName) sind optional[0..1]. Bei Nichtbelegung kommen generatorspezifische Standard-Namenskonventionen zur Anwendung. - Die Security-Regeln
+eventTopicAccessRule,+methodTopicsAccessRuleund+fieldTopicsAccessRulebesitzen die Multiplizität0..1; ohne Zuordnung greift das ungesicherte Standardverhalten der DDS-Domain.
- Field-Notifier-Bindung: Ein
DdsFieldDeploymentkann über die Komposition+notifier [0..1]exakt einDdsEventDeploymenteinbinden, um Benachrichtigungen bei Wertänderungen zu übertragen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.