DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_COMManager FIG-8d0862c214b42503 916 × 871 px 1 Release(s)

Figure 5: ComM channel state machine State Section / Requirement COMM_NO_COMMUNICATION 7.2.2 Entering state: SWS_ComM_00898, SWS_ComM_00313, SWS_ComM_00073, SWS_ComM_00288 In sub-state COMM_NO_COM_NO_PENDING_REQUEST: SWS_ComM_00875, SWS_ComM_00876, SWS_ComM_00893, SWS_ComM_00894, SWS_ComM_00694, SWS_ComM_01014, SWS_ComM_01015 In sub-state COMM_NO_COM_REQUEST_PENDING: SWS_ComM_00895 ,SWS_ComM_00897 COMM_SILENT_COMMUNICATION 7.2.3 Entering state: SWS_ComM_00071 In state: SWS_ComM_00877, SWS_ComM_00878 SWS_ComM_00295,

SHA-256 Inhalts-Fingerabdruck: 8d0862c214b425037aa378da27d57d38b75f1deb1a76738db722efe4ae91d6a4
✦ 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

UML-Zustandsdiagramm (State Machine Diagram) zur Spezifikation der AUTOSAR Classic Platform (SWS Communication Manager, ComM). Das Diagramm modelliert die hierarchische Kanal-Zustandsmaschine (ComM state machine for Channel X) und definiert die Modi der Kommunikationskanäle sowie die Bedingungen für Zustandsübergänge zwischen Kommunikationszuständen und Unterzuständen.

2. Komponenten, Entitäten & Schnittstellen

Die Zustandsmaschine steuert einen Kommunikationskanal ChX über folgende Entitäten:

  • Hauptzustände:
    • COMM_NO_COMMUNICATION: Aufgeteilt in Unterzustände COMM_NO_COM_NO_PENDING_REQUEST (Initialzustand) und COMM_NO_COM_REQUEST_PENDING.
    • COMM_FULL_COMMUNICATION: Aufgeteilt in Unterzustände COMM_FULL_COM_NETWORK_REQUESTED (Initialzustand) und COMM_FULL_COM_READY_SLEEP.
    • COMM_SILENT_COMMUNICATION: Flacher Zwischenzustand.
  • Schnittstellen & API-Trigger:
    • Benutzer-Anforderungen: ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION), ComM_RequestComMode(<user>, COMM_NO_COMMUNICATION).
    • Diagnose (Dcm): ComM_DCM_ActiveDiagnostic(ChX).
    • Network Management (Nm): ComM_Nm_NetworkMode(ChX), ComM_Nm_PrepareBusSleepMode(ChX), ComM_Nm_BusSleepMode(ChX), ComM_Nm_RestartIndication(ChX), ComM_Nm_NetworkStartIndication(ChX).
    • Bus State Manager (BusSM): ComM_BusSM_BusSleepMode(ChX).
    • ECU State Manager (EcuM): ComM_EcuM_PNCWakeUpIndication(PNC), ComM_EcuM_WakeUpIndication(ChX).
  • Konfigurationsparameter & Guards:
    • ComMNmVariant: FULL, LIGHT, NONE, PASSIVE, SLAVE_ACTIVE, SLAVE_PASSIVE.
    • ComMBusType: COMM_BUS_TYPE_INTERNAL.
    • Guard-Bedingungen: [CommunicationAllowed=TRUE], [Communication limitation enabled], [Communication limitation disabled], [No active Diagnostic on ChX].
  • Timer:
    • ComMTMinFullComModeDuration, ComMLightTimeout.

