Figure 16: Wakeup Source States
1af58691d4934c0c36e8125987ece3f71e3dbfe0ac59d2e8c78a1466b1258294
1. Diagrammtyp & Architektur-Kontext
Das Diagramm ist ein hierarchisches UML-Zustandsdiagramm des AUTOSAR ECU State Managers (EcuM), das die Interaktion zwischen EcuM, BSW Mode Manager (BswM) und Communication Manager (ComM) bei der Weckquellenverwaltung spezifiziert. Es modelliert hierarchische Zustände für Freigabe und Weckvalidierung inklusive Entry- und Exit-Aktionen.
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm umfasst:
- Zustände:
ENABLED: Übergeordneter Zustand mit Entry-Aktionen+ entry / BswM_EcuM_CurrentWakeup(ENABLED),+ entry / EcuM_EnableWakeupSources()und Exit-Aktion+ exit / EcuM_DisableWakeupSources().Disabled: Verbundzustand mit Initial State, enthält:NONE: Zustand ohne Weckereignis mit+ entry / BswM_EcuM_CurrentWakeup(NONE).Validation: Zusammengesetzter Subzustand mit:PENDING: Weckereignis anstehend, mit+ entry / BswM_EcuM_CurrentWakeup(PENDING),+ entry / EcuM_StartWakeupSources()und+ do / exec. wakeup validation seq..VALIDATED: Validiertes Weckereignis mit+ entry / BswM_EcuM_CurrentWakeup(VALIDATED)und+ entry / ComM_EcuM_WakeUpIndication().EXPIRED: Abgelaufene Validierung mit+ entry / BswM_EcuM_CurrentWakeup(EXPIRED).
- Schnittstellen und Ereignisse:
- BswM-Schnittstelle:
BswM_EcuM_CurrentWakeup(...). - ComM-Schnittstelle:
ComM_EcuM_WakeUpIndication(). - EcuM-APIs:
EcuM_SetWakeupEvent(),EcuM_ClearWakeupEvent(),EcuM_ValidateWakeupEvent(),EcuM_EnableWakeupSources(),EcuM_DisableWakeupSources(),EcuM_StartWakeupSources(),EcuM_StopWakeupSources(). - Externe Trigger / Events:
GoSleep,Timer expiration. - Guards:
[no val.],[validation].
- BswM-Schnittstelle:
3. Dynamisches Verhalten & Sequenzablauf
Der Ablauf ist wie folgt definiert:
- Initialisierung: Vom globalen Initial State führt eine Transition in den Zustand
Disabled, dort initial nachNONE. - Wechsel Enabled / Disabled: Aus dem Zustand
Disabledführt das EreignisGoSleepin den ZustandENABLED. - Weckereignisse:
- Aus
ENABLEDführtEcuM_SetWakeupEvent() [no val.]direkt in den ZustandVALIDATEDinnerhalb vonDisabled. - Aus
ENABLEDführtEcuM_SetWakeupEvent() [validation]in den ZustandPENDINGim BlockValidation.
- Aus
- Validierungsablauf innerhalb von
Validation:EcuM_ValidateWakeupEvent()triggert den Übergang vonPENDINGnachVALIDATED.Timer expiration / EcuM_StopWakeupSources()schaltet vonPENDINGnachEXPIRED.
- Rücksetzen:
- Aus
ValidationführtEcuM_ClearWakeupEvent()zurück nachNONE.
- Aus
- Aktionen: Bei jedem Zustandswechsel wird über die jeweilige Entry-Aktion der BswM via
BswM_EcuM_CurrentWakeupüber den neuen Status informiert. Bei Eintritt inVALIDATEDerfolgt die Benachrichtigung an ComM (ComM_EcuM_WakeUpIndication).
4. Normative Relevanz & Entwickler-Hinweise
Die Zustandslogik koppelt Zustandswechsel normativ an BswM-Zustandsmeldungen (BswM_EcuM_CurrentWakeup). Beim Eintritt in PENDING muss der EcuM die betroffenen Weckquellen über EcuM_StartWakeupSources() starten, um die Validierungssequenz durchzuführen. Tritt ein Timeout auf, stoppt die Transition nach EXPIRED die Weckquellen über EcuM_StopWakeupSources(). Die Freigabe der Weckquellen erfolgt über EcuM_EnableWakeupSources() bei Eintritt in ENABLED.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.