Figure 16: Wakeup Source States
ae46fd1642318010bac5046c07ccfb43fe5ddad409f503e8323db9282dd8bb28
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_EnableWakeupSources()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_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). Bei Eintreffen eines Weckevents im Zustand ENABLED wird die Weckquelle in den Modus Disabled überführt. Tritt ein Timeout bei der Validierung auf, muss die Transition nach EXPIRED zwingend den Treiberstopp via EcuM_StopWakeupSources() auslösen. Bei erfolgreicher Validierung wird ComM_EcuM_WakeUpIndication als Entry-Aktion von VALIDATED ausgeführt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.