DE102022205918A1 - Verfahren zum Durchführen einer Datenverarbeitung - Google Patents

Verfahren zum Durchführen einer Datenverarbeitung Download PDF

Info

Publication number
DE102022205918A1
DE102022205918A1 DE102022205918.2A DE102022205918A DE102022205918A1 DE 102022205918 A1 DE102022205918 A1 DE 102022205918A1 DE 102022205918 A DE102022205918 A DE 102022205918A DE 102022205918 A1 DE102022205918 A1 DE 102022205918A1
Authority
DE
Germany
Prior art keywords
processing result
computer programs
processing
contradicts
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022205918.2A
Other languages
English (en)
Inventor
Andreas Heyl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022205918.2A priority Critical patent/DE102022205918A1/de
Priority to US18/331,329 priority patent/US20230401140A1/en
Priority to CN202310682614.1A priority patent/CN117215908A/zh
Publication of DE102022205918A1 publication Critical patent/DE102022205918A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Durchführen einer Datenverarbeitung beschrieben, aufweisend Erstellen eines ersten Computerprogramms für eine vorgegebene Datenverarbeitungsaufgabe durch einen oder mehrere menschliche Programmierer, Erstellen einer Vielzahl von zweiten Computerprogrammen für die vorgegebene Datenverarbeitungsaufgabe, wobei jedes der Computerprogramme durch eine künstliche Intelligenz erstellt wird, Verarbeiten einer Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses und Verarbeiten der Eingabe durch jedes der Vielzahl von zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses, Ermitteln einer Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, Prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei, ist und Auslösen einer Sicherheitsmaßnahme, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Durchführen einer Datenverarbeitung.
  • Bei sicherheitskritischen Anwendungen, wie beispielsweise bei der Steuerung eines Fahrzeugs, wird eine sehr hohe Zuverlässigkeit an die verwendete Steuersoftware vorausgesetzt. Eine Möglichkeit, die Zuverlässigkeit von Software durch Redundanz zu erhöhen, ist die Verwendung von N-Version Programming. N-Version Programming ist allerdings sehr aufwändig, da mehrere Versionen des gleichen Programms von verschiedenen Entwicklerteams geschrieben werden müssen. Zudem wurde festgestellt, dass die auf diese Weise erzeugten Softwareversionen weitaus weniger unabhängig sind, als zu erwarten und hoffen wäre - unter Umständen müssen somit mehr als zwei Versionen erzeugt werden, um eine ausreichende Diversität zu erreichen.
  • Es sind deshalb effizientere Herangehensweisen wünschenswert, um die Zuverlässigkeit von Software zu erhöhen.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Durchführen einer Datenverarbeitung bereitgestellt, aufweisend Erstellen eines ersten Computerprogramms für eine vorgegebene Datenverarbeitungsaufgabe durch einen oder mehrere menschliche Programmierer, Erstellen einer Vielzahl von zweiten Computerprogrammen für die vorgegebene Datenverarbeitungsaufgabe, wobei jedes der Computerprogramme durch eine künstliche Intelligenz erstellt wird, Verarbeiten einer Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses und Verarbeiten der Eingabe durch jedes der Vielzahl von zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses, Ermitteln einer Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, Prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist, und Auslösen einer Sicherheitsmaßnahme, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  • Das oben beschriebene Verfahren ermöglicht die Erhöhung der Zuverlässigkeit einer Datenverarbeitung, bzw. die Erfüllung strengerer Sicherheitsanforderungen mit geringem Aufwand, da mittels künstlicher Intelligenz Computerprogramme mit deutlich geringerem Aufwand als durch menschliche Programmierer erstellt werden können. Dem Risiko der möglicherweise geringeren Qualität der KI-erzeugten Computerprogramme wird dadurch Rechnung getragen, dass das menschlich-erzeugte Computerprogramm in dem Sinne stärker gewichtet wird, dass die Sicherheitsmaßnahme (nur) dann ausgelöst wird, wenn die Ergebnisse von mehreren oder auch deutlich mehr dem Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms widersprechen. Die Schranke kann z.B. zwei, drei oder noch höher sein, z.B. je nach erwartbarer Qualität der KI-erzeugten Computerprogramme.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Durchführen einer Datenverarbeitung, wie oben beschrieben.
  • Ausführungsbeispiel 2 ist ein Verfahren nach Ausführungsbeispiel 1, aufweisend Verwenden des ersten Verarbeitungsergebnisses als Ergebnis der Verarbeitung, falls die ermittelte Anzahl geringer ist die vorgegebene Schranke.
  • In anderen Worten wird dem Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms vertraut, sofern nicht die Verarbeitungsergebnisse einer hohen Anzahl (z.B. zwei oder mehr, drei oder mehr, etc.) von KI-erzeugten Computerprogrammen dem Verarbeitungsergebnis des menschlich erzeugten Computerprogramms widersprechen.
  • Ausführungsbeispiel 3 ist ein Verfahren nach Ausführungsbeispiel 1 oder 2, aufweisend, für jede Eingabe mehrerer Eingaben, Verarbeiten der Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses für die Eingabe und Verarbeiten der Eingabe durch jedes der Vielzahl von zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses für die Eingabe und Ausschließen eines der zweiten Computerprogramme aus der Verarbeitung von nachfolgenden Eingaben, das für eine Anzahl, die eine weitere vorgegeben Schranke übersteigt, von Eingaben der mehreren Eingaben jeweils ein zweites Verarbeitungsergebnis geliefert hat, das dem jeweiligen ersten Verarbeitungsergebnis widerspricht, obwohl die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis für die Eingabe dem ersten Verarbeitungsergebnis widerspricht, nicht größer ist als die vorgegebene Schranke ist.
  • Somit kann vermieden werden, dass ein KI-erzeugtes Computerprogramm, dass öfter falsche Ergebnisse geliefert hat (in dem Sinne dass es (vermutlich) fälschlicherweise dem ersten Computerprogramm widersprochen hat) bei einer folgenden Eingabe durch ein erneutes falsches Verarbeitungsergebnis bewirkt, dass die Sicherheitsmaßnahme ausgelöst wird, obwohl dies gar nicht angebracht ist.
  • Ausführungsbeispiel 4 ist ein Verfahren nach Ausführungsbeispiel 3, aufweisend Nachtrainieren der künstlichen Intelligenz, falls eines der zweiten Computerprogramme aus für eine Anzahl, die die weitere vorgegeben Schranke übersteigt, von Eingaben der mehreren Eingaben jeweils ein zweites Verarbeitungsergebnis geliefert hat, das dem jeweiligen ersten Verarbeitungsergebnis widerspricht, obwohl die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis für die Eingabe dem ersten Verarbeitungsergebnis widerspricht, nicht größer ist als die vorgegebene Schranke ist.
  • Ein KI-erzeugtes Programm, das öfter falsche Verarbeitungsergebnisse liefert, wird somit als Indiz dafür genommen, dass die (jeweilige) KI noch nicht ausreichend trainiert ist. Damit kann für weitere Anwendungen der KI die Zuverlässigkeit weiter erhöht werden.
  • Ausführungsbeispiel 5 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 4, aufweisend, für jede Eingabe mehrerer Eingaben, Auswählen eines Teils der Vielzahl von zweiten Computerprogrammen, Verarbeiten der Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses und Verarbeiten der Eingabe durch jedes zweite Computerprogramm des ausgewählten Teils zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses, Ermitteln einer Anzahl von Computerprogrammen unter den zweiten Computerprogrammen des ausgewählten Teils, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, Prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen des ausgewählten Teils, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist, und Auslösen einer Sicherheitsmaßnahme, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen des ausgewählten Teils, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  • Somit kann insbesondere die Anzahl von KI-erzeugten Computerprogrammen, die für die Plausibilitätsprüfung des ersten Verarbeitungsergebnisses für verschiedene Eingaben verwendet wird, (z.B. dynamisch) angepasst werden, beispielsweise in Abhängigkeit einer jeweiligen Sicherheitsanforderung (oder Integritätsanforderung) für die Eingabe. Damit können die Ressourcen optimiert werden, die für eine jeweils gewünschte Zuverlässigkeit eingesetzt werden. Steigen die Anforderungen, könnten beispielsweise KI-Verarbeitungspfade (d.h. Verarbeitungspfade mit KI-erzeugten Computerprogrammen) hinzugeschaltet werden.
  • Ausführungsbeispiel 6 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei die Sicherheitsmaßnahme aufweist, dass das erste Verarbeitungsergebnis verworfen wird.
  • Damit wird vermieden, dass das erste Verarbeitungsergebnis, für das die Annahme nicht berechtigt ist, dass es zuverlässig ist, zu Schäden oder Gefährdungen führt.
  • Beispielsweise ist die Datenverarbeitungsaufgabe eine Aufgabe im Rahmen der Steuerung einer Robotervorrichtung. Es können somit Unfälle durch falsche Steuerung der Robotervorrichtung vermieden werden.
  • Ausführungsbeispiel 7 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei die Sicherheitsmaßnahme aufweist, dass anstatt des ersten Verarbeitungsergebnisses ein sicherer Standardwert als Verarbeitungsergebnis verwendet wird.
  • In anderen Worten wird ein Verarbeitungsergebnis angenommen, dass zu einem möglichst sicheren Verhalten, z.B. einer gesteuerten Robotervorrichtung führt. Beispielsweise kann ein Fahrzeug abgebremst werden, auch wenn das erste Verarbeitungsergebnis nicht anzeigt, dass das erforderlich ist. Allgemein kann ein System (z.B. ein auf Grundlage der Datenverarbeitung gesteuertes System) in einen sicheren Zustand überführt werden.
  • Ausführungsbeispiel 8 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 7, wobei die Sicherheitsmaßnahme aufweist, dass die korrekte Funktion des ersten Computerprogramms überprüft wird.
  • Die KI-erzeugten Computerprogramme tragen so dazu bei, dass Fehler im menschlich-erzeugten Computerprogramm gefunden und behoben werden.
  • Ausführungsbeispiel 9 ist ein Datenverarbeitungssystem, das eingerichtet ist, eine Eingabe durch ein menschlich-erzeugtes erstes Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses zu verarbeiten und die Eingabe durch jedes einer Vielzahl von Künstliche-Intelligenz-erzeugten zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses zu verarbeiten, eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen zu ermitteln, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, zu prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist, und eine Sicherheitsmaßnahme auszulösen, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  • Ausführungsbeispiel 10 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor eine Eingabe durch ein menschlich-erzeugtes erstes Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses verarbeitet und die Eingabe durch jedes einer Vielzahl von Künstliche-Intelligenz-erzeugten zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses verarbeitet, eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen ermittelt, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, prüft, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist, und eine Sicherheitsmaßnahme auslöst, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  • Ausführungsbeispiel 11 ist ein computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor eine Eingabe durch ein menschlich-erzeugtes erstes Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses verarbeitet und die Eingabe durch jedes einer Vielzahl von Künstliche-Intelligenz-erzeugten zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses verarbeitet, eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen ermittelt, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, prüft, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist, und eine Sicherheitsmaßnahme auslöst, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  • In den Zeichnungen beziehen sich ähnliche Bezugszeichen im Allgemeinen auf dieselben Teile in den ganzen verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstäblich, wobei die Betonung stattdessen im Allgemeinen auf die Darstellung der Prinzipien der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben.
    • 1 zeigt ein Fahrzeug.
    • 2 veranschaulicht die Erzeugung eines ersten Computerprogramms durch einen oder mehrere menschliche Programmierer und die Erzeugung von weiteren Computerprogrammen durch KI-Tools
    • 3 veranschaulicht den Einsatz von einem menschlich-erzeugten Computerprogramm in Kombination mit Kl-erzeugten Computerprogrammen.
    • 4 zeigt ein Ablaufdiagramm, das ein Verfahren zum Durchführen einer Datenverarbeitung gemäß einer Ausführungsform darstellt.
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Im Folgenden werden verschiedene Beispiele genauer beschrieben.
  • 1 zeigt ein Fahrzeug 101.
  • Im Beispiel von 1 ist ein Fahrzeug 101, beispielsweise ein PKW oder LKW, mit einer Fahrzeugsteuereinrichtung (z.B. bestehend aus einer oder mehreren Electronic Control Units (ECU)) 102 versehen.
  • Die Fahrzeugsteuereinrichtung 102 weist Datenverarbeitungskomponenten auf, z.B. einen Prozessor (z.B. eine CPU (Zentraleinheit)) 103 und einen Arbeitsspeicher 104 zum Speichern von Steuersoftware 107, gemäß der die Fahrzeugsteuereinrichtung 102 arbeitet, und Daten, die von dem Prozessor 103 verarbeitet werden. Die Fahrzeugsteuereinrichtung 102 kann mehrere Datenverarbeitungsvorrichtungen aufweisen (z.B. ECUs), die über ein internes Kommunikationsnetz (z.B. einen CAN-Bus) miteinander verbunden sind. Diese können die Steuerungssoftware 107 auch verteilt ausführen.
  • Beispielsweise weist die gespeicherte Steuerungssoftware (Computerprogramm) Anweisungen auf, die, wenn der Prozessor sie ausführt (oder mehrere Prozessoren sie verteilt ausführen), bewirken, dass der Prozessor 103 (oder die Prozessoren) Fahrerassistenz-Funktionen ausführt (oder auch Fahrdaten sammelt) oder sogar das Fahrzeug autonom steuert.
  • Die Steuerungssoftware muss dafür verschiedene Aufgaben ausführen. Für jede dieser Aufgaben enthält die Steuerungssoftware ein Computerprogramm (was auch ein Unterprogramm oder eine Funktion etc. eines größeren Computerprogramms sein kann), beispielsweise ein Computerprogramm, um eine bestimmte Datenverarbeitung durchzuführen, z.B. Berechnung einer Zielgeschwindigkeit oder auch eine Klassifikation eines detektierten Objekts etc.
  • An solch ein Computerprogramm bestehen in einem sicherheitskritischen Kontext wie der Steuerung eines Fahrzeugs hohe Anforderungen an die Korrektheit der von dem Computerprogramm gelieferten Ergebnisse.
  • Gemäß verschiedenen Ausführungsformen werden deshalb zu einem Computerprogramm, das von einem oder mehreren menschlichen Programmierern für eine vorgegebene, durch eine Aufgabenspezifikation spezifizierte Aufgabe geschrieben wurde, mehrere weitere Computerprogramme für die gleichen Aufgabenspezifikation mittels künstlicher Intelligenz erzeugt. Mit diesen weiteren, KI-erzeugten Computerprogrammen werden Ergebnisse des menschlich-erzeugten Computerprogramms plausibilisiert, d.h. es wird Redundanz geschaffen.
  • 2 veranschaulicht die Erzeugung eines ersten Computerprogramms 201 durch einen oder mehrere menschliche Programmierer 202 für eine Aufgabenspezifikation 203 und die Erzeugung von weiteren Computerprogrammen 204, 205 durch KI-Tools 206, 207, d.h. mittels künstlicher Intelligenz, wobei ein erster Teil 204 der KI-erzeugten Computerprogramme direkt aus der Aufgabenspezifikation 203 erzeugt werden und ein zweiter Teil 205 der KI-erzeugten Computerprogramme aus einer durch eine oder mehrere Programmierer angepasste oder aufbereitete (z.B. in eine Eingabesyntax des jeweiligen KI-Tools übersetzte, d.h. für das KI-Tool lesbare) Aufgabenspezifikation 208 erzeugt wird.
  • Die Aufgabenspezifikation 203 spezifiziert beispielsweise bestimmte Erfordernisse oder beschreibt ein Systemmodell. Die Aufgabenspezifikation 203 (oder auch Funktionsspezifikation) kann von menschlichen Programmieren auch unter Nutzung von Systemmodellen oder Autocodern verwendet werden, d.h. Programme, die es ermöglichen, aus Systemmodellen Code zu erzeugen (z.B. ASCET).
  • Die erzeugten Programmversionen 201, 204, 205 können dann zusammen in einer Software, z.B. in der Steuersoftware 107 eingesetzt werden.
  • 3 veranschaulicht den Einsatz von einem menschlich-erzeugten Computerprogramm 301 in Kombination mit (für dieselbe Aufgabe) KI-erzeugten Computerprogrammen 302.
  • Soll nun die Aufgabe ausgeführt werden, so wird jedem Computerprogramm 301, 302 die entsprechende Eingabe (z.B. Sensordaten von einem Sensor am Fahrzeug, z.B. einer Kamera oder einem Radarsensor) zugeführt, sodass jedes Computerprogramm 301, 302 ein entsprechendes Ergebnis erzeugt, d.h. ein Verarbeitungsergebnis für jeden Verarbeitungspfad erzeugt wird, wobei jeder Verarbeitungspfad durch eines der Computerprogramme 301, 302 gebildet wird.
  • Die Steuersoftware 107 weist eine Auswahlfunktion 303 (auch als „Voter“ bezeichnet) auf, die ein Verarbeitungsergebnis aus den Verarbeitungsergebnissen als Endergebnis 304 auswählt, wobei sie die einzelnen Verarbeitungspfade so gewichtet, dass das von dem menschlich-erzeugten Programm 301 gelieferte Verarbeitungsergebnis nicht fälschlicherweise von (wenigen, z.B. nur einem) Verarbeitungsergebnissen, die von den von KI-erzeugten Programmen geliefert werden, überstimmt werden kann, aber dennoch das von dem menschlich-erzeugten Programm 301 gelieferte Verarbeitungsergebnis auf Plausibilität geprüft wird. Hierdurch wird die Robustheit der Steuersoftware (d.h. speziell der Durchführung der Aufgabe) erhöht, da Fehler im menschlichen Anteil (menschlich-erzeugtes Programm 301) durch den KI-Anteil (KI-erzeugte Programme 302) entdeckt und unter Umständen durch Mitigationsmaßnahmen 305 auch mitigiert werden können. Der Zusatzaufwand ist aber nur marginal höher, da mit heutigen bzw. zukünftigen Tools per KI ein Programms aus einer Aufgabenspezifikation (z.B. Anforderungsspezifikation oder textuellen Funktionsbeschreibung) voraussichtlich mit wenig Aufwand, insbesondere wenig anschließenden manuellen Verifikationsschritten, erzeugt werden kann.
  • Zusätzlich zu KI-erzeugten Computerprogrammen 202 kann in einer Crowd-Variante: auch ein oder mehreren weiteren (z.B. externe) Software- Programmierern (in einer entsprechenden Community) die Möglichkeit gegeben werden, jeweils ein weiteres („Crowd-erzeugtes“) Computerprogramm für die Aufgabenspezifikation zu entwickeln und diese Computerprogramme mittels der Auswahlfunktion gegen das menschlich-erzeugte (Original-)Programm 201 aneinander zu messen. Dabei können Programmierfehler im menschlich-erzeugten Programm 201 gefunden werden (und in diesem Fall der oder die jeweiligen Programmierer dafür belohnt werden).
  • Das menschlich-erzeugte Computerprogramm kann rein nach QM (Qualitätsmanagement), d.h. nur nach Qualitätsprozessen oder gemäß einem Sicherheitsstandard (z.B. ISO 26262, DO-254, ISO 13849), entwickelt sein, aber nach einem niedrigeren Sicherheitsintegritätslevel als vom assoziierten Sicherheitsziel gefordert. Die Argumentation der ausreichenden Sicherheitsintegrität der Gesamtsoftware (d.h. menschlich-erzeugtes Computerprogramm plus KI-erzeugte Computerprogramme) leitet sich gemäß ASIL Dekomposition oder einer Variation davon aus der Verwendung redundanter, unabhängiger Verarbeitungspfade ab.
  • Hierbei muss nur die Auswahlfunktion 303 (die insbesondere als Vergleicher arbeitet) der auf Systemebene geforderten hohen Sicherheitsintegrität entsprechen und entsprechend entwickelt werden.
  • Gemäß verschiedenen Ausführungsformen gewichtet die Auswahlfunktion 303 den Verarbeitungspfad des menschlich-erzeugten Computerprogramms 301 stärker als die Verarbeitungspfade der KI-erzeugten Computerprogramme 302. Beispielsweise gewichtet die Auswahlfunktion 303 den Verarbeitungspfad des menschlich-erzeugten Computerprogramms 301 so (z.B. mit 49%), dass die Auswahlfunktion 303 nur dann das Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms 301 nicht als Endergebnis 304 auswählt, wenn alle (oder zumindest fast alle oder die Mehrheit) Verarbeitungspfade der KI-erzeugten Computerprogramme 302 ein Verarbeitungsergebnis liefern, dass dem Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms 301 widerspricht. Wählt die Auswahlfunktion 303 nicht das Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms 301 aus, so kann sie beispielsweise statt dessen einen vorher definierte sicheren Ausgangswert als Endergebnis 303 auswählen oder das jeweilige System (z.B. das Fahrzeug 101) als Mitigationsmaßnahme 305 in einen sicheren Zustand bringen.
  • Dabei kann das Kriterium, ob ein Verarbeitungsergebnis (bzw. ein Verarbeitungspfad) einem anderen widerspricht, von der Aufgabe, insbesondere des Typs des Ergebnisses abhängen. Ist das Ergebnis eine Entscheidung (ja/nein wie z.B. bremsen oder nicht bremsen oder Spurwechsel oder nicht Spurwechsel) oder auch eine Klassifikation so widersprechen sich zwei Ergebnisse, wenn sie nicht gleich sind. Ist das Verarbeitungsergebnis aber z.B. ein Zahlenwert, so können Toleranzen vorgesehen sein (z.B. 24 km/h widerspricht nicht 23 km/h aber 30 km/h widerspricht 23 km/h).
  • Die Auswahlfunktion 303 kann auch Verarbeitungsergebnisse der KI-Pfade (d.h. Verarbeitungspfade mit KI-erzeugten Computerprogrammen 302) mitteln und wenn die Abweichung des Verarbeitungspfads mit dem menschlich-erzeugten Computerprogramm 301 zu dem Ergebnis der Mittelung außerhalb einer Toleranz liegt, wird das Verarbeitungsergebnis des menschlich-erzeugten Computerprogramm 301 von der Auswahlfunktion 303 nicht als Endergebnis 304 gewählt. Stattdessen wählt die Auswahlfunktion 303 beispielsweise einen vorher definierte sicheren Ausgangswert als Endergebnis 303 oder bringt das jeweilige System (z.B. das Fahrzeug 101) als Mitigationsmaßnahme 305 in einen sicheren Zustand. Dies wird gemäß verschiedenen Ausführungsformen in Kombination mit dem Kriterium verwendet, dass die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist, sodass vermieden wird, dass ein einzelnes KI-erzeugtes Computerprogramm, das ein Verarbeitungsergebnis liefert, dass sehr stark von dem Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms abweicht, bewirkt dass die Sicherheitsmaßnahme ausgelöst wird, z.B. das erste Verarbeitungsergebnis verworfen wird. In anderen Worten kann zunächst geprüft werden, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist, und, falls dies der Fall ist, wird geprüft, ob das Mittel der zweiten Verarbeitungsergebnisse von dem ersten Verarbeitungsergebnis um mehr als ein Toleranzwert abweicht und, wenn dies auch der Fall ist, die Sicherheitsmaßnahme ausgelöst. Es können also Bedingungen zusätzlich zu der Bedingung, dass die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist, geprüft werden, um zu entscheiden, ob die Sicherheitsmaßnahme ausgelöst wird.
  • Die Auswahlfunktion 303 kann auch Metainformationen z.B. über das Ergebnis der Auswahl oder die Anzahl und Eigenschaften der an der Auswahl beteiligten Verarbeitungspfade liefern. Abweichungen des Ergebnisses eines Verarbeitungspfads von dem Endergebnis 304 können an den entsprechenden KI-Pfad bzw. den oder die Programmierer zurückgemeldet werden.
  • Die Verarbeitungspfade der KI-erzeugten Computerprogramme 302 können auch im Sinne eines Schatten-Modus (Shadow Mode) parallel zu dem Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms 301 mitlaufen und (als Mitigationsmaßnahme 305) auslösen, dass das menschlich-erzeugten Computerprogramm 301 überprüft wird, wenn die Verarbeitungspfade der KI-erzeugten Computerprogramme 302 häufig dem Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms 301 widersprechen (auch wenn es beispielsweise nicht reicht, das menschlich-erzeugten Computerprogramm 301 zu überstimmen, d.h. zu bewirken, dass die Auswahlfunktion 303 nicht das Verarbeitungsergebnis des menschlich-erzeugten Computerprogramms 301 als Endergebnis 304 auswählt).
  • Die Auswahlfunktion 303 kann auch einen Verarbeitungspfad eines KI-erzeugten Computerprogramms 302 deaktivieren, wenn dieser häufig ein Verarbeitungsergebnis geliefert hat, das anderen Verarbeitungspfaden widersprochen hat (z.B. der Mehrheit der Verarbeitungspfade). Diese Deaktivierung kann auch nur die Verwendung des Verarbeitungspfads für den Schatten-Modus betreffen. Das KI-Tool, das das Computerprogramm dieses Verarbeitungspfads erzeugt hat, kann dann nachtrainiert auch werden.
  • Verarbeitungspfade können also aktualisiert werden. Die Anzahl der Verarbeitungspfade kann auch variieren (z.B. dynamisch während des Betriebs der Steuereinrichtung 107, z.B. je nach aktueller Integritätsanforderung). Dafür braucht nur die Auswahlfunktion 303 entsprechend konfiguriert zu werden (Anzahl Eingänge, Gewichtung der Eingänge, Fehlerreaktion).
  • Die Auswahlfunktion 303 kann als Service in einer (dynamischen) Cloud-Architektur angeboten und genutzt werden. Auch das oder die KI-Tools (oder Crowd-erzeugte Programme) können als Service bereitgestellt werden.
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 4 dargestellt.
  • 4 zeigt ein Ablaufdiagramm 400, das ein Verfahren zum Durchführen einer Datenverarbeitung gemäß einer Ausführungsform darstellt.
  • In 401, wird ein erstes Computerprogramms für eine vorgegebene Datenverarbeitungsaufgabe durch einen oder mehrere menschliche Programmierer erstellt.
  • In 402 wird eine Vielzahl von zweiten Computerprogrammen für die vorgegebene Datenverarbeitungsaufgabe erstellt, wobei jedes der Computerprogramme durch eine (ggf. jeweilige, d.h. nicht notwendig dieselbe) künstliche Intelligenz (d.h. durch ein KI-Tool, -Modul oder -System) erstellt wird.
  • In 403 wird eine Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses und durch jedes der Vielzahl von zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses verarbeitet.
  • In 404 wird eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen ermittelt, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht.
  • In 405 wird geprüft, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist.
  • In 406 wird eine Sicherheitsmaßnahme ausgelöst, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  • Das Verfahren von 4 kann mittels eines oder mehrerer Computer mit einer oder mehreren Datenverarbeitungseinheiten durchgeführt werden. Der Begriff „Datenverarbeitungseinheit“ kann als irgendein Typ von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Die Daten oder Signale können beispielsweise gemäß mindestens einer (d.h. einer oder mehr als einer) speziellen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgeführt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), eine integrierte Schaltung einer programmierbaren Gatteranordnung (FPGA) oder irgendeine Kombination davon umfassen oder aus dieser ausgebildet sein. Irgendeine andere Weise zum Implementieren der jeweiligen Funktionen, die hierin genauer beschrieben werden, kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es können ein oder mehrere der im Einzelnen hier beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezielle Funktionen ausgeführt (z. B. implementiert) werden, die durch die Datenverarbeitungseinheit durchgeführt werden.
  • Während in den obigen Ausführungsbeispielen mit Bezug auf die Durchführung einer Datenverarbeitungsaufgabe für die Steuerung eines Fahrzeugs beschrieben wurden, ist die oben beschriebene Herangehensweise nicht darauf beschränkt, sondern kann für verschiedene Verarbeitungsaufgaben verwendet werden, insbesondere für eine Aufgabe, die zur Erzeugung eines Steuersignals allgemein für eine Robotervorrichtung (nicht notwendig ein Fahrzeug) dient. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein technisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, einen persönlichen Assistenten oder ein Zugangssteuersystem. Es wird beispielsweise eine Steuerungsvorschrift für das technische System gelernt und das technische System dann entsprechend gesteuert.
  • Die Aufgabe kann die Verarbeitung von Sensordaten beinhalten, z.B. Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Wärmeabbildung usw. Die Aufgabe kann z.B. eine Klassifikation der Sensordaten oder das Durchführen einer semantischen Segmentierung der Sensordaten umfassen, beispielsweise um die Anwesenheit von Objekten (in der Umgebung, in der die Sensordaten erhalten wurden) zu detektieren.
  • Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente davon begrenzt ist.

