AUTOSAR_SWS_OS
FIG-d62f1d1832b553e5
745 × 681 px
2 Release(s)
Figure 9.2: Error Hook sequence chart The above sequence chart shows the sequence of error hook calls in case a service does not return with E_OK. Note that in this case the general error hook and the OS-Application specific error hook are called.
SHA-256 Inhalts-Fingerabdruck:
d62f1d1832b553e5dad1a93df9d41bb8d2e36b653926c2eb32aa044e01acb064
✦
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 (sd Interactions) zur Spezifikation des Fehlerbehandlungsmechanismus im AUTOSAR Operating System (Classic Platform, BSW OS). Es veranschaulicht das Zusammenspiel zwischen einer aufrufenden OS-Application (OS-Appl. <App>) und dem Betriebssystemkern (operating system) beim synchronen Aufruf von OS-Systemdiensten und dem zweistufigen Aufruf von zentralen sowie anwendungsspezifischen Error-Hooks im Fehlerfall.
2. Komponenten, Entitäten & Schnittstellen
Lebenslinien:
OS-Appl. <App>: Aufrufende OS-Application (speicher- und partitionsgeschützter Kontext<App>).operating system: AUTOSAR OS Kernel als Ausführungsinstanz der Systemdienste und Dispatcher der Hook-Routinen.
Bedingungen und Guards:
- Notiz-Vorbedingung (
condition: <System service> is called outside an Error Hook AND both the system-/appl,-specific Error Hook are configured): Der Systemdienst wird außerhalb eines bereits aktiven Error-Hooks aufgerufen, und sowohl der systemweite Error-Hook als auch der anwendungsspezifische Error-Hook sind im OS konfiguriert (OsErrorHook = TRUEundOsAppErrorHook = TRUE). - Äußerer
alt-Block mit Guard[condition]: Kapselt den gesamten Ablauf unter Einhaltung der genannten Vorbedingung. - Innerer
alt-Block mit Guard[return != E_OK]: Selektiert den Fehlerbehandlungspfad, wenn der aufgerufene Dienst einen Fehlerstatus ungleichE_OKmeldet.
Nachrichten und Schnittstellen:
- Synchroner Aufruf:
<system service> which returns a value of type StatusTypevonOS-Appl. <App>anoperating system. - Lokale Hook-Aktivierung:
ErrorHook (<Error>)als Self-Message aufoperating system(Aufruf des globalen System-Error-Hooks mit Fehlerparameter<Error>). - Anwendungsbezogene Hook-Aktivierung:
ErrorHook_<App> (<Error>)vomoperating systemanOS-Appl. <App>(Aufruf des partitionsspezifischen Error-Hooks). - Rückkehr aus partitioniertem Hook: gestrichelte Antwortnachricht ohne Parameter von
OS-Appl. <App>anoperating system. - Dienst-Rückgabewert: gestrichelte Antwortnachricht
StatusType valuevomoperating systemanOS-Appl. <App>.
3. Dynamisches Verhalten & Sequenzablauf
- Eine Task oder ISR innerhalb der OS-Application
<App>ruft synchron einen Systemdienst auf (<system service>), dessen Funktionssignatur einen Rückgabewert des TypsStatusTypedeklariert. - Das Betriebssystem verarbeitet die Dienstanforderung und ermittelt den Rückgabestatus.
- Ergibt die Überprüfung einen Fehlerstatus (
return != E_OK): a) Das Betriebssystem ruft zunächst synchron den globalen System-Error-HookErrorHook (<Error>)auf. b) Nach Beendigung des globalen Hooks ruft das Betriebssystem den anwendungsspezifischen Error-HookErrorHook_<App> (<Error>)im Kontext der betroffenen OS-Application auf. c) Der anwendungsspezifische Hook wird ausgeführt und kehrt zum Betriebssystem zurück. - Nach Abschluss der Hook-Verarbeitung (bzw. direkt bei fehlerfreiem Status
E_OK) liefert das Betriebssystem den ermitteltenStatusType valuean den Aufrufer inOS-Appl. <App>zurück.
4. Normative Relevanz & Entwickler-Hinweise
- Rekursionsschutz: Systemaufrufe innerhalb eines Error-Hooks dürfen im Fehlerfall keinen weiteren Error-Hook auslösen (
called outside an Error Hook), um Rekursionskaskaden und Stack-Überläufe zu unterbinden. - Hook-Priorisierung und Reihenfolge: Der systemweite
ErrorHookwird stets strikt vor dem anwendungsspezifischenErrorHook_<App>ausgeführt. - Kontextschnittstelle & Diagnose: Innerhalb der Hooks kann über AUTOSAR-Makros (z. B.
OSErrorGetServiceId()und parameterbezogene Makros) auf den auslösenden Service und die Parameter zugegriffen werden. - Fehlerfortpflanzung: Die Hook-Ausführung unterdrückt nicht die reguläre Rückgabe des Fehlercodes an den aufrufenden Kontext; der Aufrufer erhält weiterhin den konkreten
StatusType-Fehlercode (z. B.E_OS_ID,E_OS_VALUE,E_OS_STATE) zur lokalen Auswertung.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.