-
Die Erfindung betrifft ein Verfahren zur Priorisierung von Signalen um ein Sicherheitskonzept gerecht zu unterstützen. Ferner wird ein Steuerprogramm beschrieben, das bei dessen Ausführung ein solches Verfahren durchführt. Außerdem wird ein Steuersystem, insbesondere ein Kraftfahrzeug-Steuersystem, zur Priorisierung und Verarbeitung von Signalen beschrieben.
-
In modernen Fahrzeugen werden immer mehr Steuergeräte integriert und immer mehr Funktionalitäten implementiert. Durch deren steigende Vernetzung und Komplexität wird die Realisierung der funktionalen Sicherheit ebenfalls stets komplexer.
-
Zusätzlich werden durch die Entwicklungstendenz hin zum autonom fahrenden Fahrzeug die Anforderungen an die funktionale Sicherheit drastisch erhöht. Wo bisher oft der Fahrer in sicherheitsrelevanten Situationen die letzte Entscheidung zu treffen hatte, verlagert sich diese Entscheidung durch den Einsatz zahlreicher Fahrerassistenzsysteme immer mehr hin zum Fahrzeug, beziehungsweise der Fahrzeugsteuerung selbst.
-
Ein weiterer wichtiger Aspekt ist, dass bei der Umsetzung der funktionalen Sicherheit bisher der Fokus fast ausschließlich darauf liegt, beim Erkennen eines Fehlerfalls des Systems das System inaktiv zu schalten („fail-safe“). Jedoch bei Systemen für autonom fahrende Fahrzeuge ist es verstärkt notwendig eine deutlich komplexere Fehlerreaktion umzusetzen, um den risikoärmsten Zustand des Fahrzeugs zu erreichen („fail-operational“). So kann es beispielsweise notwendig sein, statt das Fahrzeug im Fehlerfall schnellstmöglich abzustellen, das Fahrzeug eventuell zuerst nochmals zu beschleunigen, um z.B. beim Überqueren eines Bahnübergangs das Fahrzeug noch von den Schienen weg zu bewegen.
-
Dabei werden auch zahlreiche Signalanforderungen z.B. Führungs- oder Stellgrößen übermittelt und können mit unterschiedlicher Priorität vorliegen. Die Reaktion der Regler des Systems kann abhängig von der Priorität der Anforderung unterschiedlich ausfallen.
-
Die nachfolgende Betrachtung ist auf die Systementwicklung von komplexen technischen Systemen, insbesondere auf Steuerungssysteme von Fahrzeugen bezogen, lässt sich jedoch allgemein auf die Entwicklung von (eingebetteten) Systemen übertragen.
-
Im Rahmen der Entwicklung von Steuerungen für Fahrzeuge ist ein wichtiger Aspekt die Umsetzung der funktionalen Sicherheit. Die funktionale Sicherheit dient dazu, die Sicherheit von technischen Systemen zu erhöhen, um das Risiko beim Einsatz der Systeme zu reduzieren. Für Fahrzeuge, die auf der Straße betrieben werden, ist die funktionale Sicherheit nach ISO 26262 geregelt.
-
Die systematische Festlegung der Prioritäten für Steuer- und Regelsignale für Systemelemente zusammen mit der Systemarchitektur-Entwicklung und dem Requirements Engineering führt zu der Priorisierung der Signale sowohl deutlich präziser und konsistenter als auch mit weniger Aufwand. Ein weiterer neuer und erfinderischer Schritt ist die dynamische Anpassung der Priorisierung während des Systembetriebs, wodurch die Systemreaktionen dynamisch bestmöglich angepasst werden können.
-
Die Implementierung der Priorisierung von Signalen erfolgt in der Software oft über Kennfelder unter Berücksichtigung mehrerer Systemeinflüsse. Diese Implementierung erfolgt oft parallel bzw. unabhängig zum Requirements Engineering und der Entwicklung der Systemarchitektur und ist mit viel zusätzlicher Arbeit verbunden. Außerdem birgt diese Vorgehensweise eine hohe Gefahr von Inkonsistenzen zwischen Anforderungen, Systemarchitektur und der Implementierung der Priorisierung der Signalanforderungen, Steuer- und Regelgrößen.
-
Auch können Systeme so oft nicht gekapselt betrachtet werden. Die Priorisierung wird oft statisch festgelegt und die dynamische Anpassung von Prioritäten abhängig von verschiedenen Systemzuständen ist nicht bzw. nur schwer möglich. Durch die immer höhere Automatisierung des Fahrens bis hin zum autonomen Fahren ergeben sich deutlich höhere Anforderungen an die Priorisierung und die dynamische Priorisierung von Signalanforderungen wie Steuer- und Regelgrößen, die bisher in diesen Systemen nicht berücksichtigt werden mussten.
-
Wird das Requirements Engineering für ein System zusammen mit der Architekturentwicklung für das System so durchgeführt, dass die Wirkflüsse durch das System, beziehungsweise die physikalischen Zusammenhänge, direkt für die Ermittlung der Signalprioritäten verwendet werden können, so können die neuen Anforderungen an diese Priorisierung schneller und einfacher berücksichtigt und im System realisiert werden. Der Wirkfluss beschreibt den Fluss in dem eine Wirkung übertragen wird, oder im Prinzip der Faden, der beschreibt von wo nach wo sich etwas auswirkt. Die Wirkung kann z.B. mechanisch, elektrisch, oder thermisch sein. Eine mechanische Wirkkette oder Wirkfluss im Fahrzeug wäre über Rad, Welle, Nabe, Differential, Welle, Getriebe. Immer dort, wo eine Wirkung von einem Element auf ein anderes übertragen wird über die entsprechenden Schnittstellen. Innerhalb eines Elements wird die Wirkkette über die Übertragungsfunktion des Elements beschrieben.
-
Werden die Architektur-Entwicklung und das Requirements Engineering in einem geeigneten Programm durchgeführt und die Priorisierung der Anforderungen maschinenlesbar eingetragen, so können die priorisierten Signale hier bereits simuliert und verifiziert werden. Die Implementierung dieser Prioritäten in den entsprechenden Software-Funktionen ermöglicht dann eine dynamische und flexible Anpassung in gekapselten Systemelementen und so die Realisierung der priorisierten Anforderungen in komplexen Systemen, insbesondere wenn es um embedded Systeme geht.
-
Abhängig von der Kontrollierbarkeit und der Auswirkung eines Fehlers werden in ISO 26262 „Automotive Safety Integrity Level“ (ASIL) bestimmte Ebenen oder „Levels“ definiert, über die die Anforderungen an die Integrität von bestimmten Signalen festgelegt werden.
-
Diese Integritätslevels (ASIL) müssen von allen betroffenen Systemelementen erfüllt werden. Das geforderte Integritätslevel für ein Systemelement oder ein Signal innerhalb des betrachteten Systems hängt dabei davon ab, wie das Systemelement im Gesamtsystem eingeordnet ist und zur Funktion des Gesamtsystems beiträgt.
-
Durch die systematische Festlegung und dynamische Anpassbarkeit der Prioritäten für Steuer- und Regelsignale für Systemelemente während des Betriebs des Systems zusammen mit der Systemarchitektur-Entwicklung und dem Requirements Engineering ergibt sich ein Vorteil, da die Priorisierung der Signale sowohl deutlich präziser und konsistenter als auch mit weniger Aufwand ermittelt werden können. Weiterhin vorteilhaft ist die Möglichkeit der dynamischen Anpassung der Priorisierung während des Systembetriebs, wodurch die Systemreaktionen dynamisch bestmöglich angepasst werden können. Durch eine so optimierte Bestimmung ergeben sich deutliche Vorteile bezüglich der funktionalen Sicherheit sowie der Effizienz- und Kostenoptimierung des Systems.
-
Durch eine entsprechende Implementierung in Software-Funktionen kann auch eine Qualitätssteigerung sowie die Realisierung von fail-operational Funktionalitäten anvisiert werden. Ein weiterer Vorteil ist die Nachvollziehbarkeit der getroffenen Entscheidungen. So wird zum einen sichtbar, aus welchem Grund eine gewählte Priorisierung erfolgt und zum anderen können bei Systemänderungen die Prioritäten und die Auswirkungen auf Systemelemente und Signale unmittelbar angepasst werden.
-
Es zeigen:
- 1 die Vorbereitung auf eine dynamische Priorisierung;
- 2 eine Wechselwirkung zwischen zwei Zustände mit zwei unterschiedlichen Prioritäten; und
- 3 ein Überblick des ASIL-Konzepts.
-
Die an das System gestellten Anforderungen (Requirements) werden während des Entwicklungsprozesses, z.B. hierarchisch oder entlang des Wirkflusses, heruntergebrochen und detailliert. So können an den für das jeweilige System charakteristischen Übertragungsfunktionen des Wirkflusses heruntergebrochen und detailliert werden. Eine Art von Anforderungen ergibt sich dabei aus der ASIL-Einstufung des zu entwickelnden Systems. Diese geforderte Signalintegrität verändert sich innerhalb des Systems mit dem Detaillieren beziehungsweise Dekomponieren der Anforderungen und des Systems für die einzelnen Systemelemente und Signale. Die einzelnen Integritätsanforderungen an die Signale sind nicht voneinander unabhängig, sondern beeinflussen sich durch die physikalischen Zusammenhänge im System gegenseitig entlang der Kette der Systemwirkungen (Wirkkette des Wirkflusses).
-
Eine systematische Festlegung der Prioritäten für Steuer- und Regelsignale während des Betriebs des Systems zusammen mit der Systemarchitektur-Entwicklung und dem Requirements Engineering bringt ersichtliche Vorteile, und ermöglicht unter Anderem das Abspeichern von Prioritäten in ein maschinenlesbares Format. Hiermit wird wiederum eine dynamische Anpassung der Priorisierung während des Systembetriebs möglich.
-
Jeder Anpassung der Priorität eines Signales muss Sicherheitsbedingungen unter allen Umständen gewähren. Demnach sind maschinenlesbare Prioritäten stets unter Berücksichtigung von ASIL-Kriterien zu erzeugen.
-
Zusätzlich können Kriterien bestimmt werden, wodurch die Systemreaktionen dynamisch bestmöglich angepasst werden können. Durch eine so optimierte Bestimmung können sowohl der funktionalen Sicherheit als auch einer Effizienz- und Kostenoptimierung des Systems erreicht werden. Auch sind eine deutliche Qualitätssteigerung sowie die Realisierung von fail-operational Funktionalitäten machbar.
-
In einer Ausführung der Erfindung ist die Nachvollziehbarkeit der getroffenen Entscheidungen bei der Priorisierung durch festgelegte Regeln zur Auswahl der Priorisierung gewährt. Die Randbedingungen für eine dynamische Prioritätsänderung können bei dem Vorbereitungsprozess 100 maschinenlesbar festgelegt werden.
-
In Schritt 110 wird der Wirkfluss für das betroffene System bzw. für ein Fahrzeug festgelegt. Die passenden Signalprioritäten werden in Schritt 120 berechnet. Hier kann es gemäß einer Ausführung des Systems eine mehrfache Berechnung geben, mit Hilfe derer unterschiedliche Prioritäten anhand von unterschiedlichen Systemkonfigurationen bzw. Systemzustände festgelegt werden. Dann werden in Schritt 130 die gewonnenen Ergebnisse in ein maschinenlesbares Format abgespeichert.
-
Anhand des geschilderten Verfahrens wird zum einen sichtbar, aus welchem Grund eine gewählte Priorisierung erfolgt und zum anderen können bei Systemänderungen die Prioritäten und die Auswirkungen auf Systemelemente und Signale unmittelbar angepasst werden
-
Wird das Requirements Engineering für ein System zusammen mit der Architektur-Entwicklung für das System so durchgeführt, dass die Wirkflüsse durch das System, beziehungsweise die physikalischen Zusammenhänge, direkt für die Ermittlung der Signalintegrität (ASIL-Level) verwendet werden können, so wird es ermöglicht diese automatisiert zu ermitteln.
-
Die Implementierung von Signalintegritäten und entsprechende Priorisierung in den entsprechenden Software-Funktionen ermöglicht dann zum einen eine konsistente Realisierung der geforderten Integritäten sowie zum anderen eine dynamische und flexible Anpassung an den Systembetriebszustand in gekapselten Systemelementen. Die Implementierung könnte z.B. über die Übertragung der geforderten ASIL-Level erfolgen oder über die Übertragung des entsprechenden physikalischen Wertes (z.B. für ASIL B; Ausfallwahrscheinlichkeit kleiner 10-7 / Stunde; bzw. 100 Fit). Die Übertragung des physikalischen Wertes ermöglicht dabei eine deutlich präzisere Übermittlung als durch die ASIL-Stufen allein ermöglicht wird.
Beispielsweise konnte durch die dynamische Anpassung der Signalintegritäten bei einem Fahrzeug während es steht die Anforderung an die Integrität des Signales des Bremslichtschalters geringer sein, als während der Fahrt.
-
In herkömmlichen Lösungen bei der Umsetzung der funktionalen Sicherheit in Fahrzeugen, bzw. in Motor- und Antriebsstrangsteuerungen wurden sicherheitsrelevante Funktionen beispielsweise redundant in parallelen Ebenen abgebildet. Bei systematischen oder zufälligen Fehlern, die von der Überwachungsebene erkannt werden, wird eine entsprechende Fehlerreaktion ausgelöst. Als Beispiel könnte der sichere Zustand eines Systems aktiviert werden. So wird beispielsweise zum Schutz vor ungewollter Beschleunigung die Drosselklappe in eine Notlaufposition gebracht oder die Einspritzung deaktiviert, wenn ein Fehler bei der Erfassung der Gaspedalposition erkannt wird.
-
Im Rahmen der funktionalen Sicherheit können die Funktionalitäten, die zur Überwachung des Systems eingesetzt werden, abhängig von der Betriebssituation aktiviert oder deaktiviert werden, um unbegründete Fehlerreaktionen zu vermeiden. So kann z.B. während des Ausparkvorgangs bei schnellen Vorwärts-/Rückwärtsbewegungswechseln die Plausibilitätskontrolle des Fahrerwunschmomentes deaktiviert werden, um ein fehlerhaftes Auslösen einer Fehlerreaktion zu vermeiden.
-
Für zukünftige funktionale Sicherheitskonzepte, insbesondere für immer höher automatisierte Systeme, kann es nötig sein, die Fehler nicht nur zu erkennen, sondern auch qualitative Aussagen über den Fehlerfall zu treffen, sowie quantitative Aussagen über die Auswirkungen des Fehlers machen zu können und die Fehlerreaktion des Fahrzeugs an den entsprechenden Fehler anzupassen.
-
In einer Ausführung des erfinderischen Systems wird das Requirements Engineering für ein System zusammen mit der Architekturentwicklung für das System durchgeführt. So können die Wirkflüsse durch das System, beziehungsweise die physikalischen Zusammenhänge, direkt für die Ermittlung der Signalprioritäten (Wichtigkeiten und Dringlichkeiten) verwendet werden. So können auch die neuen Anforderungen an diese Priorisierung berücksichtigt und im System realisiert werden. Steht beispielsweise im Rahmen des Requirements Engineering die Übertragungsfunktion eines Systems aus der Systemarchitektur zur Verfügung, so kann z.B. für die entsprechende Regelfunktion eine Priorisierung der einzelnen Stell- und Regelgrößen erfolgen.
-
Werden die Architektur-Entwicklung und das Requirements Engineering in einem geeigneten Programm durchgeführt und die Priorisierung der Anforderungen maschinenlesbar eingetragen, so können die priorisierten Signale hier bereits simuliert und verifiziert werden. Die Implementierung dieser Prioritäten in den entsprechenden Software-Funktionen ermöglicht dann eine dynamische und flexible Anpassung in gekapselten Systemelementen und so die Realisierung der priorisierten Anforderungen in komplexen embedded Systemen wie ein Fahrzeug.
-
In 2 wird der Wechsel zwischen unterschiedlichen Betriebszuständen mit unterschiedlichen Prioritäten, evtl. auch für sicherheitsrelevante Signale dargestellt. Hiermit kann eine dynamische Priorisierung verwirklicht werden. Zum Beispiel beim Betriebsstart von einem Fahrzeug werden bestimmte Signale anhand einer Ausgangspriorisierung priorisiert, und anhand eines Sonderzustandes (z.B. Rückwärtsfahrt) wird eine Sonderpriorisierung angewendet. Die Zahl der verschiedenen Prioritäts-Konfigurationen ist keinesfalls auf zwei beschränkt, sondern kann eine beliebige Zahl sein.
-
In einer Ausführung der Erfindung könnte sich bei einem autonom fahrenden Fahrzeug, bei dem in die Verteilungsfunktion der Leistungen mehrere Anforderer zu berücksichtigen sind, anhand der dynamischen Priorisierung die Leistungsanforderungen optimal verteilen lassen.
-
In einer weiteren Ausführung der Erfindung könnte während des Stands des Fahrzeuges bei heißen Umgebungsbedingungen die Leistungsanforderung der Klimaanlage mit höherer Priorität erfolgen, als die Leistungsanfrage des Antriebsstrangs. Während der Fahrt und insbesondere während kritischer Fahrsituationen wäre die Priorität der Leistungsanforderung des Antriebs deutlich höher, als die der Klimatisierung.
-
Mit einer dynamischen Priorisierung von Anforderungen kann so die beste Leistungsverteilung für das System angepasst an den Betriebszustand erfolgen. Durch die Priorisierung können so alle Betriebszustände bestmöglich realisiert werden. In einer Ausführung der Erfindung kann anonymisiert priorisiert werden, um vor allem auch ungeplante oder unvorhersehbare Zustände einzubeziehen.
-
Die Auswahl des relevanten ASIL-Levels für einzelne Systemelemente in Fahrzeugen, bzw. in Motor- und Antriebsstrangsteuerungen erfolgt über eine Gefährdungs- und Risikoanalyse. Im Bereich der Funktionsentwicklung für Antriebs- und Motorsteuergeräte wirken sich die gewählten ASIL-Level für Signale beispielsweise so aus, dass Signale für Funktionen mit höheren ASIL-Level mit einer höheren Integrität (Ausfallsicherheit, Zuverlässigkeit) zur Verfügung gestellt werden. Diese Arbeit erfolgt oft parallel bzw. unabhängig zum Requirements Engineering und der Entwicklung der Systemarchitektur und ist mit viel zusätzlicher Arbeit verbunden. Außerdem birgt diese Vorgehensweise eine hohe Gefahr von Inkonsistenzen zwischen Anforderungen, Systemarchitektur und ASIL-Einstufung.
-
Anforderungen bezüglich Signalintegrität werden während des Entwicklungsprozesses auf System-Ebene bearbeitet, da die Systemfunktionalität, im Wesentlichen, die durch Fehlverhalten verursachten, potenzielle Schäden (Severity) feststellt. Die Auswirkung eines Schadens, ob das System hierarchisch strukturiert ist oder entlang eines Wirkflusses, wird heruntergebrochen und detailliert. Die ASIL-Einstufung des zu entwickelnden Systems kann als Richtwert oder Ziel dienen, wobei die Erfüllung des Ziel-Levels Zwang ist. Die Integritätsanforderungen können anhand den für das jeweilige System charakteristischen Übertragungsfunktionen weitergereicht werden.
-
Die Wirkflüsse durch das System direkt können für die Integritätsbestimmung in Anbetracht der gewünschten Priorität verwendet werden, sobald die Wirkflüsse durch physikalische Zusammenhänge bestimmt werden.
In einer Ausführung der Erfindung werden die Prioritäten während des Systembetriebs angepasst. Die Abhängigkeit der Signalintegrität bzw. des ASIL-Levels muss im Rahmen des Requirements Engineering 100 berücksichtigt werden, um die Anforderungen an den entsprechenden Stellen richtig zu ermitteln. Basierend auf den während des Requirements Engineering und der System Architektur Entwicklung festgelegten Anforderungen an die Signalintegrität können diese in der Implementierung (SW, HW,...) umgesetzt werden.
-
In der Software besteht dadurch auch die Möglichkeit die geforderten Signalintegritäten zu übertragen und dadurch dynamisch an die Systemkonfiguration oder die Betriebszustände anzupassen. Steht beispielsweise im Rahmen des Requirements Engineering die Übertragungsfunktion eines Systems aus einer Systemarchitektur zur Verfügung, so kann z. B. für das Subsystem „Spurhalteassistent“ anhand der Anordnung im System und im Wirkfluss automatisch das entsprechende ASIL-Level ermittelt werden, ebenso wie sich für das Subsystem „Bremslicht“ automatisch aufgrund der Einordnung und des Wirkflusses ein unterschiedliches ASIL-Level im Vergleich zum „Spurhalteassistenten“ ergibt.
-
In 3 wird das ASIL Konzept 300 skizziert. Die Auswirkung eines Fehlers, „Severity“, wird vertikal angegeben 311, und die Steuerungsmöglichkeiten, oder „Controllability“, auf die horizontale Axe. Somit ergibt sich eine Gesamt-Integritätsanforderung, z.B. ASIL-C, sowohl für „High probability“, „Normally controllable“ als auch „Medium probability“, „Difficult to control“.
-
Die geforderte Signalintegrität im Anbetracht der jeweiligen Signalpriorität verändert sich innerhalb des Systems mit dem Detaillieren beziehungsweise Dekomponieren der Anforderungen des Systems für die einzelnen Systemelemente und Signale. Die einzelnen Prioritäten der Signale sind nicht voneinander unabhängig, sondern beeinflussen sich durch die physikalischen Zusammenhänge im System gegenseitig entlang der Kette der Systemwirkungen (Wirkkette des Wirkflusses).
-
Als Reaktion auf eine Überprüfung der Signalintegrität und die Integritätsanforderung unter Berücksichtigung der entsprechenden Prioritäten kann eine Entscheidung über die Quelle für ein Steuersignal getroffen oder festgelegt werden.
-
Die Signalübertragung kann beispielsweise mittels eines Steuer-Busses, wie eines CAN-Busses oder sonstigen Feldbusses, oder mittels eines oder mehrerer Netzwerke erfolgen. Beispielsweise ist die Signalerzeugungs-Komponente in einem ersten Steuergerät des Steuersystems eingerichtet, während die eine oder die mehreren Signalverarbeitungs-Komponenten in einem zweiten Steuergerät eingerichtet sind. Dazwischen erfolgt die Signalübertragung über einen oder mehrere der genannten Übertragungswege.
-
In diversen Implementierungen des Verfahrens werden mehrere Steuersignale von der Signalerzeugungs-Komponente oder von mehreren Signalerzeugungs-Komponenten erzeugt. Dabei können jeweils eine Integritätsanforderung/en zu einem Signal oder Steuersignal unter Berücksichtigung dessen Priorität korrespondieren, oder eine Integritätsanforderung kann zu mehreren Signalen oder Steuersignalen unter Berücksichtigung deren jeweiligen Prioritäten korrespondieren.