DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_NVRAMManager FIG-fec2d4c94299e445 868 × 636 px 2 Release(s)

Figure 18: UML sequence diagram for asynchronous call with callback

SHA-256 Inhalts-Fingerabdruck: fec2d4c94299e4456db002dfde5b05691906010612ef2fb360d3168b0831ea44
✦ 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-Sequenzdiagramm zur asynchronen Auftragsverarbeitung im NVRAM Manager (NvM) mit Einzelblock-Callback-Benachrichtigung und abschließender Statusabfrage.

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Lebenslinien:

  • BSW Task (OS task or cyclic call): Periodischer Ausführungstask für BSW-Funktionen.
  • NvM User: Verwender der NvM-Dienste und Empfänger des Callbacks.
  • «module» NvM: NVRAM-Manager-Modul.

Schnittstellen und Signaturen:

  • NvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const void*) / Antwort NvM_WriteBlock().
  • NvM_MainFunction() / Antwort NvM_MainFunction().
  • NvM_SingleBlockCallbackFunction(Std_ReturnType, NvM_BlockRequestType, NvM_RequestResultType) mit Referenz <SingleBlockJobEndNotification>().
  • NvM_GetErrorStatus(Std_ReturnType, NvM_BlockIdType, NvM_RequestResultType**) / Antwort NvM_GetErrorStatus().

3. Dynamisches Verhalten & Sequenzablauf

  1. NvM User stößt den Schreibauftrag mit NvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const void*) an. Der NvM speichert Auftrag und Callback-Adresse aus dem NVRAM-Blockdeskriptor, setzt den Status auf NVM_REQ_PENDING und bestätigt mit NvM_WriteBlock().
  2. In der Schleife loop Job processing ([repeat until writing of block is completed]) ruft BSW Task periodisch NvM_MainFunction() auf. Die Daten werden asynchron ins NVRAM geschrieben.
  3. Nach Abschluss des Schreibvorgangs ruft BSW Task erneut NvM_MainFunction() auf. Der NvM benachrichtigt den Nutzer über den Funktionsaufruf NvM_SingleBlockCallbackFunction(Std_ReturnType, NvM_BlockRequestType, NvM_RequestResultType) (<SingleBlockJobEndNotification>()).
  4. Nach erfolgreichem Schreiben wird der Status auf NVM_REQ_OK gesetzt.
  5. NvM User ruft NvM_GetErrorStatus(Std_ReturnType, NvM_BlockIdType, NvM_RequestResultType**) auf, um den Status abzufragen.

4. Normative Relevanz & Entwickler-Hinweise

Der Servicetyp im Callback ist als formaler Aufzählungstyp NvM_BlockRequestType anstelle eines generischen uint8 definiert. Der Ergebnisparameter von NvM_GetErrorStatus ist als Doppelzeiger (NvM_RequestResultType**) ausgewiesen.

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

R4.3.1 → R18-10_R4.4.0_R1.5.0 normative Änderung Vorgänger: FIG-f0204ac19e41c118
  • Callback-Parameter: Im zweiten Parameter von NvM_SingleBlockCallbackFunction wird der Service-Typ von uint8 auf den formalen Typ NvM_BlockRequestType geändert (NvM_SingleBlockCallbackFunction(Std_ReturnType, NvM_BlockRequestType, NvM_RequestResultType)).
  • Signatur NvM_GetErrorStatus: Der Ergebnisparameter wird wieder mit Doppelzeiger als NvM_RequestResultType** notiert (NvM_GetErrorStatus(Std_ReturnType, NvM_BlockIdType, NvM_RequestResultType**)).
R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-213e04fe125cfe75

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | NvM | NvM User | BSW Task (OS task | or cyclic call) | Comment: Job processing (writing NVRAM) is done asynchronously. Data unit by data unit is written to NVRAM (e.g. 1 byte every 10 ms, both depending on NVRAM hardware). | During writing of data job result is still NVM_REQ_PENDING | Comment: Check and store request. Callback address is stored in the NVRAM block descriptor. Set job result to NVM_REQ_PENDING. | Comment: Writing of Block completed. Call Job End Notification | Comment: Writing of Block completed successfully. Job result will be NVM_REQ_OK | loop Job processing | [repeat until writing of block is completed] | NvM_MainFunction () | NvM_MainFunction() | <SingleBlockJobEndNotification> () | NvM_GetErrorStatus(Std_ReturnType, NvM_BlockIdType, NvM_RequestResultType**) | NvM_WriteBlock(Std_ReturnType, NvM_BlockIdType, const void*) | NvM_MainFunction() | NvM_WriteBlock () | NvM_MainFunction () | NvM_GetErrorStatus () | NvM_SingleBlockCallbackFunction(Std_ReturnType, NvM_BlockRequestType, NvM_RequestResultType)

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_NVRAMManager S. 157 18 Figure 18: UML sequence diagram for asynchronous call with callback
R19-11 AUTOSAR_SWS_NVRAMManager S. 165 18 Figure 18: UML sequence diagram for asynchronous call with callback