Claims (11)

  1. Verfahren zum Durchführen einer Datenverarbeitung, aufweisend: Erstellen eines ersten Computerprogramms für eine vorgegebene Datenverarbeitungsaufgabe durch einen oder mehrere menschliche Programmierer; Erstellen einer Vielzahl von zweiten Computerprogrammen für die vorgegebene Datenverarbeitungsaufgabe, wobei jedes der Computerprogramme durch eine künstliche Intelligenz erstellt wird; Verarbeiten einer Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses und Verarbeiten der Eingabe durch jedes der Vielzahl von zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses; Ermitteln einer Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht; Prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist; und Auslösen einer Sicherheitsmaßnahme, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  2. Verfahren nach Anspruch 1, aufweisend Verwenden des ersten Verarbeitungsergebnisses als Ergebnis der Verarbeitung, falls die ermittelte Anzahl geringer ist die vorgegebene Schranke.
  3. Verfahren nach Anspruch 1 oder 2, aufweisend, für jede Eingabe mehrerer Eingaben, Verarbeiten der Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses für die Eingabe und Verarbeiten der Eingabe durch jedes der Vielzahl von zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses für die Eingabe; und Ausschließen eines der zweiten Computerprogramme aus der Verarbeitung von nachfolgenden Eingaben, das für eine Anzahl, die eine weitere vorgegeben Schranke übersteigt, von Eingaben der mehreren Eingaben jeweils ein zweites Verarbeitungsergebnis geliefert hat, das dem jeweiligen ersten Verarbeitungsergebnis widerspricht, obwohl die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis für die Eingabe dem ersten Verarbeitungsergebnis widerspricht, nicht größer ist als die vorgegebene Schranke ist.
  4. Verfahren nach Anspruch 3, aufweisend Nachtrainieren der künstlichen Intelligenz, falls eines der zweiten Computerprogramme aus für eine Anzahl, die die weitere vorgegeben Schranke übersteigt, von Eingaben der mehreren Eingaben jeweils ein zweites Verarbeitungsergebnis geliefert hat, das dem jeweiligen ersten Verarbeitungsergebnis widerspricht, obwohl die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis für die Eingabe dem ersten Verarbeitungsergebnis widerspricht, nicht größer ist als die vorgegebene Schranke ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, aufweisend, für jede Eingabe mehrerer Eingaben, Auswählen eines Teils der Vielzahl von zweiten Computerprogrammen; Verarbeiten der Eingabe durch das erste Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses und Verarbeiten der Eingabe durch jedes zweite Computerprogramm des ausgewählten Teils zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses; Ermitteln einer Anzahl von Computerprogrammen unter den zweiten Computerprogrammen des ausgewählten Teils, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht; Prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen des ausgewählten Teils, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist; und Auslösen einer Sicherheitsmaßnahme, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen des ausgewählten Teils, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Sicherheitsmaßnahme aufweist, dass das erste Verarbeitungsergebnis verworfen wird.
  7. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Sicherheitsmaßnahme aufweist, dass anstatt des ersten Verarbeitungsergebnisses ein sicherer Standardwert als Verarbeitungsergebnis verwendet wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Sicherheitsmaßnahme aufweist, dass die korrekte Funktion des ersten Computerprogramms überprüft wird.
  9. Datenverarbeitungssystem, das eingerichtet ist, eine Eingabe durch ein menschlich-erzeugtes erstes Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses zu verarbeiten und die Eingabe durch jedes einer Vielzahl von Künstliche-Intelligenz-erzeugten zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses zu verarbeiten; eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen zu ermitteln, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht; zu prüfen, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist; und eine Sicherheitsmaßnahme auszulösen, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  10. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor eine Eingabe durch ein menschlich-erzeugtes erstes Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses verarbeitet und die Eingabe durch jedes einer Vielzahl von Künstliche-Intelligenz-erzeugten zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses verarbeitet; eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen ermittelt, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht; prüft, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist; und eine Sicherheitsmaßnahme auslöst, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
  11. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor eine Eingabe durch ein menschlich-erzeugtes erstes Computerprogramm zum Ermitteln eines ersten Verarbeitungsergebnisses verarbeitet und die Eingabe durch jedes einer Vielzahl von Künstliche-Intelligenz-erzeugten zweiten Computerprogrammen zum Ermitteln eines jeweiligen zweiten Verarbeitungsergebnisses verarbeitet; eine Anzahl von Computerprogrammen unter den zweiten Computerprogrammen ermittelt, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht; prüft, ob die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer ist als eine vorgegebene Schranke, die größer oder gleich zwei ist; und eine Sicherheitsmaßnahme auslöst, falls die Anzahl von Computerprogrammen unter den zweiten Computerprogrammen, deren zweites Verarbeitungsergebnis dem ersten Verarbeitungsergebnis widerspricht, größer als die vorgegebene Schranke ist.
