DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_NVRAMManager FIG-f2984c8bef1e8670 734 × 461 px 2 Release(s)

Figure 14: UML sequence diagram NvM_GetErrorStatus

SHA-256 Inhalts-Fingerabdruck: f2984c8bef1e86708501f1e64c4c3687622dafbbb7dd49506f31fdf44894f4b2
✦ 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

  • Diagrammtyp: UML-Sequenzdiagramm (sd NvM_GetErrorStatus).
  • Funktionale Einordnung: AUTOSAR Classic Platform, Basic Software (BSW), System Services Layer.
  • Technischer Zweck: Visualisierung des synchronen Abfragedienstes für den Bearbeitungs- und Fehlerstatus eines NVRAM-Blocks (NvM_GetErrorStatus). Der NVRAM Manager (NvM) stellt damit oberen Schichten (Software Components bzw. BSW-Modulen) einen direkten Statuszugriff auf administrative Blockdaten bereit, ohne asynchrone Treiberoperationen (MemIf/FEE/EA) auszulösen.

2. Komponenten, Entitäten & Schnittstellen

  • Beteiligte Instanzen (Lifelines):
    • Generic Elements::NvM User (User): Repräsentiert den NvM-Nutzer / Service-Nutzer aus dem Paket Generic Elements::NvM (ASW-Komponente oder BSW-Modul).
    • «module» NvM::NvM: BSW-Modul NVRAM Manager, nun explizit mit dem Stereotyp «module» versehen. Das Dekompositionssymbol (zwei verbundene Kreise) in der Kopfzeile kennzeichnet ein dekomponiertes Teilsystem.
  • Schnittstellen & Signaturen:
    • Aufruf: NvM_GetErrorStatus(BlockId,RequestResultPtr)
      • BlockId (In): Eindeutige Kennung des NVRAM-Blocks.
      • RequestResultPtr (Out): Zeiger auf die Zielvariable zur Aufnahme des Anfrageergebnisses (NvM_RequestResultType).
    • Rückgabewert (Return Message): NvM_GetErrorStatus (synchrone Rückkehr der Ausführung mit Std_ReturnType).
  • Zusätzliche Diagrammelemente:
    • UML-Notiz (Note): Dokumentationsnotiz mit den Feldern Status: Proposed by TO as per NvM SWS 1.44, Description: und Comments:.

3. Dynamisches Verhalten & Sequenzablauf

  1. Aufruftrigger: Die SW Component initiiert den synchronen Funktionsaufruf NvM_GetErrorStatus blockierend über das RTE-Service-Interface (Client-Server) oder per direktem C-API-Call.
  2. Interne Ausführung (NvM):
    • Prüfung: Validierung von Initialisierungszustand (NVM_UNINIT führt bei DET-Aktivierung zu NVM_E_UNINIT), Block-ID-Gültigkeit (NVM_E_PARAM_BLOCK_ID) und Gültigkeit des Übergabepointer (NVM_E_PARAM_DATA).
    • Datenzugriff: Direkter Lesezugriff auf das RAM-basierte administrative Block-Array (NvM_AdminBlockTable[BlockId].NvMResult). Es findet keine Kommunikation mit Hardware-Treibern (MemIf, Fee, Ea) statt.
    • Schreiboperation: Übertrag des aktuellen Status in die durch RequestResultPtr referenzierte Speicheradresse.
  3. Rückkehr (Return Message): Synchrone Rückkehr der Ausführung an den Aufrufer mit Rückgabewert E_OK (bzw. E_NOT_OK bei fehlgeschlagener Plausibilisierung).

4. Normative Relevanz & Entwickler-Hinweise

  • Synchroner Kontrakt: Die API ist strikt synchron und non-blocking bezüglich Flash/EEPROM-Laufzeiten. Sie darf aus Task-Kontexten aufgerufen werden, ohne Latenzen der Peripherietreiber zu erben.
  • Mögliche Statuswerte (NvM_RequestResultType):
    • NVM_REQ_OK: Letzte asynchrone Operation (Read/Write/Restore/Validate) erfolgreich abgeschlossen.
    • NVM_REQ_NOT_OK: Letzte Operation fehlgeschlagen.
    • NVM_REQ_PENDING: Eine asynchrone Operation für diesen Block ist noch in der NvM-Queue oder in Bearbeitung.
    • NVM_REQ_INTEGRITY_FAILED: CRC-Fehler oder Redundanzprüfung fehlgeschlagen.
    • NVM_REQ_BLOCK_SKIPPED: Block wurde bei Multi-Block-Abarbeitung (NvM_ReadAll / NvM_WriteAll) übersprungen.
    • NVM_REQ_NV_INVALIDATED: Block wurde explizit über NvM_InvalidateNvBlock ungültig deklariert.
    • NVM_REQ_CANCELED: Anforderung wurde abgebrochen (z. B. via NvM_CancelJobs).
  • Reentranz: Die Funktion ist reentrant ausgelegt. Bei nebenläufigem Zugriff auf denselben Block über unterschiedliche OS-Tasks muss der Aufrufer bzw. der NvM-Treiber atomare Lese-/Schreibzugriffe auf das administrative Zustandsfeld sicherstellen.
  • Poling-Muster: Wird typischerweise zur Überwachung von asynchron gestarteten Aufträgen (NvM_ReadBlock, NvM_WriteBlock, NvM_EraseNvBlock) genutzt, falls keine asynchronen Job-Finished-Callbacks (NvM_SingleBlockCallbackFunction) konfiguriert sind.

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

R2.1.20 → R3.0.7 redaktionell Vorgänger: FIG-a355421bd6922c61
  • Lebenslinie Aufrufer: Umbenennung von SW Component (mit Paketvermerk (from Interaction Views)) zu Generic Elements::NvM User.
  • Lebenslinie NvM: Ergänzung des UML-Stereotyps «module» über NvM::NvM.
  • Kommentarbox: Hinzufügen einer UML-Notizbox mit Dokumentationsfeldern (Status: Proposed by TO as per NvM SWS 1.44, Description:, Comments:).
  • Diagrammrahmen: Typografische Änderung der Kopfzeile zu sd Nv M_GetErrorStatus.
R3.1.5 → R3.2.3 normative Änderung Nachfolger: FIG-844910f3961d29a1
  • Aufruf-Signatur: Umstellung von Parameternamen auf Datentypen von NvM_GetErrorStatus(BlockId,RequestResultPtr) zu NvM_GetErrorStatus(NvM_BlockIdType, uint8*) unter Spezifikation des Ausgabetyps uint8*.
  • Rückkehr-Nachricht: Ergänzung von runden Klammern bei der Return-Nachricht (NvM_GetErrorStatus()).
  • Lebenslinie Aufrufer: Vereinfachung der Beschriftung von Generic Elements::NvM User zu NvM User.
  • Lebenslinie NvM: Entfernung des Namensraum-Präfixes von «module» NvM::NvM zu «module» NvM.
  • Diagrammrahmen: Korrektur des Titels zu sd NvM_GetErrorStatus.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

sd Nv M_GetErrorStatus | «module» | NvM::NvM | Generic Elements::NvM | User | Status: Proposed by TO as per NvM SWS 1.44 | Description: | Comments: | NvM_GetErrorStatus(BlockId,RequestResultPtr) | NvM_GetErrorStatus

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R3.0.7 AUTOSAR_SWS_NVRAMManager S. 81 14 Figure 14: UML sequence diagram NvM_GetErrorStatus
R3.1.5 AUTOSAR_SWS_NVRAMManager S. 84 14 Figure 14: UML sequence diagram NvM_GetErrorStatus