Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR ENSURING AND MAINTAINING THE FUNCTION OF A COMPLETE SAFETY-CRITICAL SYSTEM
Document Type and Number:
WIPO Patent Application WO/2020/249169
Kind Code:
A1
Abstract:
The invention relates to a method for ensuring and/or maintaining the function of a complex, complete safety-critical system, in particular a vehicle control system, in which, when an event occurs in the complete system, the event is analysed and the sub-functionalities affected by the event are determined, and the complete system is divided into sub-functionalities dependent on one another using the event analysis, the sub-functionalities forming graphs, and a logic statement of availability, in particular "available" or "not available" is made by means of a function identifier (FID) on the basis of the event analysis.

Inventors:
KASCHA REINHOLD (DE)
HALILOVIC MIRZA (DE)
GURZAWSKI TIMO (DE)
Application Number:
PCT/DE2020/200042
Publication Date:
December 17, 2020
Filing Date:
June 04, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINENTAL AUTOMOTIVE GMBH (DE)
International Classes:
G06F11/07; G06F11/30; B60W50/02
Domestic Patent References:
WO2008065059A12008-06-05
Foreign References:
US20110153535A12011-06-23
US8806277B12014-08-12
US20090295559A12009-12-03
Download PDF:
Claims:
PATENTANSPRÜCHE

1. Verfahren zum Sicherstellen und/oder Aufrechterhalten der Funktion eines si cherheitskritischen Gesamtsystems, insbesondere eines Fahrzeugregelungssystems, bei dem

beim Auftreten eines Ereignisses im Gesamtsystem das Ereignis analysiert und Subfunktionalitäten ermittelt werden, die von dem aufgetretenen Ereignis betroffen sind, und

das Gesamtsystem anhand der Ereignisanalyse in voneinander abhängige Subfunktionalitäten unterteilt wird, wobei

die Subfunktionalitäten Graphen bilden, und

mittels eines Funktionsidentifikators (FID) auf Basis der Ereignisanalyse eine logische Verfügbarkeitsaussage, insbesondere„verfügbar“ oder„nicht verfügbar“, ge troffen wird.

2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass innerhalb des Gesamtsystems mehrere Graphen berechnet werden.

3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Gra phen der Subfunktionalitäten aufeinander abgestimmt werden, wenn eine Kommunika tion zwischen diesen verfügbar ist.

4. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Graphen der Subfunktionalitäten gemeinsam verarbeitet werden.

5. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Verbindung der Graphen anhand gemeinsamer Subfunkti onalitäten erfolgt, deren Verfügbarkeit verteilt berechnet wird.

6. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine zweistufige Realisierung der jeweiligen verteilten Sub funktionalitäten erfolgt.

7. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass anhand der Ereignisanalyse ein Ereignisstatus eines Monitors ermittelt wird, wobei die jeweiligen Monitore als Subfunktionalitäten behandelt werden und Bestandteil der Systemunterteilung sind.

8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass jeder dafür kon figurierter Monitor automatisch auf einen Status gesetzt wird, welcher anzeigt, dass dieser nicht verfügbar ist, sobald er durch den Funktionsidentifikator (FID) deaktiviert wurde.

9. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Softwarekonfiguration und/oder Testfälle automatisch aus Anforderungen an das Gesamtsystem generiert werden.

10. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zunächst die lokalen Verfügbarkeiten der verteilten Subfunkti onalitäten ermittelt und anschließend ausgetauscht und systemweit eingesetzt werden.

11. Verfahren nach mindestens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Gesamtsystem in unterschiedliche Partitionen aufgeteilt ist, insbesondere umfassen die Partitionen eine Performance-Verarbeitungspartition (PPP) zur Verarbeitung, eine Sicherheits-Verarbeitungspartition (SPP) und eine elekt rische Energieversorgung (EPS), insbesondere zur Parameter- und Sicherheitsüber wachung, sowie eine Ethernet- Partition (EP) zur Kommunikation.

12. Verfahren nach Anspruch 11 , dadurch gekennzeichnet, dass die Verarbei tungspartition (PPP), die Sicherheits-Verarbeitungspartition (SPP) und die elektrische Energieversorgung (EPS) jeweils einen Prozessor aufweisen und ihre Prozessorres sourcen und Programmausführung jeweils überwachen.

13. Verfahren nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass eine gegenseitige Funktionsüberwachung der Verarbeitungspartition (PPP), der Sicher heits-Verarbeitungspartition (SPP) und der elektrischen Energieversorgung (EPS) vor gesehen ist.

14. Gesamtsystem, insbesondere Fahrzeugregelungssystem, welches konfiguriert ist, um seine Funktion insbesondere anhand eines Verfahrens nach mindestens einem der vorhergehenden Ansprüche sicherzustellen und/oder aufrechtzuerhalten, bei dem ein Verfügbarkeitsmanager (AvM) vorgesehen ist, der beim Auftreten eines Er- eignisses im Gesamtsystem das Ereignis analysiert und Subfunktionalitäten ermittelt, die von dem aufgetretenen Ereignis betroffen sind,

das Gesamtsystem anhand der Ereignisanalyse in voneinander abhängige Subfunktionalitäten unterteilt wird, wobei

die Subfunktionalitäten Graphen bilden, und

ein Funktionsidentifikators (FID) vorgesehen ist, der dazu hergerichtet ist, auf

Basis der Ereignisanalyse eine logische Verfügbarkeitsaussage, insbesondere„verfüg bar“ oder„nicht verfügbar“, zu treffen, und

15. Computerprogramm mit Programmcode zur Durchführung eines Verfahrens nach mindestens einem der vorhergehenden Ansprüche, wenn das Computerpro gramm in einem Computer ausgeführt wird.

Description:
Verfahren zum Sicherstellen und Aufrechterhalten der Funktion

eines sicherheitskritischen Gesamtsystems

Die vorliegende Erfindung betrifft ein Verfahren zum Sicherstellen und/oder Aufrechterhalten der Funktion eines komplexen sicherheitskritischen Gesamtsystems, ein Gesamtsystem, wel ches seine jeweilige Funktion insbesondere anhand eines erfindungsgemäßen Verfahrens si cherstellt und/oder aufrechterhält sowie ein Computerprogramm mit Programmcode zur Durchführung des erfindungsgemäßen Verfahrens.

