Figure 17: UML sequence diagram for asynchronous call with callback
99d36d74abf8abdd653dab17d177fe0fd55f1716b0624cf0ea25b1528c02c767
1. Diagrammtyp & Architektur-Kontext
UML-Sequenzdiagramm (sd NvM_Asychronous Call with Callback) im Kontext der AUTOSAR-Basissoftware (NVRAM Manager / NvM). Dargestellt wird die asynchrone Ausführung von NvM_WriteBlock mit Callback-Benachrichtigung unter Verwendung formalisierter AUTOSAR-Datentypen. Unten links befindet sich ein Metadatenblock bezüglich Spezifikationsstatus.
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Lebenslinien:
BSW Task (OS task or cyclic call): Zyklischer Task zur Ausführung der BSW-Hauptfunktionen.NvM User: Verwender der NvM-Dienste.«module» NvM: NVRAM-Manager-Modul.
Schnittstellen und Signaturen:
NvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const uint8*)/ AntwortNvM_WriteBlock().NvM_MainFunction()/ AntwortNvM_MainFunction().SingleBlockCallbackFunction(Std_ReturnType, uint8, NvM_RequestResultType)mit Referenz<SingleBlockJobEndNotification>().NvM_GetErrorStatus(NvM_BlockIdType, uint8*) : NvM_RequestResultType/ AntwortNvM_GetErrorStatus().
3. Dynamisches Verhalten & Sequenzablauf
NvM Usersetzt die Anforderung überNvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const uint8*)ab. NvM speichert die Anforderung und Callback-Adresse, setzt den Job-Status aufNVM_REQ_PENDINGund bestätigt mitNvM_WriteBlock().- Innerhalb der Schleife
loop Job processing([repeat until writing of block is completed]) triggertBSW TaskwiederholtNvM_MainFunction(). Daten werden häppchenweise asynchron geschrieben; der Status verbleibt aufNVM_REQ_PENDING. - Nach Abschluss des Schreibvorgangs ruft
BSW TaskerneutNvM_MainFunction()auf, woraufhin der NvM den CallbackSingleBlockCallbackFunction(Std_ReturnType, uint8, NvM_RequestResultType)(<SingleBlockJobEndNotification>()) aufNvM Userausführt. - Bei erfolgreichem Abschluss geht der Status auf
NVM_REQ_OKüber. NvM Userliest das Ergebnis viaNvM_GetErrorStatus(NvM_BlockIdType, uint8*) : NvM_RequestResultTypeaus.
4. Normative Relevanz & Entwickler-Hinweise
Die Schnittstellensignaturen verwenden standardisierte AUTOSAR-Basistypen (NvM_BlockIdType, const uint8*, NvM_RequestResultType). Die Callback-Funktion signalisiert das Ergebnis direkt über den Parameter NvM_RequestResultType. Der Pufferzeiger in NvM_WriteBlock ist als Zeiger auf Byte-Array (const uint8*) typisiert.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.