3. Dynamisches Verhalten & Sequenzablauf

  • Initialisierung & Eintritt: Die Zustandsmaschine startet in COMM_NO_COMMUNICATION im Unterzustand COMM_NO_COM_NO_PENDING_REQUEST.
  • Innerhalb COMM_NO_COMMUNICATION:
    • Ein Übergang nach COMM_NO_COM_REQUEST_PENDING erfolgt durch Wakeup-/Restart-Indikationen (ComM_EcuM_PNCWakeUpIndication, ComM_EcuM_WakeUpIndication, ComM_Nm_RestartIndication, ComM_Nm_NetworkStartIndication), aktive Diagnose (ComM_DCM_ActiveDiagnostic) oder eine Modusanforderung ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) bei nicht aktiver Kommunikationsbeschränkung.
    • Ein Abbruch der Anforderung (Pending request for COMM_FULL_COMMUNICATION canceled) führt zurück nach COMM_NO_COM_NO_PENDING_REQUEST.
  • Übergang nach COMM_FULL_COMMUNICATION:
    • Aus COMM_NO_COM_REQUEST_PENDING bei Eintreten von RUN im EcuM für den Kanal unter [CommunicationAllowed=TRUE]. Initialer Unterzustand ist COMM_FULL_COM_NETWORK_REQUESTED.
  • Innerhalb COMM_FULL_COMMUNICATION:
    • Übergänge von COMM_FULL_COM_NETWORK_REQUESTED nach COMM_FULL_COM_READY_SLEEP erfolgen bei Wegfall von Benutzeranforderungen und Diagnosen abhängig von der NM-Variante:
      • Bei [ComMNmVariant = LIGHT | NONE] nach Ablauf des Timers ComMTMinFullComModeDuration.
      • Bei [ComMNmVariant = FULL].
      • Bei [ComMNmVariant = SLAVE_ACTIVE].
      • Bei [ComMNmVariant = PASSIVE | SLAVE_PASSIVE].
      • Wenn Kommunikationsbeschränkung angefordert ist und keine aktive Diagnose auf ChX anliegt.
    • Rückübergang zu COMM_FULL_COM_NETWORK_REQUESTED erfolgt durch Benutzeranforderung COMM_FULL_COMMUNICATION (bei deaktivierter Kommunikationsbeschränkung) oder aktive Diagnose.
  • Übergänge zu COMM_SILENT_COMMUNICATION und Verlassen:
    • Von COMM_FULL_COMMUNICATION (aus COMM_FULL_COM_READY_SLEEP) nach COMM_SILENT_COMMUNICATION über ComM_Nm_PrepareBusSleepMode(ChX).
    • Aus COMM_SILENT_COMMUNICATION zurück nach COMM_FULL_COMMUNICATION via ComM_Nm_NetworkMode(ChX), erneute Diagnose oder Full-Com-Anforderung.
    • Nach COMM_NO_COMMUNICATION via ComM_Nm_BusSleepMode(ChX).
  • Verlassen von COMM_FULL_COM_READY_SLEEP direkt nach COMM_NO_COMMUNICATION:
    • Über Join-Knoten bei internem Bus ([ComMBusType = COMM_BUS_TYPE_INTERNAL]), Ablauf von ComMLightTimeout ([ComMNmVariant = LIGHT]), BusSleep (ComM_BusSM_BusSleepMode(ChX) bei [ComMNmVariant = SLAVE_ACTIVE or SLAVE_PASSIVE]) oder ComM_Nm_BusSleepMode(ChX).