Technologischer Hintergrund

Moderne Fortbewegungsmittel wie Kraftfahrzeuge oder Motorräder werden zunehmend mit Fahrerassistenzsystemen ausgerüstet, welche mit Hilfe von Sensorsystemen die Umgebung erfassen, Verkehrssituation erkennen und den Fahrer unterstützen, z. B. durch einen Brems oder Lenkeingriff oder durch die Ausgabe einer optischen oder akustischen Warnung. Als Sen sorsysteme zur Umgebungserfassung werden regelmäßig Radarsensoren, Lidarsensoren, Kamerasensoren oder dergleichen eingesetzt. Aus den durch die Sensoren ermittelten Sens ordaten können anschließend Rückschlüsse auf die Umgebung gezogen werden, womit z. B. eine Objekt- und/oder Umgebungsklassifizierung bzw. ein Umfeldmodell erstellt werden kann. Ferner ist die Umgebungserfassung nahezu unverzichtbar im Bereich des (teil-) autonomen Fahrens, sodass ein besonderes Interesse an der Fort- und Weiterentwicklung der entspre chenden Systeme besteht. Ferner ist gerade im Bereich des (teil-) autonomen Fahrens die Kurvenerkennung anhand von Objektdetektionen von großer Bedeutung, da eine autonome Planung von Trajektorien entlang der Streckenführung ohne eine derartige Kurvenerkennung nur schwer umsetzbar ist.

Aufgrund von aktuellen Automatisierungstrends bei der Automobilindustrie insbesondere im Bereich derartiger Assistenzsysteme bis hin zum autonomen Fahren lassen die Komplexität elektronischer und elektrischer Komponenten sowie die Anforderungen an deren Verfügbar keit und funktionaler Sicherheit rapide anwachsen. Dabei ist die fehlerfreie Funktion der Kom ponenten im Einzelnen und die fehlerfreie Zusammenarbeit dieser Komponenten ausschlag gebend für einen fehlerfreien Verkehrsbetrieb. Bei der Zusammenarbeit von unterschiedlichen Komponenten und Funktionalitäten und Subfunktionalitäten ist insbesondere die Hard- und Softwarearchitektur von besonderer Bedeutung. Die ISO 26262 („Road vehicles - Functional safety“) für sicherheitsrelevante elektroni sche/elektrische (E/E) Systeme in Kraftfahrzeugen definiert das Vorgehensmodell zusammen mit den geforderten Aktivitäten und Arbeitsprodukten sowie die anzuwendenden Methoden in derer Entwicklung und Produktion. Die Umsetzung der ISO 26262 soll die funktionale Sicher heit eines Systems mit E/E Komponenten im Kraftfahrzeug gewährleisten. Dabei werden die Entwicklungsprozesse auf Softwareebene in Anlehnung an geschachtelte V-Modelle behan delt und die erforderlichen Vorgehensweisen und Arbeitsergebnisse definiert. Beispielsweise soll die Implementierung der funktionalen Sicherheit in der Software auf Basis einer Spezifika tion der Software-Sicherheitsanforderungen erfolgen. Idealerweise ist die Spezifikation der Software-Sicherheitsanforderungen von ihrer internen Struktur her an die zu verwendende Software bzw. die angestrebte Softwarearchitektur eng ausgerichtet.

Insbesondere wird hierzu die sogenannte AUTOSAR (AUTomotive Open System ARchitec- ture) Architektur eingesetzt. Es handelt sich hierbei um eine offene und standardisierte Soft warearchitektur für elektronische Steuergeräte (sogenannte Electronic Control Units; kurz ECU). Gemäß AUTOSAR Architektur berichten verschiedene Monitore ihre Überwachungser gebnisse (Ereignisstatus) an einen Ereignisdiagnosemanager bzw. Diagnostic Event Manager (DEM), welcher diese dann an einen sogenannten Funktionssperrmanager bzw. Function In hibition Manager (FIM) weiterleitet. Der Funktionssperrmanager ist in der AUTOSAR Architek tur die Komponente, die für das Systemverfügbarkeitsmanagement verantwortlich ist. Die Aus gangsinformationen des Funktionssperrmanagers sind die aus dem Ereignisstatus berechne ten logischen Verfügbarkeiten für die jeweiligen Subfunktionalitäten, in die ein Gesamtsystem in passender Weise dekomponiert sein muss. Es besteht daher ein Interesse daran, bei der Systementwicklung auf der Softwareebene eine derartige Dekomposition vorzunehmen und zu spezifizieren. Zudem müssen über die Systementwicklung auf der Softwareebene für jede einzelne der Subfunktionalitäten aus der Gesamtheit der im System auftretenden Ereignisse diejenigen herausgearbeitet werden, die ursächlichen Einfluss auf ihre Verfügbarkeit haben. Dies dient dann ebenfalls als Grundlage für die Umsetzung. Daraus resultieren jedoch Umset zungsschwierigkeiten und eine hohe Fehleranfälligkeit, da bereits in überschaubaren Syste men jeweils mehrere (z. B. hunderte) Ereignisse und Subfunktionalitäten verwaltet werden müssen, wobei jedes Ereignis mit jeder Subfunktionalität auf ihre Relevanz hin untersucht und dokumentiert werden muss. Dieser Nachteil ist im Wesentlichen auf eine flache Struktur von sogenannten Funktionsidentifizierer bzw. Funktionsidentifikatoren (Function Identifier FID) zu rückzuführen, welche dazu vorgesehen sind, die jeweiligen Subfunktionalitäten zu identifizie ren. Druckschriftlicher Stand der Technik