DE102022205918.2A 2022-06-10 2022-06-10 Verfahren zum Durchführen einer Datenverarbeitung Pending DE102022205918A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102022205918.2A DE102022205918A1 (de) 2022-06-10 2022-06-10 Verfahren zum Durchführen einer Datenverarbeitung
US18/331,329 US20230401140A1 (en) 2022-06-10 2023-06-08 Method for carrying out data processing
CN202310682614.1A CN117215908A (zh) 2022-06-10 2023-06-09 用于执行数据处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022205918.2A DE102022205918A1 (de) 2022-06-10 2022-06-10 Verfahren zum Durchführen einer Datenverarbeitung

Publications (1)

Publication Number Publication Date
DE102022205918A1 true DE102022205918A1 (de) 2023-12-21

Family

ID=88975132

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022205918.2A Pending DE102022205918A1 (de) 2022-06-10 2022-06-10 Verfahren zum Durchführen einer Datenverarbeitung

Country Status (3)

Country Link
US (1) US20230401140A1 (de)
CN (1) CN117215908A (de)
DE (1) DE102022205918A1 (de)

Also Published As

Publication number Publication date
US20230401140A1 (en) 2023-12-14
CN117215908A (zh) 2023-12-12

Similar Documents

Publication Publication Date Title
EP3684015B1 (de) Vorrichtung und verfahren zur klassifizierung von daten insbesondere für ein controller area netzwerk oder ein automotive ethernet netzwerk
DE112018002176T5 (de) Anormalitätsbestimmungsvorrichtung, Anormalitätsbestimmungsverfahren und Anormalitätsbestimmungsprogramm
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
EP3709166B1 (de) Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten
DE102018222720B4 (de) Überwachung von auf neuronalen Netzwerken basierten Fahrfunktionen
WO2008040641A2 (de) Verfahren und vorrichtung zur fehlerverwaltung
WO2019072840A1 (de) Vorrichtung zur absicherung von diagnosebefehlen an ein steuergerät und entsprechendes kraftfahrzeug
DE102017204745A1 (de) Architektur und Vorrichtung für eine fortschrittliche Arbitration in integrierten Steuerungen
EP3667568A1 (de) Konfiguration eines steuerungssystems für ein zumindest teilautonomes kraftfahrzeug
WO2006045754A1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
DE102022201663A1 (de) Erzeugen synthetischer Prüffälle zur Fuzz-Prüfung
DE102022205918A1 (de) Verfahren zum Durchführen einer Datenverarbeitung
DE102018207220A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion
DE102021207872A1 (de) Kompositionelle verifikation von eingebetteten softwaresystemen
DE102015211458A1 (de) Verfahren und Vorrichtung zum Absichern einer Programmzählerstruktur eines Prozessorsystems und zum Überwachen der Behandlung einer Unterbrechungsanfrage
DE102019208729A1 (de) Verfahren zum Sicherstellen und Aufrechterhalten der Funktion eines sicherheitskritischen Gesamtsystems
DE102018217014A1 (de) Dynamische Qualifizierung von Nutzdaten
DE102022121140B3 (de) Verfahren zum Betreiben eines zumindest teilweise assistiert betriebenen Kraftfahrzeugs, Computerprogrammprodukt sowie Assistenzsystem
DE102022125715A1 (de) Verfahren und Unterstützungseinrichtung zum Unterstützen einer Robustheitsoptimierung für ein Datenverarbeitungssystem und korrespondierendes CI-System
DE102022208087A1 (de) Verfahren zum Überprüfen einer Verarbeitung von Nutzdaten
DE102017116081A1 (de) Verfahren und Vorrichtung zum Konfigurieren einer Ausführungseinrichtung und zum Erkennen eines Betriebszustands derselben
EP3629177B1 (de) Verfahren zum überprüfen eines betriebs eines elektronischen datenverarbeitungsmittels
DE102022201857A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE202021105594U1 (de) System zur automatischen Auswahl und/oder Bewertung mindestens eines KI-Moduls und zur Klassifikation und/oder Regression von Eingangsdaten, ein computerlesbares Speichermedium und ein System zur Klassifikation und/oder Regression von Eingangsdaten
DE102020118479A1 (de) Verfahren zum Ermöglichen einer automatischen Evaluierung eines aktuellen Software-Sicherheitsstatus und Datenverarbeitungseinrichtung