-
Die vorliegende Erfindung betrifft im Allgemeinen Rechensysteme/Rechnersysteme in einem Fahrzeug. Im Speziellen betrifft die vorliegende Erfindung ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem sowie ein zugehöriges Verfahren, wobei das Rechnersystem in einem Fahrzeug angeordnet sein/werden kann.
-
Heutige Kraftfahrzeuge sind mit mehreren Prozessoren ausgestattet. Genauer gesagt weisen heutige Kraftfahrzeuge für gewöhnlich eine oder mehrere sogenannte ECUs (electronic control units) auf. Eine solche ECU weist einen oder mehrere Prozessoren sowie weitere Elektronik auf, um spezifische Aufgaben erfüllen zu können. Diese Prozessoren führen verschiedene Aufgaben aus, die notwendig sind, um Funktionen des Bordnetzes, des Fahrgestells, des Fahrwerks, der Karosserie, der Komfortsysteme, der Assistenzsysteme und/oder der Unterhaltungssysteme von Fahrzeugen zu unterstützen oder zu betreiben. Diese Systeme müssen bei einem sehr hohen Maß an Robustheit und Fehlertoleranz betreibbar sein. Insbesondere im Hinblick auf zukünftiges autonomes Fahren müssen diese Systeme ausfallsicher sein. Dementsprechend bedingt autonomes Fahren das Vorsehen von Redundanz/Redundanzen im Fahrzeug, die in heutigen Lösungen über zusätzliche Hardwarekomponenten bereitgestellt wird/werden. Dies erhöht die Komplexität und das Gewicht der heutigen Strukturen.
-
Die
DE 10 2013 205 285 A1 bezieht sich auf ein Verfahren zum Rekonfigurieren einer Aufgabe, die anfangs einer ersten elektronischen Steuereinheit (ECU) eines Fahrzeugs zugewiesen worden ist. Das Verfahren umfasst, bei einer Bordeinheit in Kommunikation mit der ECU: Detektieren einer Störung der Aufgabe; Erzeugen einer ersten Rekonfigurationsstrategie in Ansprechen auf das Detektieren der Störung, wobei die erste Rekonfigurationsstrategie eine Neuzuweisung der Aufgabe zu einer zweiten ECU des Fahrzeugs enthält; Ausführen der ersten Rekonfigurationsstrategie; Erheben von Funktionszustandsdaten, die wenigstens der ersten ECU zugeordnet sind; Senden der Funktionszustandsdaten an eine Ferneinheit; Empfangen einer zweiten Rekonfigurationsstrategie von der Ferneinheit, wobei die zweite Rekonfigurationsstrategie als eine Funktion der Funktionszustandsdaten, von Fehlermodellen und von Systemmodellen erzeugt wird; und Ausführen der zweiten Rekonfigurationsstrategie.
-
Die
DE 10 2017 116 193 A1 betrifft ein Fahrzeugsystem, umfassend: eine erste Fahrzeugkomponente, die mindestens teilweise eine Fahrzeugaktion steuert; eine zweite Fahrzeugkomponente, die mindestens teilweise die Fahrzeugaktion steuert; und eine Koordinationssteuerung, die dazu programmiert ist, eine Steuerung der Fahrzeugaktion zu koordinieren. Die Koordinationssteuerung ist dazu programmiert, einen Ausfall einer ersten Fahrzeugkomponente zu detektieren, einen Fahrzeugmodus auszuwählen und Belastungen der ersten Fahrzeugkomponente und der zweiten Fahrzeugkomponente gemäß dem ausgewählten Fahrzeugmodus zu verteilen.
-
Die
DE 10 2014 224 665 A1 bezieht sich auf ein Fahrerassistenzsteuergerät für ein Fahrzeug mit wenigstens einem Funktionsmodul zu Durchführung unterschiedlicher Sicherheitsfunktionen, mit einem Auswertemodul zum Auswerten von Sensordaten des Fahrzeugs, mit einem Entscheidungsmodul zur Bestimmung wenigstens einer durchzuführenden Sicherheitsfunktion in Abhängigkeit von der Auswertung der Sensordaten, und mit einem Ansteuermodul zum Ansteuern einer Aktorik des Fahrzeugs in Abhängigkeit von der bestimmten Sicherheitsfunktion. Mehrere Funktionsmodule zur Durchführung der unterschiedlichen Sicherheitsfunktionen sind vorgesehen. Jedes Funktionsmodul weist jeweils ein Auswertemodul, ein Entscheidungsmodul und ein Ansteuermodul auf. Ein Steuermodul ist vorgesehen, das in Abhängigkeit von den Sensordaten bestimmt, welches der Funktionsmodule betrieben wird.
-
Die
DE 10 2007 046 731 A1 betrifft ein System zur Ansteuerung eines Aktuators in einem Kraftfahrzeug. Eine mittels einer Ansteuerfunktion erzeugte Stellgröße für einen Aktuator wird durch eine Sicherheitsfunktion überprüft und der Aktuator wird in Abhängigkeit von der erzeugten Stellgröße angesteuert. Bei zumindest zwei Ansteuerfunktionen und zumindest zwei Sicherheitsfunktionen, die jeweils eine Stellgröße und eine Freigabe für den gleichen Aktuator erzeugen, ist eine Koordinatorinstanz vorgesehen, die zwischen den Ansteuerfunktionen und den Sicherheitsfunktionen auf der einen Seite und dem Aktuator auf der anderen Seite angeordnet ist und die Ausgabe und/oder Freigabe der von den Ansteuerfunktionen erzeugten Stellgrößen an den Aktuator koordiniert.
-
Wie genannt ist, für heutige und zukünftige Funktionen im Fahrzeug, insbesondere im Bereich des autonomen Fahrens, die Zuverlässigkeit der hierfür benötigten Rechensysteme von entscheidender Bedeutung. Das heißt, die verwendeten Systeme müssen fehlertolerant ausgelegt sein. Aktuell implementierte Architekturen sind im Hinblick darauf optimiert, bei einem Fehler eine zugehörige Komponente abzuschalten (dies wird oftmals als fail-safe bezeichnet). Ferner sind aktuelle Rechnerarchitekturen für Fahrzeuge im Wesentlichen statisch konfiguriert. Die Systemüberwachung der Rechnerarchitektur erkennt Fehler und startet beim Auftreten ein entsprechendes Fehlerprogramm. Beispielsweise sind bei dem heutzutage oftmals für Rechnersysteme in Fahrzeugen eingesetzten Betriebssystem „AUTomotive Open System ARchitecture“ (AUTOSAR) Zugriffe auf Bussysteme des Rechnersystems statisch definiert. Ferner erfolgt eine statische Zuweisung bestimmter Aufgaben in dem Rechnersystem. Darüber hinaus ist es absehbar, dass für zukünftig zu bewältigende Funktionen im Fahrzeug, wie z.B. autonome Funktionen im Allgemeinen und das autonome Fahren im Speziellen, deutlich leistungsfähigere Rechensysteme als heute in die Fahrzeuge integriert werden müssen. Die Komplexität dieser Systeme wird durch die aktuell verwendeten, statischen Ansätze kaum beherrschbar sein. Zudem sind derartige statische Konfigurationen unflexibel und insbesondere für zukünftige Anwendungen nicht in ausreichendem Maß anpassbar.
-
Es besteht daher ein Bedarf nach einem verbesserten, insbesondere flexiblen und/oder anpassbaren, Rechnersystem zur Ausführung von Funktionen in einem Fahrzeug sowie nach einem zugehörigen Verfahren.
-
Gemäß einem ersten Aspekt der Erfindung wird ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem vorgeschlagen. Das Rechnersystem ist in einem Fahrzeug anordenbar. Das Rechnersystem weist mehrere miteinander verbundene Rechnerkomponenten, mehrere Überwachungssensoren, mehrere Systeminformationskomponenten und mehrere Steuerkomponenten auf. Jeweils einer der Überwachungssensoren ist in einer der Rechnerkomponenten angeordnet und dazu ausgebildet, für das Rechnersystem relevante Informationen zu erfassen. Jeweils eine der Systeminformationskomponenten ist in einer der Rechnerkomponenten hinterlegt und weist Informationen über das Rechnersystem auf. Jeweils eine der Steuerkomponenten ist in einer der Rechnerkomponenten hinterlegt. Die mehreren Steuerkomponenten sind ausgebildet, miteinander zu kommunizieren. Ferner sind die mehreren Steuerkomponenten ausgebildet, mindestens eine Aufgabe des Rechnersystems unter Berücksichtigung folgender Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen: den Informationen über das Rechnersystem; den von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen; und für das Fahrzeug spezifischer Informationen.
-
Anders ausgedrückt sind die mehreren Steuerkomponenten ausgebildet, mindestens eine Aufgabe des Rechnersystem basierend auf (i) den Informationen über das Rechnersystem, (ii) den von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen sowie (iii) den für das Fahrzeug spezifischen Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen.
-
Im Gegensatz zu bekannten Rechnersystemen ist das Rechnersystem gemäß dem ersten Aspekt vorteilhaft, da keine statische Zuweisung von Aufgaben an Rechnerkomponenten erfolgt. Dagegen weist das Rechnersystem Steuerkomponenten auf, die ausgebildet sind, mindestens eine Aufgabe unter Berücksichtigung der Informationen über das Rechnersystem, der von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen sowie der für das Fahrzeug spezifischen Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen. Ändern sich die von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen und/oder die für das Fahrzeug spezifischen Informationen beispielsweise derart, dass eine Aufgabe der mindestens einen Aufgabe von einer oder mehreren anderen der mehreren Rechnerkomponenten durchgeführt werden sollte, so weist die Steuerkomponente die Aufgabe der einen oder den mehreren anderen der mehreren Rechnerkomponenten zu. Diese flexible Zuweisung, in Abhängigkeit der für das Fahrzeug spezifischen Informationen und/oder der von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen, stellt eine dynamische Zuweisung der durchzuführenden Aufgaben bereit. Werden die für das Fahrzeug spezifischen Informationen bei der Zuweisung der durchzuführenden Aufgabe berücksichtigt, so wird die Zuweisung unter anderem auch dadurch verbessert, dass nicht nur auf das Rechnersystem bezogene Informationen sondern zudem externe Informationen, genauer gesagt die für das Fahrzeug spezifischen Informationen, bei der Zuweisung berücksichtigt werden. Das Rechnersystem verteilt die auszuführenden Aufgaben dementsprechend flexibel und/oder dynamisch. Es wird daher eine dynamische Optimierung des Rechnersystems bereitgestellt. Ferner kann durch die beschriebene Zuweisung eine energieoptimierte Auslastung des Rechensystems ermöglicht werden. Auch kann das Rechnersystem vorausschauend / prädiktiv Aufgaben an eine oder mehrere der Rechnerkomponenten zuweisen oder verteilen.
-
Die Informationen über das Rechnersystem können Informationen über den Aufbau und/oder die Organisation des Rechnersystems aufweisen. Beispielsweise kann es sich bei Informationen über das Rechnersystem um Informationen über den Aufbau und/oder die Organisation des Rechnersystems handeln. Dementsprechend können die mehreren Steuerkomponenten ausgebildet sein, mindestens eine Aufgabe des Rechnersystem basierend auf den Informationen über das Rechnersystem sowie den von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen. Generell kann an Stelle des Begriffs „zuweisen“ auch einer der Begriffe „allokieren“, „zuordnen“ oder „allozieren“ verwendet werden.
-
Die Informationen über das Rechnersystem können Informationen über mindestens ein Basiselement zur Ausführung der mindestens einen Aufgabe des Rechnersystems aufweisen. Die Basiselemente können beispielsweise mit einer eindeutigen Identifizierung in den Systeminformationskomponenten gelistet sein. Als Beispiele für Basiselemente seien hier Controller (Steuerelemente), Filter, arithmetische Einheiten und logische Einheiten genannt.
-
Das Rechnersystem kann auch als Rechensystem bezeichnet werden. Das Rechnersystem kann sich in einem Fahrzeug befinden. Das Rechnersystem kann mit verschiedenen zu steuernden oder steuerbaren Komponenten des Fahrzeugs verbindbar oder verbunden sein. Beispielsweise können die mehreren Rechnerkomponenten in dem Fahrzeug angeordnet sein. Die einen oder mehreren Rechnerkomponenten können jeweils einen oder mehrere Prozessoren, wie z.B. eine oder mehrere ECUs, aufweisen.
-
Bei den für das Rechnersystem relevanten Informationen handelt es sich um Informationen, die für das Rechnersystem relevant sind. Beispielsweise kann es sich um Informationen über einen oder mehrere Betriebsparameter des Rechnersystems und/oder über einen oder mehrere Betriebsparameter einer oder mehrerer der Rechnerkomponente handeln, wie z.B. Informationen über einen Energieverbrauch, eine Buslast, eine Auslastung, einen Speicherverbrauch, eine Temperatur und/oder eine Speicherlast des Rechnersystems oder einer oder mehrerer der Rechnerkomponenten.
-
Die Rechnerkomponenten können über ein Bus-System miteinander verbunden sein. Die Rechnerkomponenten können über proprietäre Schnittstellen und Bus-Systeme miteinander kommunizieren. Das Rechnersystem kann mit proprietären Betriebssystemen kompatibel sein und durch derartige Betriebssysteme betrieben werden. Zusätzlich oder alternativ kann das Rechnersystem mit spezifizierten Betriebssystemen kompatibel sein und durch derartige Betriebssysteme betrieben werden, wie z.B. AUTOSAR.
-
Die mehreren Steuerkomponenten können ausgebildet sein, die mindestens eine Aufgabe des Rechnersystem ausschließlich unter Berücksichtigung (i) der Informationen über das Rechnersystem, z.B. der Informationen über den Aufbau und/oder die Organisation des Rechnersystems, (ii) der von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen sowie (iii) der für das Fahrzeug spezifischen Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen. In diesem Fall werden keine weiteren Informationen für die dynamische Zuweisung der mindestens einen Aufgabe an die eine oder mehreren Rechnerkomponenten berücksichtigt.
-
Die mehreren Steuerkomponenten können ausgebildet sein, eine Vielzahl von Aufgaben des Rechnersystem unter Berücksichtigung der Informationen über das Rechnersystem, beispielsweise über den Aufbau und/oder die Organisation des Rechnersystems, der von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen und der für das Fahrzeug spezifischen Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen.
-
Die Vielzahl von Aufgaben des Rechnersystems kann eine oder mehrere durch das Rechnersystem ausführbare Funktionen beschreiben. Anders ausgedrückt kann eine von dem Rechnersystem durchzuführende Funktion durch eine oder mehrere Aufgaben gebildet sein/werden. Die einen oder mehreren Funktionen können eine oder mehrere in einem Kraftfahrzeug ausführbare Funktionen aufweisen oder darstellen. Als Beispiele für Funktionen seien an dieser Stelle Steuerfunktionen, geschlossene Steuerschleifen, Datenverarbeitung und Filterung genannt. Die Funktionen können durch Basiselemente realisiert werden, die den entsprechenden Aufgaben zugeordnet sind. Die Funktionen können mit Hilfe von Aktuatoren (auch als Aktoren bezeichnet) des Fahrzeugs umgesetzt werden.
-
Das Rechnersystem kann mit einem oder mehreren Fahrzeugsensoren (Sensoren des Fahrzeugs) verbindbar sein. Zusätzlich oder alternativ kann das Rechnersystem einen oder mehrere Fahrzeugsensoren aufweisen. Die einen oder mehreren Fahrzeugsensoren können jeweils ausgebildet sein, die für das Fahrzeug spezifischen Informationen (auch als fahrzeugspezifische Informationen bezeichnet) zu erfassen. Die für das Fahrzeug spezifischen Informationen können auch als Informationen über das Fahrzeug bezeichnet werden. Bei den für das Fahrzeug spezifischen Informationen kann es sich um verschiedene erfassbare Parameter eines Fahrzeugs handeln, wie z.B. Parameter einer Antriebseinheit des Fahrzeugs, Parameter einer Bremseinheit eines Fahrzeugs, Parameter von Assistenzsystemen eines Fahrzeugs, Parameter eines Fahrwerks eines Fahrzeugs und andere Parameter eines Fahrzeugs. Als spezifische Beispiele für derartige für das Fahrzeug spezifische Informationen seien zudem beispielhaft Einträge in einem Fehlerspeicher einer oder mehrerer Prozessoren oder Komponenten des Fahrzeugs, Probleme auf dem Fahrzeugbus oder Bus-System des Fahrzeugs oder generell Hardware-Probleme des Fahrzeugs genannt. Als weiteres Beispiel für derartige für das Fahrzeug spezifische Informationen seien Antwortzeiten auf Untersystemen/Subsystemen des Fahrzeugs genannt. Beispielsweise können Latenzen/Latenzzeiten von Antwortzeiten erfasst und bei einer Neuverteilung von beispielsweise Software-Untersystemen/-Subsystemen berücksichtigt werden.
-
Das Rechnersystem kann mit einem oder mehreren Fahrzeugaktuatoren (Aktuatoren des Fahrzeugs) verbindbar sein. Zusätzlich oder alternativ kann das Rechnersystem einen oder mehrere Fahrzeugaktuatoren aufweisen. Die einen oder mehreren Fahrzeugaktuatoren können jeweils ausgebildet sein, eine Funktion des Fahrzeugs auszuführen. Bei der Funktion des Fahrzeugs kann es sich um verschiedene steuerbare und/oder ausführbare Funktionen eines Fahrzeugs handeln, wie z.B. Funktionen einer Antriebseinheit des Fahrzeugs, Funktionen einer Bremseinheit des Fahrzeugs, Funktionen von Assistenzsystemen des Fahrzeugs, Funktionen eines Fahrwerks des Fahrzeugs und andere Funktionen des Fahrzeugs.
-
Die Informationen über das Rechnersystem können Informationen enthalten, welche Aufgaben und/oder Funktionen des Fahrzeugs von welcher oder von welchen der mehreren Rechnerkomponenten gesteuert oder ausgeführt werden. Anders ausgedrückt können die Informationen über das Rechnersystem Informationen über eine Zuordnung von Aufgaben und/oder Funktionen zu den Rechnerkomponenten aufweisen und umgekehrt.
-
Die mehreren Steuerkomponenten können ausgebildet sein, die mindestens eine Aufgabe des Rechnersystems ferner unter Berücksichtigung der von den einen oder mehreren Fahrzeugsensoren gewonnen Informationen über das Fahrzeug an eine oder mehrere der Rechnerkomponenten zuzuweisen.
-
Anders ausgedrückt können die mehreren Steuerkomponenten ausgebildet sein, die mindestens eine Aufgabe des Rechnersystems basierend auf, beispielsweise ausschließlich basierend auf, folgenden Informationen an eine oder mehrere der Rechnerkomponenten zuzuweisen: den Informationen über das Rechnersystem, den von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen und den von den einen oder mehreren Fahrzeugsensoren erfassten/gewonnen Informationen über das Fahrzeug. Dadurch kann das Rechnersystem vorausschauend / prädiktiv Aufgaben an eine oder mehrere der Rechnerkomponenten zuweisen oder verteilen.
-
Als ein Beispiel für die von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen sei ein auftretender hardwareseitiger Fehler in einer der Rechnerkomponenten genannt. Da die mehreren Steuerkomponenten die Zuweisung der mindestens einen Aufgabe unter Berücksichtigung des auftretenden hardwareseitigen Fehlers vornehmen, kann die mindestens eine Aufgabe bereits vor dem Auftreten des Fehlers neu allokiert werden. Beispielsweise werden schon bevor der/die hardwareseitige(n) Fehler auftritt/auftreten entsprechende Aufgaben und/oder Funktionen auf anderen Prozessoren der Rechnerkomponenten allokiert.
-
Als ein Beispiel für die von den einen oder mehreren Fahrzeugsensoren gewonnen Informationen über das Fahrzeug sei ein auftretender hardwareseitiger Fehler in einer Komponente und/oder Funktion des Fahrzeugs genannt. Da die mehreren Steuerkomponenten die Zuweisung der mindestens einen Aufgabe unter Berücksichtigung des auftretenden hardwareseitigen Fehlers vornehmen, kann die mindestens eine Aufgabe bereits vor dem Auftreten des Fehlers neu allokiert werden. Beispielsweise werden schon bevor der/die hardwareseitige(n) Fehler auftritt/auftreten entsprechende Aufgaben und/oder Funktionen auf anderen Prozessoren allokiert. Beispielsweise werden schon bevor der/die hardwareseitige(n) Fehler auftritt/auftreten entsprechende Aufgaben und/oder Funktionen auf anderen Prozessoren der Rechnerkomponenten allokiert.
-
Zusätzlich oder alternativ zu einem hardwareseitigen können eine oder mehrere andere prädiktive Ursachen berücksichtigt werden, nämlich beispielsweise: Informationen über die Energie, die Temperatur und/oder die Kommunikationslast der Rechnerkomponenten und/der von Komponenten oder Funktionen des Fahrzeugs, und/der Verfügbarkeiten von Sensoren und/oder Aktuatoren. Durch die prädiktive Zuweisung der Aufgaben können Eingriffe bereits vor Eintritt eines Problems erfolgen.
-
Die Steuerkomponenten können ausgebildet sein, die für das Fahrzeug spezifischen Informationen von mindestens einem, z.B. allen, der einen oder mehreren Fahrzeugsensoren zu erhalten. Beispielsweise können die Steuerkomponenten ausgebildet sein, mindestens einen der einen oder mehreren Fahrzeugsensoren zur Erfassung der Informationen über das Fahrzeug auszuwählen. Für die Auswahl der einen oder mehreren Fahrzeugsensoren können die Steuerkomponenten folgende Informationen berücksichtigen: die Informationen über das Rechnersystem und/oder die von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen und/oder die für das Fahrzeug spezifischen Informationen, wie z.B. die von den einen oder mehreren Fahrzeugsensoren erfassten/gewonnen Informationen über das Fahrzeug und/oder Informationen über die einen oder mehreren Fahrzeugsensoren. Beispielsweise können je nach Auslastung und/oder Funktionsfähigkeit eines Fahrzeugsensors ein oder mehrere andere Fahrzeugsensoren mit entsprechender oder zumindest ähnlicher Funktionalität ausgewählt werden.
-
Die Steuerkomponenten können ausgebildet sein, mindestens einen der einen oder mehreren Fahrzeugaktuatoren zur Ausführung der mindestens eine Aufgabe oder einer die mindestens eine Aufgabe enthaltende Funktion auszuwählen. Für die Auswahl der einen oder mehreren Fahrzeugaktuatoren können die Steuerkomponenten folgende Informationen berücksichtigen: die Informationen über das Rechnersystem und/oder die von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen und/oder die für das Fahrzeug spezifischen Informationen, wie z.B. Informationen über die einen oder mehreren Fahrzeugaktuatoren. Beispielsweise können je nach Auslastung eines Fahrzeugaktuators ein oder mehrere andere Fahrzeugaktuatoren mit entsprechender oder zumindest ähnlicher Funktionalität ausgewählt werden.
-
Die Steuerkomponenten können ausgebildet sein, in vorgegebenen, anpassbaren oder regelmäßigen Zeitabständen oder fortlaufend, die mindestens eine Aufgabe des Rechnersystems an die eine oder mehrere der Rechnerkomponenten zuzuweisen. Die Steuerkomponenten können ausgebildet sein, in vorgegebenen, anpassbaren oder regelmäßigen Zeitabständen oder fortlaufend, den mindestens einen der einen oder mehreren Fahrzeugsensoren zur Erfassung der Informationen über das Fahrzeug auszuwählen. Die Steuerkomponenten können ausgebildet sind, in vorgegebenen, anpassbaren oderregelmäßigen Zeitabständen oder fortlaufend, den mindestens einen der einen oder mehreren Fahrzeugaktuatoren zur Ausführung der mindestens eine Aufgabe oder einer die mindestens eine Aufgabe enthaltende Funktion auszuwählen.
-
Die Systeminformationskomponenten können jeweils als eine Instanz einer künstlichen Desoxyribonukleinsäure (DNA, von Englisch Oeoxyribonucleic acid) des Rechnersystems ausgebildet sein. Zusätzlich oder alternativ können die mehreren Steuerkomponenten jeweils als eine Instanz eines künstlichen Hormonsystems des Rechnersystems ausgebildet sein. Die künstliche DNA kann den Aufbau, die Struktur und/oder die Organisation des Rechnersystems beschreiben oder enthalten. Die künstliche DNA ist in jeder Rechnerkomponente des Rechnersystems gespeichert. Die künstliche DNA kann Basiselemente mitsamt deren Identifizierung beschreiben sowie die von den jeweiligen Basiselementen ausführbare Aufgaben. Die Verteilung/Zuweisung der Aufgaben an die Rechnerkomponenten erfolgt über das künstliche Hormonsystem in Abhängigkeit verschiedener künstlicher Hormonwerte. Die Hormonwerte können nachgehahmt werden durch Kurznachrichten, die zwischen den Instanzen des künstlichen Hormonsystems ausgetauscht werden können. Die künstlichen Hormonwerte werden verwendet, um geeignete oder die geeignetste Rechnerkomponente für eine Aufgabe zu finden, beispielsweise unter Berücksichtigung von Fähigkeit, Last und Aufgabenvernetzung. Die künstlichen Hormonwerte können sich ergeben aus den von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen und/oder den für das Fahrzeug spezifischen Informationen, wie z.B. den von den Fahrzeugsensoren erfassten Informationen über das Fahrzeug. Das künstliche Hormonsystem kann ferner mittels der künstlichen Hormonwerte ausgefallene Rechnerkomponenten sowie Aufgaben auffinden.
-
Beispielsweise werden beim Start des Rechnersystems allen Basiselementen bestimmte Aufgaben zugewiesen abhängig von der verfügbaren Rechenleistung der Rechnerkomponenten. Diese Basiselemente werden dann mittels der künstlichen DNA verknüpft. Das System baut sich demnach von selbst in einer bestmöglichen und effizientesten Weise auf in Abhängigkeit der verfügbaren Prozessorressourcen. Im Falle eines Prozessorausfalls oder einer anderweitigen signifikanten Änderung der künstlichen Hormonwerte, werden die Basiselemente neu anderen Rechnerkomponenten zugewiesen und mit diesen Rechnerkomponenten verknüpft, falls genügend Rechenleistung vorhanden ist. Eine Funktion ist nicht an eine Rechnerkomponente gebunden sondern kann auf mehrere Rechnerkomponenten aufgeteilt werden. Die kleinste unteilbare Einheit ist die Aufgabe. Eine Aufgabe kann nicht auf mehrere Rechnerkomponenten verteilt werden. Im Fall eines Prozessorfehlers werden nur die Aufgaben und Basiselemente neu zugewiesen, die tatsächlich von dem Ausfall beeinflusst waren. Ferner können den Basiselementen verschiedene Bedeutungen oder Prioritäten zugewiesen werden, so dass die wichtigsten Aufgaben ausgeführt werden können, falls nicht ausreichend Rechenleistung zur Verfügung steht, um alle Aufgaben auszuführen. Hingegen können unwichtige Funktionen z.B. im Fehlerfall bewusst abgeschaltet werden. Die Anzahl der nötigen Prozessoren, z.B. ECUs, kann dadurch minimiert werden. Dies verringert den Hardwareaufwand, die Komplexität und das Gewicht des Systems und/oder führt zu einer Kostenoptimierung.
-
Gemäß einem zweiten Aspekt wird ein Verfahren zum Zuweisen von Aufgaben in einem Rechnersystem bereitgestellt. Das Rechnersystem ist in einem Fahrzeug anordenbar. Das Rechnersystem weist mehrere miteinander verbundene Rechnerkomponenten, mehrere Überwachungssensoren, mehrere Systeminformationskomponente und mehrere Steuerkomponenten auf. Jeweils einer der Überwachungssensoren ist in einer der Rechnerkomponenten angeordnet. Jeweils eine der Systeminformationskomponenten ist in einer der Rechnerkomponenten hinterlegt. Jeweils eine der Systeminformationskomponenten weist Informationen über das Rechnersystem auf. Jeweils eine der Steuerkomponenten ist in einer der Rechnerkomponenten hinterlegt. Die mehreren Steuerkomponenten sind ausgebildet, miteinander zu kommunizieren. Das Verfahren umfasst ein Erfassen für das Rechnersystem relevanter Informationen durch die mehreren Überwachungssensoren. Das Verfahren umfasst ferner ein Zuweisen, durch die mehreren Steuerkomponenten, mindestens einer Aufgabe des Rechnersystem an eine oder mehrere der Rechnerkomponenten unter Berücksichtigung der folgenden Informationen: den Informationen über das Rechnersystem; den von den mehreren Überwachungssensoren erfassten, für das Rechnersystem relevanten Informationen; für das Fahrzeug spezifischer Informationen.
-
Ein dritter Aspekt bezieht sich auf ein Computerprogramm mit Programmcodemitteln, das, wenn es in einen Computer oder einen Prozessor (beispielsweise einen Mikroprozessor, Mikrocontroller oder digitalen Signalprozessor (DSP)) geladen ist, oder auf einem Computer oder Prozessor (z.B. einem Mikroprozessor, Mikrocontroller oder DSP) läuft, den Computer oder Prozessor (z.B. Mikroprozessor, Mikrocontroller oder DSP) dazu veranlasst, einen oder mehrere Schritte oder alle Schritte des zuvor beschriebenen Verfahrens auszuführen. Zudem wird ein Programmspeichermedium oder Computerprogrammprodukt mit dem genannten Computerprogramm bereitgestellt.
-
Ferner kann beispielsweise das Computerprogramm gemäß dem dritten Aspekt in dem Rechnersystem gemäß dem ersten Aspekt gespeichert sein und das Rechnersystem dazu veranlassen, einen oder mehrere oder alle der zuvor beschriebenen Aspekte und/oder Schritte des Verfahrens gemäß dem zweiten Aspekt auszuführen.
-
Ein vierter Aspekt bezieht sich auf ein Fahrzeug, beispielsweise ein Kraftfahrzeug, mit dem hierin beschriebenen Rechnersystem.
-
Auch wenn einige der voranstehend beschriebenen Aspekte in Bezug auf das Rechnersystem beschrieben wurden, so können diese Aspekte auch in entsprechender Weise in dem Fahrzeug, dem Verfahren oder einem das Verfahren implementierenden Computerprogramm realisiert werden. Genauso können die voranstehend in Bezug auf die Verfahren beschriebenen Aspekte in dem Rechnersystem oder in dem das Verfahren implementierenden Computerprogramm realisiert werden.
-
Die vorliegende Offenbarung soll weiter anhand von Figuren erläutert werden. Diese Figuren zeigen schematisch:
- 1 ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem gemäß einem Ausführungsbeispiel;
- 2 ein Verfahren zum Zuweisen von Aufgaben in einem Rechnersystem gemäß einem Ausführungsbeispiel;
- 3a ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem gemäß einem Ausführungsbeispiel in einem Normalbetrieb;
- 3b ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem gemäß dem Ausführungsbeispiel aus 3a in einem Betrieb mit hoher Systemauslastung;
- 3c ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem gemäß dem Ausführungsbeispiel aus 3a in einem Betrieb mit ausgefallener Rechnerkomponente;
- 3d ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem gemäß einem Ausführungsbeispiel in einem Betrieb mit ausgefallener Rechnerkomponente; und
- 4 ein Rechnersystem zum Zuweisen von Aufgaben in dem Rechnersystem gemäß einem Ausführungsbeispiel in einem Normalbetrieb.
-
Im Folgenden werden, ohne hierauf beschränkt zu sein, spezifische Details dargelegt, um ein vollständiges Verständnis der vorliegenden Offenbarung zu liefern. Es ist einem Fachmann jedoch klar, dass die vorliegende Offenbarung in anderen Ausführungsbeispielen verwendet werden kann, die von den nachfolgend dargelegten Details abweichen können. Beispielsweise werden im Folgenden spezifische Konfigurationen und Ausgestaltungen eines Rechnersystems beschrieben, die nicht als einschränkend anzusehen sind.
-
Es ist dem Fachmann klar, dass die nachfolgend dargelegten Erklärungen unter Verwendung von Hardwareschaltungen, Softwaremitteln oder einer Kombination davon implementiert sein/werden können. Die Softwaremittel können im Zusammenhang stehen mit programmierten Mikroprozessoren oder einem allgemeinen Computer, einer ASIC (Application Specific Integrated Circuit; auf Deutsch: anwendungsspezifische integrierte Schaltung) und/oder DSPs (Digital Signal Processors; auf Deutsch: digitalen Signalprozessoren). Es ist zudem klar, dass auch dann, wenn die nachfolgenden Details in Bezug auf ein Verfahren beschrieben werden, diese Details auch in einer geeigneten Vorrichtungseinheit, einem Computerprozessor oder einem mit einem Prozessor verbundenen Speicher realisiert sein können, wobei der Speicher mit einem oder mehreren Programmen versehen ist, die das Verfahren durchführen, wenn sie durch den Prozessor ausgeführt werden.
-
Die Ausführungsbeispiele können realisiert sein in verschiedenen Fahrzeugen, z.B. in Kraftfahrzeugen wie Personenkraftwagen (PKW). Ferner kann es sich bei den in den Figuren gezeigten Komponenten und Einheiten um solche handeln, die in einem Fahrzeug, wie in einem PKW, angeordnet sind. Die nachfolgend beschriebenen Komponenten sind nicht auf eine Verwendung in einem PKW beschränkt, sondern können auch in anderen Fahrzeugen, insbesondere Kraftfahrzeugen, wie Lastkraftwagen, Kleinkrafträdern und/oder Omnibussen angeordnet sein / werden.
-
1 zeigt schematisch ein Rechnersystem 10 zum Zuweisen von Aufgaben in dem Rechnersystem 10. Das Rechnersystem 10 ist in einem Fahrzeug, z.B. einem PKW, anordenbar. Das Rechnersystem 10 weist mehrere miteinander verbundene Rechnerkomponenten 20, 30, 40, mehrere Überwachungssensoren 22, 32, 42, mehrere Systeminformationskomponenten 24, 34, 44 und mehrere Steuerkomponenten 26, 36, 46 auf. Jeweils einer der Überwachungssensoren 22, 32, 42 ist in einer der Rechnerkomponenten 20, 30, 40 angeordnet und dazu ausgebildet, für das Rechnersystem 10 relevante Informationen zu erfassen. Jeweils eine der Systeminformationskomponenten 24, 34, 44 ist in einer der Rechnerkomponenten 20, 30, 40 hinterlegt und weist Informationen über das Rechnersystem 10 auf. Jeweils eine der Steuerkomponenten 26, 36, 46 ist in einer der Rechnerkomponenten 20, 30, 40 hinterlegt. Die mehreren Steuerkomponenten 26, 36, 46 sind ausgebildet, miteinander beispielsweise über ein Bus-System zu kommunizieren. Die mehreren Steuerkomponenten 26, 36, 46 sind ausgebildet, mindestens eine Aufgabe des Rechnersystems 10 unter Berücksichtigung der Informationen über das Rechnersystem 10, der von den mehreren Überwachungssensoren 22, 32, 42 erfassten, für das Rechnersystem 10 relevanten Informationen sowie für das Fahrzeug spezifischer Informationen an eine oder mehrere der Rechnerkomponenten 20, 30, 40 zuzuweisen.
-
In dem Beispiel aus 1 sind die Systeminformationskomponenten 24, 34, 44 jeweils ausgebildet als eine Instanz einer künstlichen DNA 24, 34, 44 des Rechnersystems 10. Zusätzlich sind in dem Beispiel aus 1 die mehreren Steuerkomponenten 26, 36, 46 jeweils als eine Instanz eines künstlichen Hormonsystems 26, 36, 36 des Rechnersystems 10 ausgebildet. Die künstliche DNA 24, 34, 44 kann den Aufbau, die Struktur und/oder die Organisation des Rechnersystems 10 beschreiben oder enthalten. Die künstliche DNA 24, 34, 44 ist in jeder Rechnerkomponente 20, 30, 40 des Rechnersystems 10 gespeichert. Die künstliche DNA 24, 34, 44 kann Basiselemente mitsamt deren Identifizierung beschreiben sowie die von den jeweiligen Basiselementen ausführbare Aufgabe.
-
2 zeigt schematisch ein Verfahren zum Zuweisen von Aufgaben in einem Rechnersystem. Bei dem Rechnersystem kann es sich um das Rechnersystem 10 aus 1 handeln. Das Verfahren umfasst ein Erfassen für das Rechnersystem 10 relevanter Informationen durch die mehreren Überwachungssensoren 22, 32, 42 (Schritt S202). Das Verfahren umfasst ferner ein Zuweisen, durch die mehreren Steuerkomponenten 26, 36, 46, mindestens einer Aufgabe des Rechnersystem 10 unter Berücksichtigung der Informationen über das Rechnersystem 10, der von den mehreren Überwachungssensoren 22, 32, 42 erfassten, für das Rechnersystem 10 relevanten Informationen sowie der für das Fahrzeug spezifischen Informationen an eine oder mehrere der Rechnerkomponenten 20, 30, 40 (Schritt S204).
-
3a zeigt schematisch ein Rechnersystem 10 zum Zuweisen von Aufgaben in dem Rechnersystem 10 in einem Normalbetrieb. Das Rechnersystem 10 aus 3a kann auf dem Rechnersystem 10 aus 1 basieren. Die sich entsprechenden Komponenten werden daher mit übereinstimmenden Bezugszeichen versehen und bezeichnet. Zusätzlich weist jede der Rechnerkomponenten 22, 32, 42 eine Rechner-Plattform 28, 38, 48 auf, mit der verschiedene Aufgaben des Fahrzeugs gesteuert werden. In dem Fahrzeug sind das Rechnersystem 10 und folglich die Rechnerkomponenten 20, 30, 40 angeordnet.
-
Die Rechnerkomponenten 20, 30, 40 sind jeweils über geeignete Schnittstellen (in 3a mit I/O für Input/Output bezeichnet) mit Fahrzeugsensoren und/oder Fahrzeugaktuatoren verbunden, die gemeinsam mit den Bezugszeichen 50, 60, 70 bezeichnet sind. Jede der Komponenten 50, 60, 70 kann grundsätzlich als Fahrzeugsensor und/oder als Fahrzeugaktuator ausgebildet sein.
-
Ferner sind in 3a drei Aufgaben 80a, 80b, 80c gezeigt, die beispielhaft für eine Vielzahl von Aufgaben stehen, die von den Rechnerkomponenten 20, 30, 40 ausgeführt werden können. Die Vielzahl von Aufgaben des Rechnersystems 10 kann eine oder mehrere durch das Rechnersystem 10 ausführbare Funktionen beschreiben. Anders ausgedrückt kann eine von dem Rechnersystem 10 durchzuführende Funktion, durch eine oder mehrere Aufgaben, beispielsweise eine oder mehrere der drei Aufgaben 80a, 80b, 80c gebildet sein/werden. Die einen oder mehreren Funktionen können eine oder mehrere in einem Kraftfahrzeug ausführbare Funktionen aufweisen oder darstellen. Als Beispiele für Funktionen seien an dieser Stelle Steuerfunktionen, geschlossene Steuerschleifen, Datenverarbeitungsfunktionen und Filterfunktionen genannt. Die Funktionen können durch Basiselemente realisiert werden, die den entsprechenden Aufgaben zugeordnet sind. Eine Funktion ist nicht an eine Rechnerkomponente 20, 30, 40 gebunden sondern kann auf mehrere Rechnerkomponenten 20, 30, 40 aufgeteilt werden. Die kleinste unteilbare Einheit ist die Aufgabe. Eine Aufgabe kann nicht auf mehrere Rechnerkomponenten verteilt werden.
-
In dem Beispiel aus 3a sind die Systeminformationskomponenten 24, 34, 44 jeweils ausgebildet als eine Instanz einer künstlichen DNA des Rechnersystems 10. Dementsprechend werden die Systeminformationskomponenten im Folgenden als künstliche DNA 24, 34, 44 bezeichnet (die künstliche DNA wird im Folgenden teilweise nur kurz als „DNA 24, 34, 44“ bezeichnet). Zusätzlich sind in dem Beispiel aus 3a die mehreren Steuerkomponenten 26, 36, 46 jeweils als eine Instanz eines künstlichen Hormonsystems des Rechnersystems 10 ausgebildet. Dementsprechend werden die Steuerkomponenten im Folgenden als Instanz eines künstlichen Hormonsystems oder Hormonsystem-Instanz 26, 36, 46 bezeichnet (das künstliche Hormonsystem 26, 36, 46 wird teilweise im Folgenden nur kurz als „Hormonsystem 26, 36, 46“ bezeichnet). Die künstliche DNA 24, 34, 44 kann den Aufbau, die Struktur und/oder die Organisation des Rechnersystems 10 beschreiben oder enthalten. Die künstliche DNA 24, 34, 44 ist in jeder Rechnerkomponente 20, 30, 40 des Rechnersystems 10 gespeichert. Ferner ist die DNA 24, 34, 44 in jeder Rechnerkomponente 20, 30, 40 identisch. Die künstliche DNA 24, 34, 44 kann Basiselemente mitsamt deren Identifizierung beschreiben sowie die von den jeweiligen Basiselementen ausführbaren Aufgaben.
-
Die Verteilung/Zuweisung der Aufgaben 80a, 80b, 80c an die Rechnerkomponenten 20, 30, 40 erfolgt über das künstliche Hormonsystem 26, 36, 46 in Abhängigkeit verschiedener künstlicher Hormonwerte. Das künstliche Hormonsystem 26, 36, 36 ist systemweit ausgeprägt, d.h. es erstreckt sich sozusagen über alle Rechnerkomponenten 20, 30, 40. Die Hormonwerte können nachgehahmt werden durch Kurznachrichten, die zwischen den Instanzen des künstlichen Hormonsystems 26, 36, 46 ausgetauscht werden können. Die künstlichen Hormonwerte werden verwendet, um geeignete oder die geeignetste Rechnerkomponente 20, 30, 40 für eine Aufgabe zu finden beispielsweise unter Berücksichtigung von Fähigkeit, Last und Aufgabenvernetzung. Die künstlichen Hormonwerte können sich je nach Rechnerkomponente 20, 30, 40 unterscheiden, d.h. in den Rechnerkomponenten 20, 30, 40 unterschiedliche Werte annehmen. Das künstliche Hormonsystem 26, 36, 46 kann ferner mittels der künstlichen Hormonwerte ausgefallene Rechnerkomponenten 20, 30, 40 sowie Aufgaben auffinden.
-
3a zeigt einen Normalbetrieb des Rechnersystems 10, beispielsweise bei oder nach einem Start des Rechnersystems 10. In dem Normalbetrieb sind den Basiselementen bestimmte Aufgaben zugewiesen z.B. abhängig von der verfügbaren Rechenleistung der Rechnerkomponenten 20, 30, 40. Diese Basiselemente werden dann mittels der künstlichen DNA 24, 34, 44 verknüpft. Das Rechnersystem 10 baut sich demnach von selbst in einer bestmöglichen und effizientesten Weise auf, beispielsweise in Abhängigkeit der verfügbaren Prozessorressourcen.
-
Die Überwachungssensoren 22, 32, 42 überwachen und erfassen verschiedene Parameter des Rechnersystems 10. Rein beispielhaft seien an dieser Stelle eine Temperatur, eine Auslastung und/oder ein Speicherbrauch des Rechnersystems 10 genannt. Ferner erfassen die Fahrzeugsensoren 50, 60, 70 fahrzeugspezifische Informationen / Informationen über das Fahrzeug. Rein beispielhaft seien hier als derartige Informationen über das Fahrzeug Sensordaten genannt, die das Fahrzeug beim autonomen Fahren unterstützen, beispielsweise Daten über benachbarte Fahrzeuge, z.B. während eines Überholvorganges, oder Daten über einen Bremsvorgang oder Beschleunigungsvorgang des Fahrzeugs.
-
Unter Berücksichtigung der von den Überwachungssensoren 22, 32, 42 gewonnenen Informationen, z.B. der verfügbaren Ressourcen, und der von den Fahrzeugsensoren 50, 60, 70 gewonnenen Informationen werden, in dem Beispiel aus 3a, die Aufgaben 80a, 80c der Rechnerkomponente 20 zugewiesen und die Aufgabe 80b der Rechnerkomponente 30 zugewiesen. Zur Ausführung der Aufgaben 80a, 80b, 80c und durch die Aufgaben 80a, 80b, 80c gebildeter Funktionen kann sich jede der Rechnerkomponenten 20, 30, 40 entsprechender ECUs des Fahrzeugs bedienen. Die entsprechenden ECUs können dann die jeweiligen Aufgaben und Funktionen ausführen.
-
Das Rechnersystem 10 gelangt nun von dem Normalbetrieb aus 3a in einen von dem Normalbetrieb abweichenden Zustand. In dem beispielhaften Zustand aus 3b erfasst der Überwachungssensor 22 eine Temperaturüberlast der Rechnerkomponente 20. Die Temperaturüberlast kann beispielsweise festgestellt werden, indem erfasste Temperaturwerte mit einem vorbestimmten Temperaturgrenzwert verglichen werden und bei Überschreiten des Temperaturgrenzwerts eine Temperaturüberlast festgestellt wird.
-
Die Hormonsystem-Instanzen 26, 36, 46 ermitteln in regelmäßigen Zeitabständen oder fortlaufend, ob eine oder mehrere der Aufgaben 80a, 80b, 80c an eine andere Rechnerkomponente 20, 30, 40 zugewiesen werden soll/sollen, d.h. ob eine oder mehrere der Aufgaben 80a, 80b, 80c umzuverteilen ist/sind. In dem Beispiel aus 3b ermittelt die Instanz des Hormonsystems 26 unter Berücksichtigung der DNA 24 sowie der von dem Überwachungssensor 22 erfassten Temperaturüberlast, die Aufgabe 80c von der Rechnerkomponente 20 an die Rechnerkomponente 40 umzuverteilen, d.h. die Aufgabe 80c nun der Rechnerkomponente 40 zuzuweisen.
-
Ein weiteres, nicht in 3b dargestelltes Beispiel, wäre ein Prozessorausfall z.B. eines der Prozessoren der Rechnerkomponente 20 oder ein Ausfall der gesamten Rechnerkomponente 20 oder ein Fehler in einer Komponente des Fahrzeugs oder ein Ausfall einer Komponente des Fahrzeugs. Der Ausfall der Rechnerkomponente 20 ist beispielhaft in 3c dargestellt. Der Übersichtlichkeit halber sind in 3c nicht die Überwachungssensoren 22, 32, 42 dargestellt, diese können jedoch entsprechend den 3a und 3b in den jeweiligen Rechnerkomponenten 20, 30, 40 angeordnet sein.
-
Im beispielhaften Fall eines Ausfalls der Rechnerkomponente 20 gemäß 3c könnten beispielsweise beide Aufgaben 80a, 80c unter Berücksichtigung der genannten Parameter der Rechnerkomponente 40 zugewiesen werden (falls genügend Rechenleistung vorhanden ist) oder es könnte eine Aufgabe 80a der Rechnerkomponente 30 und die andere Aufgabe 80c der Rechnerkomponente 40 zugewiesen werden. Letzteres ist beispielhaft in 3c veranschaulicht. Im Fall eines Prozessorfehlers werden nur die Aufgaben und Basiselemente neu zugewiesen, die tatsächlich von dem Ausfall beeinflusst waren/sind/werden, d.h. bei Ausfall der Rechnerkomponente 20 nur die Aufgaben 80a, 80c. Die auf der Rechnerkomponente 30 auszuführende Aufgabe 80b wird nicht neu zugewiesen / verteilt. Ferner können den Basiselementen verschiedene Bedeutungen oder Prioritäten zugewiesen werden, so dass die wichtigsten Aufgaben ausgeführt werden können, falls nicht ausreichend Rechenleistung zur Verfügung steht, um alle Aufgaben auszuführen.
-
Das Rechnersystem 10 entspricht im Wesentlichen dem Rechnersystem 10 aus den 3a bis 3c. Im Gegensatz zu den 3a bis 3c sind in 3d die Fahrzeugsensoren und Fahrzeugaktuatoren nicht jeweils gemeinsam dargestellt und dementsprechend nicht jeweils mit einem gemeinsamen Bezugszeichen 50, 60 ,70 bezeichnet. Hingegen zeigt 3d eine alternative Form der Anordnung und Verbindung der Fahrzeugsensoren 50, 70 (in 3d sind nur der erste Fahrzeugsensor 50 und der letzte Fahrzeugsensor 70 der mehreren Fahrzeugsensoren 50, 70 dargestellt) und der Fahrzeugaktuatoren 52, 72 (in 3d sind nur der erste Fahrzeugaktuator 52 und der letzte Fahrzeugaktuator 72 der mehreren Fahrzeugaktuatoren 52, 72 dargestellt), wobei die Fahrzeugsensoren 50, 70 und die Fahrzeugaktuatoren 52, 72 beispielhaft getrennt voneinander angeordnet und über getrennte Bussysteme / Busverbindungen mit den Rechnerkomponenten 20, 30, 40 verbunden sind und dementsprechend mit verschiedenen Bezugszeichen versehen sind. Die grundsätzliche Funktionalität entspricht, bis auf die unterschiedliche Ansteuerung der Fahrzeugsensoren 50, 70 und Fahrzeugaktuatoren 52, 72 im Vergleich mit denen aus den 3a bis 3c, der oben in Bezug auf die 1 bis 3c beschriebenen Funktionalität.
-
Ein weiteres, nicht explizit in den 3a bis 3d dargestelltes Beispiel, wäre es, wenn zusätzlich oder alternativ zu der Erfassung einer Temperaturüberlast der Rechnerkomponente 20 beispielsweise der Fahrzeugsensor 50 Informationen über das Fahrzeug erfasst, wie z.B. von einer Bremsvorrichtung des Fahrzeugs erhaltene Daten. Diese Daten können beispielsweise einen vom Fahrer des Fahrzeugs gewünschten Bremsdruck angeben. Die von dem Fahrzeugsensor 50 erfassten Informationen über das Fahrzeug können dann entsprechend an die Rechnerkomponenten 20, 30, 40, insbesondere die jeweilige Instanz des Hormonsystems 26, 36, 46, weitergereicht werden.
-
Gemäß diesem Beispiel ermittelt die Instanz des Hormonsystems 26 nicht nur unter Berücksichtigung der DNA 24 sowie der von dem Überwachungssensor 22 erfassten Temperaturüberlast, die Aufgabe 80c von der Rechnerkomponente 20 an die Rechnerkomponente 40 umzuverteilen, d.h. die Aufgabe 80c nun der Rechnerkomponente 40 zuzuweisen. Zusätzlich gehen in die Entscheidung der Instanz des Hormonsystems 26 auch die von dem Fahrzeugsensor 50 erfassten Informationen ein. So kann es beispielsweise sein, dass nur unter Berücksichtigung der erfassten Temperaturüberlast die Aufgabe 80b sowohl an die Rechnerkomponente 30 als auch an die Rechnerkomponente 40 verteilt werden könnte oder sogar an die Rechnerkomponente 30 verteilt würde. Ferner berücksichtigt jedoch die Instanz des Hormonsystems 26 die von dem Fahrzeugsensor 50 erfassten Informationen, d.h. im genannten Beispiel Informationen über einen Bremsvorgang. Beispielsweise werden Steuerungen von Bremsvorgängen betreffende Aufgaben unter anderem auf der Rechnerkomponente 30 ausgeführt (ggf. noch von weiteren der Rechnerkomponenten 20, 30, 40). Hiervon hat die Instanz des Hormonsystems 26 aufgrund ihrer Zugriffsmöglichkeit auf die DNA 24 Kenntnis. Die Instanz des Hormonsystems 26 kann daher vorhersehen / prädizieren, dass die Rechnerkomponente 30 in Kürze oder zukünftig mit der Steuerung von Aufgaben eines Bremsvorgangs ausgelastet sein wird. Die Instanz des Hormonsystems 26 wird daher die Aufgabe 80b nicht der Rechnerkomponente 30 sondern der Rechnerkomponente 40 zuweisen.
-
Ein konkretes Ausführungsbeispiel des Rechnersystems 10 ist in 4 beispielhaft dargestellt. Der Übersichtlichkeit halber sind in 4 sowohl die Überwachungssensoren 22, 32, 42 als auch die künstliche DNA 24, 34, 44 nicht dargestellt. Die Überwachungssensoren 22, 32, 42 und die künstliche DNA 24, 34, 44 können jedoch entsprechend den 3a bis 3d in den Rechnerkomponenten 20, 30, 40 angeordnet sein.
-
In 4 dient das Rechnersystem 10 beispielhaft einer Steuerung einer Lenkung und einer Bremse eines Fahrzeugs. Als Fahrzeugsensoren und Fahrzeugaktuatoren sind demgemäß Sensoren und Aktuatoren einer Lenkung sowie Sensoren und Aktuatoren einer Bremse dargestellt. Diese werden in 4 vereinfacht gemeinsam dargestellt als Lenkmotor 50 und Bremsmotor 70. In dem Lenkmotor 50 können Sensoren und/oder Aktuatoren einer Lenkung vorhanden sein. In dem Bremsmotor können Sensoren und/oder Aktuatoren einer Bremse vorhanden sein. Die Funktionalität des Rechnersystems 10 aus 4 entspricht der Funktionalität wie sie jeweils in Bezug auf die 1 bis 3d beschrieben wurde. Rein beispielhaft ist in 4 die Rechnerkomponente 20 für die Lenkung des Fahrzeugs zuständig. Ferner ist rein beispielhaft in 4 die Rechnerkomponente 30 für die Bremse des Fahrzeugs zuständig. Die Rechnerkomponente 40 ist rein beispielhaft für keine Funktion belegt und kann für weitere Funktionen zur Steuerung des Fahrzeugs vorgehalten werden. Obwohl die Rechnerkomponente 20 beispielhaft nur für die Lenkung des Fahrzeugs zuständig ist, kann sie ferner über ein Bussystem auch mit dem Bremsmotor 70 verbunden sein, um Informationen über den Bremsmotor 70 von diesem zu erhalten. Die Rechnerkomponente 30 ist beispielhaft sowohl mit dem Lenkmotor 50 als auch mit dem Bremsmotor 70 verbunden und kann auf diese Weise Informationen über den Lenkmotor 50 und Informationen über den Bremsmotor direkt von diesen erhalten.
-
Gemäß dem Beispiel aus 4 ermittelt die Instanz des Hormonsystems 26 der Rechnerkomponente 20 nicht nur unter Berücksichtigung der DNA 24 sowie der von dem Überwachungssensor 22 erfassten Informationen, wie die Aufgaben 80a, 80b, 80c zu verteilen / zuzuweisen sind. Zusätzlich gehen in die Entscheidung der Instanz des Hormonsystems 26 auch die von einem Sensor des Lenkmotors 50 erfasste Informationen und/oder die von einem Sensor des Bremsmotors 70 erfassten Informationen ein. Basierend auf den Informationen kann die Rechnerkomponente 20 beispielhaft ihr zugewiesene Aufgaben 80a, 80c betreffend einen Lenkvorgang steuern/ausführen und einen oder mehrere Aktuatoren des Lenkmotors entsprechend ansteuern. Ferner ermittelt gemäß dem Beispiel aus 4 die Instanz des Hormonsystems 36 der Rechnerkomponente 30 nicht nur unter Berücksichtigung der DNA 34 sowie der von dem Überwachungssensor 32 erfassten Informationen, wie die Aufgaben 80a, 80b, 80c zu verteilen / zuzuweisen sind. Zusätzlich gehen in die Entscheidung der Instanz des Hormonsystems 36 auch die von einem Sensor des Lenkmotors 50 erfasste Informationen und/oder die von einem Sensor des Bremsmotors 70 erfassten Informationen ein. Basierend auf den Informationen kann die Rechnerkomponente 30 beispielhaft die ihr zugewiesene Aufgabe 80b betreffend einen Bremsvorgang steuern/ausführen und einen oder mehrere Aktuatoren des Bremsmotors 70 entsprechend ansteuern.
-
Mit dem beschriebenen Rechnersystem 10 gemäß den 1, 3a bis 3d und 4 sowie dem Verfahren aus 2 wird das Rechensystem 10 prädiktiv in den aktuell besten Zustand gebracht. Ein Fehlverhalten wird dadurch im Voraus vermieden. Dazu werden entsprechende Systemgrößen wie Prozessorleistung, Temperatur oder dgl. überwacht und es ggf. eine Neukonfiguration des Rechensystems 10 vorgenommen. Ebenso fließen Parameter des Fahrzeugs, in dem das Rechensystem 10 angeordnet ist, mit in die Entscheidungen des Rechensystems 10 ein. Darüber hinaus kann das Rechensystem 10 in andere Richtungen wie zum Beispiel im Hinblick auf den Energieverbrauch optimiert werden.
-
Mittels des vorgeschlagenen Rechensystems und Verfahrens kann eine prädiktive Optimierung des Rechnersystems eines Fahrzeugs erreicht werden. Ferner wird eine Robustheit (Fehlertoleranz) des Rechensystems verbessert. Weitere Optimierungen, wie eine Minimierung des Energieverbrauchs, sind möglich. Durch die Anwendung von Organisationsprinzipien aus der Biologie erhält man verschiedene (Selbst-X) Systemeigenschaften (Selbst-X), wie Selbstorganisation (Ausprägung des Systems nach dem aktuellen Systemzustand), Selbstkonfiguration (selbständige Initialisierung), Selbstoptimierung (laufende Optimierung des Systems auf Basis der aktuellen Systemzustände) und Selbstheilung (hohe Fehlertoleranz durch die Möglichkeit das System neu zu organisieren).