Eine Lösung des aufgezeigten Problems wird in WO 2008/065059 A1 beschrieben. Dort wird vorgeschlagen, zwischen den Subfunktionalitäten Abhängigkeiten zu berücksichtigen, wie es sie in reellen Systemen rein physikalisch gibt (eine Subfunktion kann nicht korrekt ausgeführt werden, wenn ein Sensor oder ein Aktuator defekt sind, von denen sie abhängig ist). So ent steht ein Graph aus Verfügbarkeiten der Subfunktionalitäten, in dem man die Überwachungs ergebnisse der Monitore nur den unmittelbar betroffenen Subfunktionalitäten zuführen muss und die sich dann zu den abhängigen Subfunktionalitäten entlang der Abhängigkeitspfade au tomatisch fortpflanzen. Dadurch wird die Anzahl der Abhängigkeiten pro Subfunktionalität zu einigen Wenigen reduziert, was die Aufwände und die Fehleranfälligkeit sowohl in der Syste mentwicklung auf der Softwareebene sowie in der Softwareentwicklung drastisch reduziert. Allerdings sind die Subfunktionalitäten wie in WO 2008/065059 A1 beschrieben im Gegensatz zu den logischen Verfügbarkeiten des AUTOSAR sehr komplexe Gebilde mit einer sehr kom plexen Handhabung, was wiederum einen gewichtigen Nachteil darstellt.

Ferner hat auch das Konzept eines Graphen in AUTOSAR Einzug genommen. In AUTOSAR ist dabei vorgesehen, dass Monitore ihren Dienst permanent und aus dem Zusammenhang gerissen verrichten (sie überwachen Komponenten z. B. selbst dann, wenn sie abgeschaltet sind, was zwangsläufig zur unberechtigten Erkennung von Fehlern führt), so dass der Bedarf besteht, die Überwachungsergebnisse im Nachhinein aufwendig zu filtern, wofür entspre chende manuell konfigurierbare Mechanismen vorgesehen sind, wodurch zusätzliche Kosten entstehen. Ein Graph ist hier lediglich ein weiterer Mechanismus um die Eintragung von Folge fehlern zu unterbinden. Ferner können auch, basierend auf WO 2008/065059 A1 , Monitore als Subfunktionalitäten behandelt werden, indem sie in den Abhängigkeitsgraphen integriert sind und so, bei Bedarf abgeschaltet werden, so dass eine nachträgliche Filterung von deren Er gebnissen entfällt, jedoch sind derartige Monitor-Subfunktionalitäten ebenfalls schwer hand habbare und höchst komplexe Gebilde.

Ferner spezifiziert AUTOSAR den Betrieb Fl Ms in reiner Client-Server Architektur unterstützt durch die Laufzeitumgebung (Runtime Environment; RTE). Der FIM nimmt dabei die Rolle eines zentralen Servers an, an dem die Überwachungsergebnisse der Monitore zusammen laufen und von dem aus die berechneten Verfügbarkeiten der Subfunktionalitäten zu den Emp fängern verteilt werden. Diese Signale durchlaufen in Multi-Core-Prozessoren, Multiprozessor- und Multi-ECU Systemen zuweilen beschwerliche Wege, die Quelle von unzulässigen Verzö gerungen und gar Übertragungsausfällen sein können. Im letzteren Fall ist/sind dann der Sig- nalsender bzw. Empfänger gänzlich vom Server abgeschnitten und seines„Entscheiden“ be raubt. Man könnte zwar auf jedem der Prozessoren eines verteilten Systems einen eigenen FIM instanziieren (falls AUTOSAR Stack vorhanden), dennoch bliebe das Problem des gegen seitigen Abgleichs der Ergebnisse ungelöst, da jeder dieser FIMs völlig autark arbeiten würde. Unter„Abgleich“ wird hier verstanden, dass, im einfachsten Fall, eine Instanz die Ergebnisse einer anderen Instanz berücksichtigt und, im etwas komplexeren Fall, zwei oder mehrere In stanzen T eilberechnungen durchführen und ihre T eilergebnisse zum gemeinsamen Endergeb nis zusammenführen.

Ferner kann, basierend auf WO 2008/065059 A1 , eine echte über maximal zwei Instanzen verteilte Verfügbarkeitsbestimmung realisiert werden, indem die Subfunktionalitätsgraphen der unterschiedlichen Instanzen über gemeinsame Knoten miteinander verbunden werden. Die Verfügbarkeit dieser gemeinsamen Knoten, auch verteilte Subfunktionalitäten genannt, werden anteilig in zwei diversen Instanzen berechnet und über den Kommunikationsweg auf einander abgestimmt. So können in jeder Instanz die lokalen Verfügbarkeiten auf die Überwa chungsergebnisse der lokalen Monitore hin verzögerungsfrei bestimmt und die andere Instanz mittels des vorhandenen Kommunikationskanals über die möglichen Nicht-Verfügbarkeiten benachrichtigt werden. Beide Instanzen sollen dann die Verfügbarkeit ihrer eigenen Subfunk tionalitäten im abhängigen Teilgraphen automatisch anpassen. Beim Ausfall der Kommunika tion bleiben diese Instanzen jedoch weiterhin funktionsfähig, ohne gegenseitigen Abgleich. Nachteilig ist dabei, dass Subfunktionalitäten nur über zwei Instanzen verteilt werden können und deren Abgleich asymmetrisch stattfindet. Nur eine der beiden Instanzen ist dann in der Lage, die Verfügbarkeit ihrer eigenen Subfunktionalitäten im abhängigen Teilgraphen automa tisch dem Ergebnis der anderen Instanz anzupassen. Das ist ein Tribut an die drohenden Deadlocks, welcher beschreibt, dass eine Subfunktionalität nach dem Wegfall der Degrada tionsursache nicht wiederhergestellt werden kann, da sich die zwei Instanzen gegenseitig de gradieren.

Aufgabe der vorliegenden Erfindung

Die Aufgabe der vorliegenden Erfindung besteht nunmehr darin, ein gattungsgemäßes Ver fahren und System zur Verfügung zu stellen, durch das die Nachteile aus dem Stand der Tech nik in kostengünstiger Weise überwunden werden. Lösung der Aufgabe

Die vorstehende Aufgabe wird durch die gesamte Lehre des Anspruchs 1 sowie der nebenge ordneten Ansprüche gelöst. Zweckmäßige Ausgestaltungen der Erfindung sind in den Unter ansprüchen beansprucht.

