Figure 6: Internal wake up
7980303ec8139742f007f17641c605228b1e70ce11fdffa25443d35d1e1b4d1a
1. Diagrammtyp & Architektur-Kontext
UML-Sequenzdiagramm (Interaktionsdiagramm mit sd LinSm Internal Wakeup-Rahmen) im Kontext der AUTOSAR Classic Platform (Communication Stack / LIN Subsystem). Es spezifiziert den softwareseitig initiierten internen Aufwachvorgang (Internal Wakeup) eines LIN-Clusters über den LIN State Manager (LinSM). Beteiligt sind vier BSW-Module: Basic Software Mode Manager (BswM), Communication Manager (ComM), LIN State Manager (LinSm) und LIN Interface (LinIf).
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm definiert vier BSW-Modulinstanzen (Stereotyp «module») mit ihren Lebenslinien:
BswM::BswM: Mode-Management-Senke zur Erfassung des aktuellen LINSM-Zustands.ComM::ComM: Übergeordneter Kommunikationsmanager (mit Subsystem-Symbol gekennzeichnet) als Anforderer des Kommunikationsmodus und Empfänger der Modusbestätigung.LinSm::LinSM: Zentraler Zustandsmanager für das LIN-Netzwerk.LinIf::LinIf: Treiber-Abstraktionsschnittstelle zum LIN-Transceiver/Bus.
Dargestellte Schnittstellen und Operationen mit C-Typ-Signaturen:
LinSM_RequestComMode(Std_ReturnType, NetworkHandleType, ComM_ModeType): Aufruf vonComManLinSM.LinIf_WakeUp(Std_ReturnType, NetworkHandleType): Aufruf vonLinSManLinIf.LinSM_WakeupConfirmation(NetworkHandleType, boolean): Callback/Bestätigung vonLinIfanLinSM.ComM_BusSM_ModeIndication(NetworkHandleType, ComM_ModeType*): Statusindikation vonLinSManComM.BswM_LinSM_CurrentState(LinSM_ModeType, NetworkHandleType): Zustandsmeldung vonLinSManBswM.- Interne Aufrufe an der Lebenslinie von
LinSM:start_timer(),stop_timer()sowie der Zustandswechselsetmode LINSM_FULL_COM().
3. Dynamisches Verhalten & Sequenzablauf
Der dynamische Ablauf gliedert sich in folgende chronologische Schritte:
ComMfordert überLinSM_RequestComMode(Std_ReturnType, NetworkHandleType, ComM_ModeType)mit Guard/Bedingung[mode=FULL_COM]den Übergang in den Vollkommunikationsmodus an.LinSMleitet die Aufwachanforderung synchron überLinIf_WakeUp(Std_ReturnType, NetworkHandleType)anLinIfweiter;LinIfantwortet synchron per Return-Pfeil.LinSMstartet einen internen Überwachungstimer (start_timer()) und quittiert den ursprünglichen Aufruf anComMper Return-Pfeil.- Nach erfolgreichem Aufweckpuls auf dem Bus meldet
LinIfdas Ergebnis asynchron überLinSM_WakeupConfirmation(NetworkHandleType, boolean)mit Guard[success=true]anLinSMzurück. LinSMstoppt den Überwachungstimer (stop_timer()), wechselt intern in den ZustandLINSM_FULL_COM(setmode LINSM_FULL_COM()) und meldet den neuen Zustand überComM_BusSM_ModeIndication(NetworkHandleType, ComM_ModeType*)mit Guard[mode=FULL_COM]anComM.- Nach Bestätigung durch
ComMinformiertLinSMdie KomponenteBswMüberBswM_LinSM_CurrentState(LinSM_ModeType, NetworkHandleType)mit Guard[mode=FULL_COM]. BswMquittiert per Return-Pfeil; anschließend endet der Aktivierungsbalken des Bestätigungszyklus inLinSMundLinIf.
4. Normative Relevanz & Entwickler-Hinweise
Das Diagramm dient als normative Verhaltensspezifikation für die Implementierung des internen Aufwachvorgangs im LIN State Manager (SWS LINStateManager, Kapitel 9.2). Es verlangt zwingend:
- Eine asynchrone Handhabung des Aufweckens mit interner Timerüberwachung zwischen
LinIf_WakeUpundLinSM_WakeupConfirmation. - Die sequenzielle Benachrichtigung von
ComMvorBswMnach erfolgreicher Aufweckbestätigung (success=true). - Die Verwendung von
[mode=FULL_COM]als Vorbedingung für die Zustandsindikation an die umgebenden Mode-Management-Module.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.