4. Normative Relevanz & Entwickler-Hinweise

  • Bildet die normative Basis für die Implementierung des ComM-Kanal-Zustandsautomaten nach AUTOSAR SWS Communication Manager.
  • Besondere Beachtung gilt den NM-Varianten: Slave-Knoten (SLAVE_ACTIVE, SLAVE_PASSIVE) nutzen BusSM-Meldungen (ComM_BusSM_BusSleepMode) anstelle von Nm-Ereignissen für den Übergang in den Schlafmodus.
  • Kanäle mit SLAVE_PASSIVE wechseln zusammen mit PASSIVE ohne eigene Anforderungsmöglichkeit in COMM_FULL_COM_READY_SLEEP.
  • Interne Busse (COMM_BUS_TYPE_INTERNAL) und vereinfachte Netzwerkmanagement-Varianten (LIGHT, NONE) umgehen COMM_SILENT_COMMUNICATION und wechseln direkt von COMM_FULL_COM_READY_SLEEP nach COMM_NO_COMMUNICATION.
  • Reentrante Selbstübergänge verarbeiten redundante Anforderungen in COMM_FULL_COM_NETWORK_REQUESTED, COMM_FULL_COM_READY_SLEEP, COMM_SILENT_COMMUNICATION, COMM_NO_COM_REQUEST_PENDING und COMM_NO_COM_NO_PENDING_REQUEST.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R19-11 → R20-11 normative Änderung Vorgänger: FIG-33242e3f5013dff2
  • Transition COMM_FULL_COM_NETWORK_REQUESTED -> COMM_FULL_COM_READY_SLEEP: Guard-Bedingung No user request ComM_RequestComMode (<user>, COMM_FUL [ComMNmVariant = LINSLAVE] geändert zu No user request ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION [ComMNmVariant = SLAVE_ACTIVE].
  • Transition COMM_FULL_COM_NETWORK_REQUESTED -> COMM_FULL_COM_READY_SLEEP: Guard-Bedingung [ComMNmVariant = PASSIVE] erweitert zu [ComMNmVariant = PASSIVE | SLAVE_PASSIVE].
  • Transition COMM_FULL_COM_READY_SLEEP -> COMM_NO_COMMUNICATION: Trigger/Guard ComM_BusSM_BusSleepMode(ChX) [ComMNmVariant = LINSLAVE] geändert zu ComM_BusSM_BusSleepMode(ChX) [ComMNmVariant = SLAVE_ACTIVE or SLAVE_PASSIVE].

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

COMM_FULL_COMMUNICATION | COMM_NO_COMMUNICATION | COMM_SILENT_COMMUNICATION | COMM_FULL_COM_READY_SLEEP COMM_FULL_COM_NETWORK_REQUESTED | COMM_NO_COM_NO_PENDING_REQUEST COMM_NO_COM_REQUEST_PENDING | ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) | ComM_RequestComMode(<user>, COMM_NO_COMMUNICATION) | ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) | [ComMNmVariant = PASSIVE | SLAVE_PASSIVE] | ComM_Nm_BusSleepMode(ChX) | [ComMBusType = COMM_BUS_TYPE_INTERNAL] | ComM_RequestComMode(<user>, COMM_NO_COMMUNICATION) | ComM_DCM_ActiveDiagnostic(ChX) | Timer ComMTMinFullComModeDuration has expired No user request ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) and No ComM_DCM_ActiveDiagnostic(ChX) [ComMNmVariant = LIGHT | NONE] | ComM_RequestComMode(<user>, COMM_NO_COMMUNICATION) | [EcuM entered RUN for the channel] [CommunicationAllowed=TRUE] | ComM_BusSM_BusSleepMode(ChX) [ComMNmVariant = SLAVE_ACTIVE or SLAVE_PASSIVE] | Pending request for COMM_FULL_COMMUNICATION canceled | ComM_EcuM_PNCWakeUpIndication(PNC)or ComM_EcuM_WakeUpIndication(ChX) or ComM_Nm_RestartIndication(ChX) or ComM_Nm_NetworkStartIndication(ChX) | ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) [Communication limitation disabled] | ComM_Nm_PrepareBusSleepMode(ChX) | No user request ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION [ComMNmVariant = SLAVE_ACTIVE] | No user request ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) and No ComM_DCM_ActiveDiagnostic(ChX) [ComMNmVariant = FULL] | ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) [Communication limitation disabled] | Timer ComMLightTimeout has expired [ComMNmVariant = LIGHT] | ComM_DCM_ActiveDiagnostic(ChX) | ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) [Communication limitation enabled] | ComM_DCM_ActiveDiagnostic(ChX) | ComM_Nm_BusSleepMode(ChX) | ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) [Communication limitation disabled] | ComM_Nm_NetworkMode(ChX) | Communication limitation requested [No active Diagnostic on ChX]

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_COMManager S. 46 5 Figure 5: ComM channel state machine State Section / Requirement COMM_NO_COMMUNICATION 7.2.2 Entering state: SWS_ComM_00898, SWS_ComM_00313, SWS_ComM_00073, SWS_ComM_00288 In sub-state COMM_NO_COM_NO_PENDING_REQUEST: SWS_ComM_00875, SWS_ComM_00876, SWS_ComM_00893, SWS_ComM_00894, SWS_ComM_00694, SWS_ComM_01014, SWS_ComM_01015 In sub-state COMM_NO_COM_REQUEST_PENDING: SWS_ComM_00895 ,SWS_ComM_00897 COMM_SILENT_COMMUNICATION 7.2.3 Entering state: SWS_ComM_00071 In state: SWS_ComM_00877, SWS_ComM_00878 SWS_ComM_00295,