Bei dem erfindungsgemäßen Verfahren zum Sicherstellen oder Aufrechterhalten der Funktion eines komplexen sicherheitskritischen Gesamtsystems, insbesondere eines Fahrzeugrege lungssystems bzw. Assistenzsystems, wird beim Auftreten eines Ereignisses im Gesamtsys tem das Ereignis (oder die Ereignisse) zunächst analysiert und diejenigen Subfunktionalitäten ermittelt, die von dem aufgetretenen Ereignis betroffen sind. Das Gesamtsystem wird dabei nach den Erkenntnissen der Ereignisanalyse in voneinander abhängige Subfunktionalitäten unterteilt, wobei mittels eines Funktionsidentifikators eine logische Verfügbarkeitsaussage über die jeweiligen Subfunktionalitäten anhand der Ereignisdiagnose erstellt bzw. getroffen wird. Die logische Verfügbarkeitsaussage kann dabei insbesondere in„verfügbar“ oder„nicht verfügbar“ eingeteilt werden. Zudem können keine weiteren definierbaren bzw. auswählbaren Modi unterstützt werden (es gibt dementsprechend auch kein Auswahlsystem). Darüber hin aus bilden die Subfunktionalitäten Graphen. Die vorliegende Erfindung stellt dabei ein kosten günstiges und effizientes Verfahren zum Verfügbarkeitsmanagement einzelner Komponenten sowie Komponentenverbunde für sicherheitskritische Anwendungen in Kraftfahrzeugen zwecks Gewährleistung derer funktionalen Sicherheit und maximal möglicher Verfügbarkeit dar.

Zweckmäßigerweise können innerhalb des Gesamtsystems auch mehrere Graphen vorgese hen sein bzw. berechnet werden.

Ferner können die Graphen der Subfunktionalitäten aufeinander abgestimmt werden, wenn eine Kommunikation zwischen diesen verfügbar ist.

Vorzugsweise werden die Subfunktionalitäten derart in Graphen zusammengefasst, dass diese innerhalb einer funktionellen Einheit (z. B. einem Rechnermodul oder einer Verarbei tungseinheit) gemeinsam verarbeitet werden.

Dadurch, dass die Verbindung der Graphen anhand gemeinsamer Subfunktionalitäten erfolgt, kann deren Verfügbarkeit verteilt berechnet werden, sodass die Ergebnisse der lokalen Moni- tore ohne Verzögerung zu den entsprechenden lokalen Verfügbarkeitsentscheidungen führen, unabhängig von der Verfügbarkeit der Kommunikationswege zu anderen Graphen bzw. dieser Graphen selbst. Bei Verfügbarkeit der Kommunikationswege können lokal getroffene Verfüg barkeitsentscheidungen systemweit berücksichtigt werden.

Gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung erfolgt eine zweistufige Realisierung der jeweiligen verteilten Subfunktionalitäten. Daraus resultiert der Vorteil, dass Subfunktionalitäten auf beliebig viele Graphen ohne Gefahr eines Deadlocks verteilt werden können. Die nicht verteilten Subfunktionalitäten können in praktischer Weise auch einstufig realisiert werden.

Zweckmäßigerweise kann anhand der Ereignisanalyse ein Ereignisstatus ermittelt werden, wobei die jeweiligen Ereignisstatus als Subfunktionalitäten behandelt werden und Bestandteil der Systemunterteilung sind, d. h. die jeweiligen Monitore können als Subfunktionalitäten be handelt werden und Bestandteil der Systemdekomposition sein.

Zweckmäßigerweise kann jeder Monitor bzw. Ereignisstatus automatisch auf einen Status ge setzt werden, welcher anzeigt, dass dieser nicht verfügbar ist, sobald er durch den Funktionsi- dentifikator (FID) deaktiviert wurde. Beispielsweise kann der Status eines Monitors auf„NOT- TESTED“ gesetzt werden, sobald er durch den Funktionsidentifikator deaktiviert wird, d. h. es erfolgt ein automatisches setzen des internen Ereignisstatus„NOTTESTED“ für deaktivierte und diesbezüglich konfigurierte Monitore.

Vorzugsweise wird eine Softwarekonfiguration und/oder die einschlägigen Testfälle (z. B. ele mentare, funktionale Softwaretests, die der Überprüfung der Konformität der Softwarekonfigu ration mit den jeweiligen Anforderungen dienen) automatisch aus den Anforderungen an das Gesamtsystem generiert. In praktischer weise kann somit die Konfiguration bzw. Applikation des Gesamtsystems sowie eine diversitär ausgeführte Testfallgenerierung automatisch aus den jeweiligen Anforderungen erfolgen. Der Bedarf manueller Programmierung zwecks Appli kation auf Softwareebene entfällt. Der Entwicklungsaufwand wird auf die Erstellung der Anfor derungen auf der Softwareebene reduziert.

In einfacher Weise können zunächst die lokalen Verfügbarkeiten der Subfunktionalitäten er mittelt und anschließend ausgetauscht, aufeinander abgestimmt und systemweit eingesetzt werden.

Zweckmäßigerweise kann das Gesamtsystem in unterschiedliche Partitionen aufgeteilt sein. Insbesondere können die Partitionen eine Performance-Verarbeitungspartition (PPP) zur Ver- arbeitung, eine Sicherheits-Verarbeitungspartition (SPP) und eine elektrische Energieversor gung (EPS), insbesondere zur Sicherheitsüberwachung, sowie eine Ethernet-Partition (EP) zur Kommunikation umfassen.

Dadurch, dass die Verarbeitungspartition (PPP), die Sicherheits-Verarbeitungspartition (SPP) und die elektrische Energieversorgung (EPS) jeweils einen Prozessor aufweisen und ihre Pro zessorressourcen und Programmausführung jeweils selbstständig und automatisch überwa chen wird die Sicherheit in besonderem Maße verbessert.

