AUTOSAR_EXP_ARAComAPI
FIG-dea990d0bca38386
771 × 437 px
1 Release(s)
Figure 6.7: DDS Service Interface Deployment
SHA-256 Inhalts-Fingerabdruck:
dea990d0bca3838662235a8cec3b429218933209a2856ccd3e06a3ee9ab53e91
✦
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: 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:UploadablePackageElement):- Generisches Basiselement des Service-Deployments.
- Hält Kompositionen zu generischen Event- und Field-Deployments.
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:UploadablePackageElement):- 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.sign: Kryptografische Signatur / MAC (Integrität).encryptAndSign: Signatur plus Verschlüsselung (Vertraulichkeit + Integrität).signWithOriginAuthentication: Signatur mit Identitätsnachweis des Senders.encryptAndSignWithOriginAuthentication: Vollschutz inklusive Quell-Authentifizierung.
Beziehungen & Kardinalitäten
ServiceInterfaceDeployment──◆+eventDeployment [0..*]──>ServiceEventDeploymentServiceInterfaceDeployment──◆+fieldDeployment [0..*]──>ServiceFieldDeploymentDdsServiceInterfaceDeployment──>+methodTopicsAccessRule [0..1]──>DdsTopicAccessRuleDdsServiceInterfaceDeployment──>+fieldTopicsAccessRule [0..1]──>DdsTopicAccessRuleDdsEventDeployment──>+eventTopicAccessRule [0..1]──>DdsTopicAccessRuleDdsFieldDeployment──◆+notifier [0..1]──>DdsEventDeployment
3. Dynamisches Verhalten & Sequenzablauf (Laufzeitabbildung)
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
- Generatoren & Manifest-Design (ARXML):
- Die Modellierung in ARXML erfordert für jede
ServiceInterface-Instanz mit DDS-Binding zwingend einDdsServiceInterfaceDeployment. - Das Nicht-Konfigurieren von Topic-Namen (
[0..1]) führt entweder zu Toolchain-Default-Regeln (z. B. Namensbildungsregeln aus Service-/Package-Pfaden) oder zu Validierungsfehlern im Adaptive Code-Generator.
- Die Modellierung in ARXML erfordert für jede
- Stack- und Middleware-Konfiguration:
- Das
ara::com-DDS-Binding leitet aus diesen Klassen die QoS-Profile, DDS-Partitions und RTPS-Endpoints ab. - Wenn
transportProtocolmehrfach belegt ist ([0..*]), muss der DDS-Stack Multihoming bzw. hybride Transports (z. B. Shared Memory für intra-Node und UDP für inter-Node) bereitstellen.
- Das
- DDS-Security Integration:
- Die Zuweisung einer
DdsTopicAccessRulebewirkt, dass der Generator Governance- und Permissions-Dateien (XML/PKCS#7/S/MIME) für das OMG DDS Security Subsystem erzeugt. - Entwickler müssen sicherstellen, dass bei aktivierten Schutzarten (
encryptAndSign*,sign*) die entsprechenden Zertifikate und Crypto-Treiber (ara::crypto/ HSM) auf der Zielplattform verfügbar und provisioniert sind.
- Die Zuweisung einer
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.