AUTOSAR_EXP_ARAComAPI
FIG-d6e61108b2921e9c
830 × 522 px
1 Release(s)
Figure 6.6: SOME/IP Required Service Instance Deployment
SHA-256 Inhalts-Fingerabdruck:
d6e61108b2921e9c399200328ef3fc0b589b7a488999054440cacafe51b32b03
✦
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: AUTOSAR M2-Metamodell-Ausschnitt (UML-Klassendiagramm).
- Technischer Zweck: Modellierung des clientseitigen Service-Deployments (
RequiredServiceInstance) für das SOME/IP-Transportprotokoll innerhalb der AUTOSAR Adaptive Platform (ara::com). - Funktionale Einordnung: Definiert im Service-Instance-Manifest die Zuordnung einer logischen Service-Schnittstelle (
RequiredApServiceInstance) zu netzwerkspezifischen SOME/IP-Parametern, SOME/IP-SD-Client-Timing-Verhalten, Filterkriterien für Instanz- und Versionsauflösung sowie Eventgruppen-Abonnement-Konfigurationen.
2. Komponenten, Entitäten & Schnittstellen
Zentrale Deployment-Entitäten
RequiredApServiceInstance: Abstrakte Basisklasse für clientseitige Service-Instanzen im Adaptive-Manifest.RequiredSomeipServiceInstance:- Konkrete Spezialisierung (Generalisierung von
RequiredApServiceInstance). - Attribute:
requiredMinorVersion: AnyVersionString [0..1]: Erwartete Minor-Version des Service-Interfaces.requiredServiceInstanceId: AnyServiceInstanceId [0..1]: Explizite SOME/IP-Instanz-ID oder Wildcard (0xFFFF) für dynamisches Discovery.versionDrivenFindBehavior: ServiceVersionAcceptanceKindEnum [0..1]: Bestimmt die Auswertung der Minor-Version.
- Beziehungen & Aggregationen:
+blocklistedVersion(0..*, Komposition) →SomeipServiceVersion: Definiert explizit abgewiesene Versionen (majorVersion [0..1],minorVersion).+capabilityRecord(0..* {ordered}, Komposition) →TagWithOptionalValue: Key-Value-Paare (key,sequenceOffset [0..1],value [0..1]) zur Attribut-Filterung bei der Service-Suche.+sdClientConfig(0..1, Assoziation) →SomeipSdClientServiceInstanceConfig(Typ:ARElement).+requiredEventGroup(0..*, Komposition) →SomeipRequiredEventGroup(Typ:Referrable).
- Konkrete Spezialisierung (Generalisierung von
Service Discovery & Timing-Konfigurationen
SomeipSdClientServiceInstanceConfig(ARElement):- Attribut:
priority: PositiveInteger [0..1](Priorisierung von SD-Nachrichten). - Komposition:
+initialFindBehavior(0..1) →InitialSdDelayConfig:initialDelayMinValue: TimeValue,initialDelayMaxValue: TimeValue: Zufälliges Jitter-Intervall vor dem erstenFindService.initialRepetitionsBaseDelay: TimeValue [0..1]: Basisintervall für Wiederholungen.initialRepetitionsMax: PositiveInteger [0..1]: Maximale Anzahl der Wiederholungen in der Initialphase.
- Attribut:
SomeipRequiredEventGroup(Referrable):- Repräsentiert das clientseitige Interesse an einer Eventgruppe.
- Assoziation:
+eventGroup(0..1) →SomeipEventGroup(Identifiable/ARElement): Referenziert die Ziel-Eventgruppe (eventGroupId: PositiveInteger [0..1]). - Assoziation:
+sdClientEventGroupTimingConfig(0..1) →SomeipSdClientEventGroupTimingConfig(ARElement):subscribeEventgroupRetryDelay: TimeValue [0..1]: Intervall für erneute Subscriptions.subscribeEventgroupRetryMax: PositiveInteger [0..1]: Maximale Retry-Anzahl bei ausbleibendemSubscribeEventgroupAck.timeToLive: PositiveInteger: TTL-Feld im SOME/IP-SD-Header.- Komposition:
+requestResponseDelay(0..1) →RequestResponseDelay:minValue,maxValue(Verzögerungsfenster für Antworten auf Unicast/Multicast-Trigger).
Aufzählungen
«enumeration» ServiceVersionAcceptanceKindEnum:minimumMinorVersion: Akzeptiert Service-Angebote mit ≥requiredMinorVersion(Abwärtskompatibilität gemäß SemVer).exactOrAnyMinorVersion: Erzwingt strikte Identität der Minor-Version oder akzeptiert Wildcards.
3. Dynamisches Verhalten & Sequenzablauf
Das Metamodell steuert die Zustandsmaschine des SOME/IP-Service-Discovery-Clients:
[Init / Startup]
│
▼
[Initial Delay: Jitter (minValue..maxValue)]
│
├─► Sende SOME/IP-SD FindService (Multicast/Unicast)
│ └─► Exponentielles Backoff via initialRepetitionsBaseDelay (bis initialRepetitionsMax)
│
▼
[Empfang SOME/IP-SD OfferService]
│
├─► 1. Match Instance ID (requiredServiceInstanceId vs. Offer)
├─► 2. Versions-Validierung:
│ ├─ Abgleich versionDrivenFindBehavior (exact vs. minimum)
│ └─ Prüfung gegen blocklistedVersion (Drop bei Match)
│
▼
[Service gematcht & ara::com Proxy erzeugt]
│
▼
[Event-Subscription (SomeipRequiredEventGroup)]
│
├─► Jitter / Verzögerung via RequestResponseDelay (minValue..maxValue)
├─► Sende SubscribeEventgroup (TTL = timeToLive)
│
▼
[Warte auf SubscribeEventgroupAck]
│
├─► Timeout / NACK ──► Retry via subscribeEventgroupRetryDelay (bis subscribeEventgroupRetryMax)
└─► ACK empfangen ───► Event-Empfang aktiv (E2E/SOME/IP PDU Deserialisierung)
4. Normative Relevanz & Entwickler-Hinweise
- Manifest-Generierung: Das Modell bildet die Schablone für ARXML-Generatoren. Fehlende optionale Attribute (
[0..1]) fallen auf Default-Werte des SOME/IP-Stacks zurück (z. B. Wildcard0xFFFFfürrequiredServiceInstanceId). - Versions-Kompatibilität:
- Steht
versionDrivenFindBehavioraufminimumMinorVersion, muss der Stack sicherstellen, dass Erweiterungen in neueren Minor-Versionen (z. B. zusätzliche Events oder Datenfelder) die Deserialisierung des Clients nicht korrumpieren (Forward-Toleranz). blocklistedVersionermöglicht das gezielte Ausschließen fehlerhafter Server-Releases im Feld, ohne die Client-Software neu kompilieren zu müssen.
- Steht
- Vermeidung von Busüberlastung (Ethernet Flooding):
- Die Parameter in
InitialSdDelayConfigundRequestResponseDelaysind zwingend so zu parametrieren, dass beim gleichzeitigen Hochfahren mehrerer ECUs Broadcast-/Multicast-Stürme (Synchronisations-Peaks) durch Randomisierung verhindert werden.
- Die Parameter in
- E2E-Absicherung (
PRS_E2E_00323):- Werden Events innerhalb der referenzierten
SomeipEventGroupüber E2E-Profile geschützt, muss dieara::com-Laufzeit anhand derSomeipRequiredEventGroupden korrekten E2E-Check-State aufsetzen, bevor deserialisierte Daten an die Applikationsschicht übergeben werden.
- Werden Events innerhalb der referenzierten
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.