Zudem kann eine gegenseitige Funktionsüberwachung der Verarbeitungspartition (PPP), der Sicherheits-Verarbeitungspartition (SPP) und/oder der elektrischen Energieversorgung (EPS) vorgesehen sein. Dadurch kann eine zusätzliche Fehlerüberwachung implementiert werden, sodass die Sicherheit des Gesamtsystems noch zusätzlich verbessert wird.

Neben- oder untergeordnet beansprucht die vorliegende Erfindung ein Gesamtsystem, insbe sondere ein Fahrzeugregelungssystem, ein Steuergerät (Electronic Control Unit ECU oder Electronic Control Module ECM) oder eine ADCU bzw. AuDCU (Assisted and Automated Dri- ving Control Unit), welches zum Sicherstellen oder Aufrechterhalten der Funktion vorzugs weise ein erfindungsgemäßes Verfahren verwendet. Ferner wird beim Auftreten eines Ereig nisses im Gesamtsystem das Ereignis zunächst durch einen Verfügbarkeitsmanager analy siert. Dann werden diejenigen Subfunktionalitäten ermittelt, die von dem aufgetretenen Ereig nis oder den aufgetretenen Ereignissen betroffen sind. Ferner wird das Gesamtsystem anhand der Ereignisanalyse in voneinander abhängige Subfunktionalitäten unterteilt, wobei die Sub funktionalitäten Graphen bilden. Dabei ist ein Funktionsidentifikator vorgesehen, der dazu her gerichtet ist, auf Basis der Ereignisanalyse eine logische Verfügbarkeitsaussage, insbeson dere„verfügbar“ oder„nicht verfügbar“, zu treffen.

In einfacher Weise kann das Verfahren auch als computerimplementiertes Verfahren ausge staltet sein, das eine Ablaufplanung oder eine Vorgehensweise beschreibt, die anhand eines Rechners verwirklicht bzw. durchgeführt wird. Der Rechner, wie z. B. ein Computer, ein Com puternetzwerk oder eine andere aus dem Stand der Technik bekannte programmierbare Vor richtung, kann dabei mittels programmierbarer Rechenvorschriften Daten verarbeiten. In Be zug auf das Verfahren können dabei wesentliche Eigenschaften z. B. durch ein neues Pro gramm, neue Programme, einen Algorithmus oder dergleichen bewirkt werden.

Ferner beansprucht die vorliegende Erfindung hierzu ein Computerprogramm mit Programm code zur Durchführung eines erfindungsgemäßen Verfahrens, wenn das Computerprogramm in einem Computer ausgeführt wird. Beispielsweise kann das Computerprogramm hierzu auf einem computerlesbaren Speichermedium hinterlegt sein.

Beschreibung der Erfindung anhand von Ausführungsbeispielen

Im Folgenden wird die Erfindung anhand von zweckmäßigen Ausführungsbeispielen näher erläutert. Es zeigen:

Fig. 1 eine vereinfachte schematische Darstellung einer Ausgestaltung eines gat tungsgemäßen Systems nach dem Stand der Technik;

Fig. 2 eine vereinfachte schematische Darstellung einer ersten Ausgestaltung eines erfindungsgemäßen Systems;

Fig. 3 eine vereinfachte schematische Darstellung einer Ausgestaltung eines erfin dungsgemäßen Systems mit einer über zwei Graphen verteilten Subfunktiona lität;

Fig. 4 eine vereinfachte schematische Darstellung einer Ausgestaltung eines automa tischen Ausweichens auf eine redundante Ressource;

Fig. 5 eine vereinfachte schematische Darstellung einer Ausgestaltung einer zweistu figen Subfunktionalitätsverteilung zur Vermeidung von Deadlocks;

Fig. 6 eine vereinfachte schematische Darstellung einer Ausgestaltung des Verfüg barkeitsmanagement für eine AuDCU, sowie

Fig. 7 eine vereinfachte schematische Darstellung einer Ausgestaltung eines verteil ten, situationsspezifischen Verfügbarkeitsmanagements.

In Fig. 1 ist eine Ausgestaltung eines gattungsgemäßen Funktionensperrmanagers bzw. Func tion Inhibition Manager (FIM) nach dem Stand der Technik dargestellt, wobei die Eingangsin formation des FIM die Überwachungsergebnisse der Monitore (Ereignisstatus der beobachte ten Ereignisse E n ) darstellen, die er von einem Ereignisdiagnosemanager bzw. Diagnostic Event Manager DEM (in Fig. 1 nicht dargestellt) empfängt. Die Ausgangsinformation sind die aus dem Ereignisstatus (zumindest FAILED, aber auch TESTED, NOTTESTED usw.) berech neten logischen Verfügbarkeiten für die jeweiligen Subfunktionalitäten (identifizierbar über ei nen Funktionsidentifikator bzw. Function Identifier FID), in die ein Gesamtsystem in passender Weise dekomponiert sein muss. Ferner kann als Ausgang der jeweilige FID aktiviert („ein“, „on“) oder deaktiviert („aus“,„off“) werden.

Um eine derartige Dekomposition vorzunehmen und zu spezifizieren verbindet die vorliegende Erfindung die Vorzüge der AUTOSAR Spezifikation im Allgemeinen, insbesondere aber der FIM Spezifikation, mit einem verteilten, mehrfachereignisfähigen und Graph-basierten Ansatz. Es wird hierbei von der flachen Subfunktionalitätsstruktur des AUTOSAR abgesehen. Die Sub funktionalitäten werden in Abhängigkeiten zueinander gebracht entsprechend ihren physikali schen Abhängigkeiten im reellen System. Dadurch entsteht ein Graph (d. h. eine geordnete Menge von Knoten und gerichteten Kanten), dessen Knoten die Ereignisse und Subfunktiona litäten darstellen. Hierbei wird auf die aus WO 2008/065059 A1 bekannte komplexe interne Darstellung der Subfunktionalitäten zugunsten der einfachsten Darstellung (logisch„verfüg bar“ oder„nicht verfügbar“) als Funktionsidentifikator FID verzichtet, wie in Fig. 2 dargestellt. Die jeweiligen Ereignisse E1-E6, wie z. B. auch auftretende Fehler, Fehlfunktionen oder der gleichen, sind gleichzeitig die Eingangsinformationen vom Ereignisdiagnosemanager DEM (Diagnostic Event Manager). Die AUTOSAR Schnittstellen bleiben dabei unverändert, da eine Proxy-Funktion vorgesehen ist, um auch den Einsatz in sicherheitsrelevanten Systemen zu ermöglichen.

Zweckmäßigerweise werden dabei die Monitore nicht anders als andere Subfunktionalitäten behandelt: sie werden über ihre eigenen Funktionsidentifikatoren, die in den Abhängigkeits graphen eingebaut sind, in ihrer Ausführung gesteuert. Somit entfällt automatisch und im Rah men eines einheitlichen Konzepts die Notwendigkeit des nachträglichen Filterns der Überwa chungsergebnisse. Der zuletzt ermittelte Ereignisstatus eines danach über seine Funktionsi dentifikatoren deaktivierten Monitors verliert in der Regel seine Aussagekraft, da z. B. kein aktuelles Ergebnis vorliegt, wenn der dazugehörige Monitor inaktiv ist. Eine Ausnahme von dieser Regel stellen die sogenannten Power-On Monitore dar, die per Definition einmalig aus geführt werden und deren Ergebnis für den gesamten Zyklus verwendet wird. Zweckmäßiger weise wird daher jeder Monitor dahingehend konfiguriert, ob der Status seines Ereignisses automatisch auf „NOTTESTED“ gesetzt wird, sobald er per Funktionsidentifikator deaktiviert wird. Der„NOTTESTED“ Status hat dann eine konfigurationsgemäße Auswirkung auf den ab hängigen Teil des Graphen. Um beliebige Verfügbarkeitsstrategien realisieren zu können, ist die Unterstützung des Ope rators NOT - neben dem Operator AND - notwendig. Da die Unterstützung des Operators OR sich durchgehend negativ auf das Gesamtkonzept auswirken würde, kann stattdessen der Einsatz der De Morganschen Gesetze vorgesehen sein. Denn während der Operator NOT im Grunde ein 1-Bit AND mit Negierung ist, kann mittels des Operators OR die Umsetzung einer eigenen Logik erfolgen.

Ein derartiger Graph kann mit syntaktisch identischen Regeln beschrieben werden, z. B. mit: „Verbiete B wenn A {nicht} im <Status> ist“, wobei B eine Subfunktionalität ist, die logische Negierung {nicht} optional ist und A eine Subfunktionalität mit den Status «verfügbar, nicht verfügbar» oder ein Ereignis mit den Status «FAILED, TESTED, NOTTESTED, PASSED, NOTPASSED, {...}> sein kann. Dieser Regelsatz stellt die Anforderungen der Systementwick lung auf der Softwareebene an die Softwareentwicklung im Sinne der ISO 26262 dar. Wegen der syntaktischen Identität aller Anforderungen kann daraus in einfacher Weise automatisch die entsprechende Konfiguration für die Software und die einschlägigen Testfälle für den au tomatisierten Modultest erzeugt werden, wobei der Konfigurations-Codegenerator und der Testfallgenerator bzw. die Testfallgeneratoren diversitär ausgeführt sind. Eine manuelle Pro grammierung zwecks Applikation auf Softwareebene entfällt somit.

Der Einsatz von Subfunktionalitätsgraphen, wobei für die Subfunktionalitäten die einfachste Darstellung (logisch„verfügbar“ oder„nicht verfügbar“) zum Einsatz kommt, ist besonders vor teilhaft bei der Rückverfolgung der Ereignisse, die zu einem vorgegebenen (Nicht-) Verfügbar keitsbild geführt haben.

Der Einsatz von Subfunktionalitätsgraphen ist auch besonders vorteilhaft für die Realisierung verteilter Systeme. Verteilte Systeme sind Systeme, in denen ausgewählte Subfunktionalitäten partiell in unterschiedlichen Subfunktionalitätsgraphen an diversen Orten (diverse ECUs, Pro zessoren, Cores (Prozessorkerne), Integritätslevel, asynchrone Tasks) berechnet werden und aus diesem Grunde eine Zusammenführung der Teilergebnisse notwendig ist. Eine verteilte Subfunktionalität kann systemweit nur dann als verfügbar angesehen werden, wenn alle Teil ergebnisse auf „verfügbar“ plädieren. Zur Zusammenführung der Teilergebnisse wird somit insbesondere der Operator AND verwendet, wie in Fig. 3 exemplarisch dargestellt.

Die Ergebnisse der lokalen Monitore führen ohne Verzögerung zu den entsprechenden lokalen Verfügbarkeitsentscheidungen, unabhängig von der Verfügbarkeit der Kommunikationswege zu anderen Graphen bzw. dieser Graphen selbst. Bei Verfügbarkeit der Kommunikationswege ermöglicht der Austausch der minimalmöglichen Menge an Information (1 Bit bei Nichtberück sichtigung eventueller Maßnahmen zur Absicherung der Kommunikation) die Berücksichti gung aller Abhängigkeiten oberhalb der verteilten Subfunktionalität eines Graphen unterhalb dieser Subfunktionalität im anderen Graphen. Fig. 4 zeigt, eine vorteilhafte Ausgestaltung des Verteilungskonzepts beim Auftreten eines Ereignisses E. Der Prozessor P1 ist dabei für die Berechnung des Graphen G1 zuständig, welcher den Abhängigkeitsgraphen für einen Funkti- onsidentifikator FID darstellt. In gleicherweise gilt dies für den Prozessor P2 und den Graphen G2, welches ebenfalls Abhängigkeitsgraph für einen Funktionsidentifikator FID ist. Im vorlie genden Fall muss das Ereignis E nun zwingend zum Abschalten einer sicherheitskritischen Komponente führen und kann somit automatisch auf den redundanten Abschaltpfad A2 aus- weichen, wenn der lokale Abschaltpfad A1 defekt ist (wie anhand des Kreuzes in Fig. 4 ge zeigt). Dies erfolgt durch die Verbindung der beiden Funktionsidentifikatoren FID durch den Operator AND („Ver-UND-ung“).

Ferner würde eine direkte bilaterale„Ver-UND-ung“ der Subfunktionalitäten unweigerlich zum sogenannten„Deadlock“ (d. h. eine blockierende Wartesituation zwischen den Subfunktiona litäten) führen: nachdem in einem der Graphen, möglicherweise nur kurzzeitig, ein Ereignis aufgetreten wäre, welches zur Nichtverfügbarkeit der verteilten Subfunktionalitäten führen würde, würde diese Subfunktionalität im Nachhinein über die Wechselwirkung der beiden Gra phen dauerhaft im Zustand„nicht verfügbar“ verharren und der möglichen Rücknahme des auslösenden Ereignisses nicht mehr folgen. Um diesem Effekt vorzubeugen, können verteilte Subfunktionalitäten zweistufig ausgeführt sein, wie in Fig. 5 gezeigt. Zunächst werden die (Graph-) lokalen Verfügbarkeiten der Subfunktionalitäten ermittelt und anschließend ausge tauscht und nach der„Ver-UND-ung“ systemweit eingesetzt. Dieses Konzept gewährleistet eine Deadlock-freie Verteilung der Subfunktionalitäten über beliebig viele Graphen G1 , G2, G3 ... Gn-

In praktischer Weise können alle relevanten Aspekte der Subfunktionalitätsverteilung per Kon figuration eingestellt werden, wie z. B.: Die Zweistufigkeit der verteilten FIDs, die Einrichtung der notwendigen Kommunikationswege, die Einrichtung der Datenpakete samt Dateninhalte, die Sicherstellung der Kommunikationsfehlerfreiheit (End-to-End Protection mit wahlweiser Fehlerkorrektur) sowie die Überwachung der Kommunikationsfehlerfreiheit. Diese Konfigura tion wird aus den Systementwicklungsanforderungen auf der Softwareebene abgeleitet und automatisch per Codegenerator zur Verfügung gestellt, ähnlich der Generierung der Testfälle für die Verteilungsaspekte. Auch hier entfällt der Bedarf manueller Programmierung zwecks Applikation auf Softwareebene. Zudem kann auch die Kommunikation mit / die Anbindung an beliebig viele Ereignisdiagnosemanager DEM bzw. beliebig viele nichtflüchtige Datenspeicher bzw. Non-Volatile Random-Access Memory (NVRAM)-Speicherorte auf der Anforderungs ebene ohne Aufwände in der Programmierung bewerkstelligt werden. Ferner kann eine Ver teilung der Graphen auf diverse Prozessoren und Steuergeräte (Electronic Control Units bzw. ECUs) erfolgen, die wahlweise mit oder ohne AUTOSAR Stack (heterogene Systeme) imple mentiert sind, um ihre Zusammenarbeit im Normalfall und ihre autarken Aktivitäten im Nicht- Normalfall zu gewährleisten.

Auf Basis der vorliegenden Erfindung wurde das Sicherheitskonzept einer AuDCU (Automated Driving Control Unit), wie in Fig. 6 exemplarisch gezeigt, umgesetzt. Die AuDCU stellt dabei eine eigensichere Rechenplattform für Funktionen des automatischen Fahrens dar. Damit ein hergehend leiten sich hohe Anforderungen an deren Integritätslevel (z. B. ASIL-D) und Ver fügbarkeit ab. Um diese Ziele zu erreichen wurden einer Performance-Verarbeitungspartition bzw. Performance Processing Partition PPP, die in der Regel sehr hohe Rechenkapazitäten bereitstellt, zwei weitere Partitionen beigestellt: die Sicherheits-Verarbeitungspartition bzw. Safety Processing Partition SPP und die elektrische Energieversorgung bzw. Electric Power Supply EPS. Die elektrische Energieversorgung EPS, Sicherheits-Verarbeitungspartition SPP und Performance-Verarbeitungspartition PPP beinhalten programmierbare Prozessoren sowie unterschiedliche Verfügbarkeitsmanager AvM (Availability Manager). Die hoch performante Kommunikation mit der Außenwelt übernimmt eine insbesondere nicht programmierbare Ethernet-Partition EP. Die Sicherheits-Verarbeitungspartition SPP und elektrische Energiever sorgung EPS sind hauptverantwortlich für die Systemsicherheit. Sie überwachen dabei alle relevanten Versorgungsspannungen, Temperaturen und dergleichen. Die elektrische Energie versorgung EPS, die Sicherheits-Verarbeitungspartition SPP und die Performance-Verarbei tungspartition PPP überwachen darüber hinaus ihre eigenen Prozessorressourcen inklusive ihrer Programmusführung und können sich auch gegenseitig auf ihre korrekte Funktion hin überwachen. Die Ethernet-Partition EP verfügt zudem über eingebaute Eigentests. Wobei beim Erkennen eines Partitions-Iokalen Ereignisses alle (gegebenenfalls noch funktionieren den) Partitionen koordiniert und unterhalb einer vorgegebenen Maximalverzögerung in einen vordefinierten Zustand gebracht werden. Diese Funktion muss selbst beim gleichzeitigen (oder in kurzen Abständen voneinander) Auftreten einer beliebigen Anzahl von Ereignissen an be liebigen Orten in der AuDCU und unabhängig von ihrer Schwere (bis hin zum Totalausfall der Partitionen oder der Kommunikation zwischen denselben) gewährleistet sein. Daraus ergibt sich die Notwendigkeit, auf jeder Partition ein lokales Verfügbarkeitsmanagement zu installie ren, um zeitnah und unabhängig von der Verfügbarkeit anderer Partitionen bzw. der Kommu nikation mit denselben auf die Partitions-Iokalen Ereignisse zu reagieren. Auf der Sicherheits- Verarbeitungspartition SPP sind zudem aus Gründen der Projekt- und Softwarearchitektur, neben ASIL-D auch QM (Qualitätsmanagement) Verfügbarkeitsmanagement für nicht-Platt- form spezifische Anwendungen vorzusehen. Hierfür wurde auf der Sicherheits-Verarbeitungs partition SPP eine separate Verfügbarkeitsmanagement Instanz etabliert, um dann mittels ei ner Speicherverwaltungseinheit bzw. Memory Protection Unit MPU, welche z. B. zur Verwal tung des (Arbeits-) Speicherzugriffs vorgesehen ist, für die nötige Rückwirkungsfreiheit z. B. auf die ASIL-D Instanz zu sorgen. Alle Instanzen sind dabei als Ereignis-Subfunktionalitäts- Graphen ausgeführt.

Die verteilten Verfügbarkeitsmanagement-Instanzen können nicht unabhängig voneinander agieren, solange die ausführenden Prozessoren und die Kommunikation zwischen ihnen intakt sind. Dies erfolgt insbesondere, weil eine Verfügbarkeitsänderung in einer der Instanzen in der Regel Verfügbarkeitsänderungen in den anderen Instanzen nach sich zieht (Beispiel: wenn die elektrische Energieversorgung EPS der Performance-Verarbeitungspartition PPP über ei nen Abschaltpfad - als gepunkteter Pfeil in Fig. 6 dargestellt - die Versorgungspannung ent zieht, muss die Sicherheits-Verarbeitungspartition SPP umgehend die Überwachung der Per formance-Verarbeitungspartition PPP einstellen, um nicht eine Reihe von nicht vorhandenen Fehlern zu erkennen). Andererseits, die Instanz, die eine Verfügbarkeitsänderung vorgibt muss nicht zwingend die Möglichkeit haben, diese umzusetzen (Beispiel: die Sicherheits-Ver arbeitungspartition SPP gibt eine Abschaltung der Performance-Verarbeitungspartition PPP Versorgungsspannung vor, verfügt aber über keinen entsprechenden Hardwareanschluss, da her muss die elektrische Energieversorgung EPS die Umsetzung übernehmen). Dieser T rans- fer der Verfügbarkeitsinformation, in Fig. 6 mittels gestrichelter Pfeile dargestellt, wird mit Hilfe verteilter Subfunktionalitäten realisiert.

Ferner wird die Kommunikation zwischen den Verfügbarkeitsmanagement-Instanzen über wacht. Das Ereignis, dass„die Kommunikation abgebrochen ist“ führt in jeder plötzlich lokal gewordenen Instanz zu einer vordefinierten Reaktion. Über die Kommunikationswege zwi schen den Verfügbarkeitsmanagement-Instanzen kann schließlich auch der Datenaustausch zu und von der Ereignisanalyse bzw. vom Ereignisdiagnosediagnosemanager DEM realisiert werden. Die beschriebene Funktionalität wird dabei aus einem gemeinsamen Satz an Anfor derungen mittels Codegeneratoren sowohl als Konfiguration wie auch als Modultest automa tisch auf die drei Prozessoren verteilt.

Die erfindungsgemäße Lösung eignet sich ferner zur kostengünstigen Realisierung verteilter Verfügbarkeitsmanagements in vielen denkbaren Situationen, in denen Systemgrenzen zu überwinden sind. Die Überwindung der Grenzen zwischen Prozessoren bzw. Mikrocontrollern pC sowie unterschiedlichen Integritätslevel innerhalb eines Prozessors und weitere Situatio nen wird in besonderem Maße vereinfacht, wie exemplarisch in Fig. 7 gezeigt, z. B. Design, Grenzen zwischen verschiedenen Inhouse und/oder 3rd-Party-Funktionen, Grenzen zwischen asynchronen Tasks, Grenzen zwischen unterschiedlichen Integritätslevel, Grenzen zwischen unterschiedlichen Prozessorkernen C1 , C2, Grenzen zwischen unterschiedlichen Prozesso ren und Grenzen zwischen unterschiedlichen ECUs.

Ferner gewinnen die Grenzen zwischen unterschiedlichen ECUs angesichts der zunehmen den Komplexität der Fahrzeugsysteme zunehmend an Bedeutung. Systeme zum automati- sierten bzw. autonomen Fahren bestehen mittlerweile aus einer Vielzahl von Prozessoren, die auf sehr viele, miteinander vernetzte ECUs der Sensoren (Kameras, Radargeräte etc.), der Aktuatoren (Lenkung, Bremse, Parkbremse etc.) sowie den performanten Rechenplattformen verteilt sind, die zusammen sehr komplexe sicherheitskritische verteilte Systeme bilden. Die vorliegende Erfindung ist hierbei besonders geeignet, sowohl die Verfügbarkeit der einzelnen Komponenten wie auch die Verfügbarkeit deren Verbundes effektiv und kostengünstig zu ver walten. Hierzu können die Anforderungen, aus denen die Konfigurationen und die Testfälle der Modultests für das Verfügbarkeitsmanagement automatisch erzeugt werden, wahlweise ECU bezogen, zentral oder gemischt (teils ECU bezogen, teils zentral) verwaltet werden. Es können dabei beliebig viele Diagnosen sowie persistente Speicherblöcke - sogar innerhalb eines Kontexts - unterstützt werden.

BEZUGSZEICHENLISTE

PPP Performance-Verarbeitungspartition bzw. Performance Processing Partition

SPP Sicherheits-Verarbeitungspartition bzw. Safety Processing Partition

EPS elektrische Energieversorgung bzw. Electric Power Supply

EP Ethernet-Partition

E Ereignis

E1...9 Ereignis 1..9

FID Funktionsidentifikator bzw. Function Identifier

AvM Verfügbarkeitsmanager bzw. Availability Manager

ASIL Automotive Safety Integrity Level

DEM Ereignisdiagnosemanager bzw. Diagnostic Event Manager

NVRAM nichtflüchtige Datenspeicher bzw. Non-Volatile Random-Access Memory

QM Qualitätsmanagement bzw. Quality Management

AuDCU Automated Driving Control Unit

ECU Steuergerät bzw. Electronic Control Unit

pC Mikrocontroller

P1 Prozessor 1

P2 Prozessor 2

G1 Graph 1

G2 Graph 2

G3 Graph 3

A1 Abschaltpfad 1

A2 Abschaltpfad 2

C1 Prozessorkern 1

C2 Prozessorkern 2