DE102022122008A1 - Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium - Google Patents

Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium Download PDF

Info

Publication number
DE102022122008A1
DE102022122008A1 DE102022122008.7A DE102022122008A DE102022122008A1 DE 102022122008 A1 DE102022122008 A1 DE 102022122008A1 DE 102022122008 A DE102022122008 A DE 102022122008A DE 102022122008 A1 DE102022122008 A1 DE 102022122008A1
Authority
DE
Germany
Prior art keywords
control circuit
attribute
logging data
operating
configuration
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
DE102022122008.7A
Other languages
English (en)
Inventor
Denis Kiselev
Klaus Kunze
Frank Pelster
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.)
Cariad SE
Original Assignee
Cariad SE
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 Cariad SE filed Critical Cariad SE
Priority to DE102022122008.7A priority Critical patent/DE102022122008A1/de
Publication of DE102022122008A1 publication Critical patent/DE102022122008A1/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben einer Prozessorschaltung (11), die aus mehreren Steuerschaltungen (12) jeweils zumindest einen jeweiligen Protokollierungsdatensatz (23) empfängt, in welchem ein jeweiliger innerer Zustand und/oder ein jeweiliges Fehlerereignis der jeweiligen Steuerschaltung (12) protokolliert ist. Vor und/oder nach dem Abspeichern des jeweiligen empfangenen Protokollierungsdatensatzes (23) wird durch ein Filtermodul (31) zu dem jeweiligen Protokollierungsdatensatz (23) eine jeweilige Betriebskonfiguration (35) ermittelt, in welcher diejenige Steuerschaltung (12), welche den Protokollierungsdatensatz (23) erzeugt hat, bis zu einem Auslösen des Protokollierungsdatensatzes (23) betrieben wurde, und der Protokollierungsdatensatz (23) wird gelöscht, falls als Betriebskonfiguration (35) eine vorgegebene unzulässig Konfiguration ermittelt wird.

Description

  • Die Erfindung betrifft ein Verfahren zum Betreiben einer Prozessorschaltung, mittels welcher aus mehreren unterschiedlichen Steuerschaltungen jeweils zumindest ein Protokollierungsdatensatz empfangen wird, der beispielsweise ein Fehlerereignis oder einen inneren Zustand der jeweiligen Steuerschaltung beschreiben kann. Eine solche Konstellation, in welcher eine zentrale Prozessorschaltung Protokollierungsdatensätze aus mehreren Steuerschaltungen empfängt, kann sich beispielsweise bei einem Hersteller von Kraftfahrzeugen ergeben, der aus Steuerschaltungen unterschiedlicher Kraftfahrzeuge jeweilige Protokollierungsdatensätze in einem die Prozessorschaltung aufweisenden zentralen stationären Server sammelt, um anhand der gesammelten Protokollierungsdatensätze beispielsweise Fehleranalysen durchführen zu können. Zu der Erfindung gehören auch die Prozessorschaltung sowie ein System, umfassend eine solche Prozessorschaltung und die beschriebenen Steuerschaltungen, sowie auch ein computerlesbares Speichermedium, um eine Prozessorschaltung mittels des Verfahrens betreiben zu können.
  • Beim Entwickeln von Software für Steuerschaltungen ist man daran interessiert, unvorhergesehene Betriebsereignisse oder Zustände der Software analysieren zu können, wie sie sich bei Probeläufen im Labor oder im Feldbetrieb der Steuerschaltungen ergeben können. Hierzu kann eine Steuerschaltung in Abhängigkeit von einem Auslöseereignis, beispielsweise einem Fehlersignal und/oder zu vorbestimmten Zeitpunkten und/oder (mittels Geofence) in vorbestimmten geographischen Regionen einen jeweiligen Protokollierungsdatensatz erzeugen, der einen inneren Zustand der Steuerschaltung und/oder das auslösende Fehlerereignis protokolliert. Als Steuerschaltung kann gemäß einem hier erörterten Aspekt ein Steuergerät in einem Kraftfahrzeug vorgesehen sein. Zum Erzeugen von Protokollierungsdatensätzen muss aber ein Steuergerät nicht unbedingt bereits in einem Kraftfahrzeug betrieben werden, es kann gemäß einem weiteren Aspekt beispielsweise auch ein Steuergerät in einem Labor oder in einem Versuchsaufbau betrieben werden und auch hier kann das Erzeugen eines Protokollierungsdatensatzes vorteilhaft sein.
  • Um beispielsweise für eine statistische Analyse und/oder für einen Überblick möglicher vorhandener Protokollierungsdatensätze einen zentralen Abrufort zu schaffen, kann ein Datenpool vorgesehen sein, in welchem die Protokollierungsdatensätze aus mehreren unterschiedlichen Steuerschaltungen gesammelt werden. Hierzu können die Steuerschaltungen über eine jeweilige Datenverbindung, beispielsweise eine Internetverbindung und/oder eine Funkverbindung und/oder über ein kabelgebundenes und/oder kabelloses Datennetzwerk mit einer zentralen Prozessorschaltung gekoppelt sein, die beispielsweise eine Datenbank und/oder ein Dateisystem zum Speichern der Protokollierungsdatensätze betreiben kann. Aus dem Datenpool können dann gezielt mittels eines Suchmoduls durch Einstellen oder Vorgeben einer jeweiligen Suchkonfiguration gespeicherte Protokollierungsdatensätze wieder herausgesucht werden, die ein durch die Suchkonfiguration bestimmtes Suchkriterium erfüllen. Durch die Suchkonfiguration kann angegeben werden, welche Ereignisklasse gesucht werden, also welcher Typ von innerem Zustand und/oder welches Fehlereignis durch den Protokollierungsdatensatz beschrieben sein soll.
  • In einem solchen System kann sich allerdings bei einem großen Umfang der Menge der betriebenen Steuerschaltungen (z.B. bei mehr als 500 oder mehr als 1000) ein solcher Datenpool dann als nur bedingt taugliche Informationsquelle über die Steuerschaltungen erweisen, wenn auch Protokollierungsdatensätze darin enthalten sind, die zwar eine gesuchte oder mittels der Filterkonfiguration vorgegebene Ereignisklasse beschreiben, beispielsweise ein bestimmtes Fehlereignis (z.B. Speicherzugriffsfehler) und/oder einen bestimmten inneren Zustand (z.B. Überhitzung), hierbei aber der Auslöser für den Protokollierungsdatensatz eine unzulässige Konfiguration der Steuerschaltung ist, die für die Analyse z.B. uninteressant ist, weil die Steuerschaltung derart manipuliert wurde, dass sie ohnehin für die Analyse ihres inneren Zustands und/oder der Fehlereignisse ungeeignet ist. Mit anderen Worten kann es beim Suchen in dem Datenpool nach Protokollierungsdatensätzen einer bestimmten Ereignisklasse zu einer unerwünscht großen Anzahl von falschen Treffern (false hit, false alarm) kommen, wenn in dem Datenpool auch Protokollierungsdatensätze solcher Steuerschaltungen berücksichtigt werden, die unzulässig konfiguriert sind.
  • Allerdings lassen sich solche Steuerschaltungen nicht im Voraus z.B. anhand ihrer Gerätenummer ausschließen, da bei der Entwicklung von Steuerschaltungen diese teilweise nur temporär in einer unzulässigen Konfiguration betrieben werden, ansonsten aber in einer zulässigen Konfiguration, so dass die von Ihnen erzeugten Protokollierungsdatensätze in letzterem Fall dann nützlich für das Sammeln oder Speichern im Datenpool sein können. Genauso kann es mit bereits in einem Kraftfahrzeug oder allgemein bei einem Benutzer betriebenen Steuerschaltungen sein, dass diese in einer zulässigen Konfiguration betrieben werden können, so lange bis der Benutzer beispielsweise eine Manipulation an der Steuerschaltung vornimmt, z.B. ein Chip-Tuning. Ab diesem Zeitpunkt oder ab Wirksamwerden der Manipulation sollten dann Protokollierungsdatensätze aus der manipulierten Steuerschaltung aus dem Datenpool ferngehalten werden, da deren Protokollierungsdatensätze ihren Ursprung auch in der Manipulation haben können, und damit für das Analysieren eines Betriebs der Steuerschaltungen uninteressant sind.
  • Die US 2021/398684 A1 zeigt ein System und ein Verfahren zur automatisierten Kontakt nachverfolgung. Das System schließt Daten von nicht vertrauenswürdigen oder unbekannten Geräten aus einer Gruppe von Geräten von einer Analyse durch einen Analyse-Server aus.
  • Der Erfindung liegt die Aufgabe zugrunde, für eine Analyse einer Betriebsweise von Steuerschaltungen aussagekräftige Protokollierungsdatensätze für die Weiterentwicklung der Steuerschaltungen systematisch zugänglich zu machen.
  • Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterentwicklungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figur beschrieben.
  • Als eine Lösung umfasst die Erfindung ein Verfahren zum Betreiben einer Prozessorschaltung. Eine solche Prozessorschaltung kann beispielsweise durch einen stationären Server implementiert sein, wie er beispielsweise als Server des Internets betrieben werden kann. Im Zusammenhang mit Steuerschaltungen für Kraftfahrzeuge kann es sich bei einer solchen Prozessorschaltung beispielsweise um ein so genanntes Backend für mehrere Kraftfahrzeuge handeln, in denen jeweils zumindest eine der Steuerschaltungen enthalten ist oder verbaut ist.
  • In der Prozessorschaltung wird bei dem Verfahren durch ein Empfangsmodul aus mehreren der Steuerschaltungen über eine jeweilige Datenverbindung jeweils zumindest ein jeweiliger Protokollierungsdatensatz empfangen. Das Empfangsmodul kann beispielsweise als eine Software ausgestaltet sein, die durch die Prozessorschaltung betrieben wird. Das Empfangsmodul kann aber beispielsweise auch einen Netzwerk-Controller (NIC - Network Interface Controller) umfassen, um die Prozessorschaltung an ein Datennetzwerk, beispielsweise das Internet, anzukoppeln, über welches die Datenverbindungen geführt sind. Bei dem Verfahren ist insbesondere vorgesehen, dass aus mindestens 50 Steuerschaltungen, insbesondere mehr als 250 Steuerschaltungen, jeweils zumindest ein Protokollierungsdatensatz empfangen wird, es also um eine entsprechend große Anzahl an Protokollierungsdatensätzen geht, so dass es insbesondere notwendig ist zu unterscheiden, ob es sich um valide Protokollierungsdatensätze aus einer zulässigen Konfiguration der Steuerschaltung oder um invalide Protokollierungsdatensätze aus einer jeweiligen Steuerschaltung in unzulässiger Konfiguration handelt. In dem jeweiligen Protokollierungsdatensatz ist in der beschriebenen Weise ein jeweiliger innerer Zustand und/oder ein jeweiliges Fehlereignis der jeweiligen Steuerschaltung protokolliert. Ein „innerer Zustand“ kann beispielsweise durch einen so genannten Stack-Trace, also eine Zustandsbeschreibung eines Software-Prozesses der Steuerschaltung, und/oder eine Log-Datei handeln, um nur Beispiele zu nennen. Ein Protokollierungsdatensatz kann beispielsweise auch einen Hash-Wert eines Datensatzes angeben, so dass verifiziert ist, in welcher Version ein Datensatz in der Steuerschaltung vorliegt. Ein Protokollierungsdatensatz kann beispielsweise auch eine Statusinformation über einen Betriebsstatus der Steuerschaltung enthalten, z.B. eine Temperatur und/oder eine Auslastung eine vorgegebenen Ressource (z.B. der CPU). Ein Fehlereignis kann beispielsweise durch einen Laufzeitfehler in der Steuerschaltung ausgelöst werden, beispielsweise einen unzulässigen Speicherzugriff und/oder ein Fehlersignal aus einer Hardware der Steuerschaltung.
  • Durch die zentrale oder sammelnde Prozessorschaltung werden zumindest einige der empfangenen Protokollierungsdatensätze in dem beschriebenen Datenpool abgespeichert, also beispielsweise in einer Datenbank und/oder einem Dateisystem, um nur beispielhafte Speichertechnologien zu nennen. Nach dem Abspeichern können dann bei dem Verfahren aus dem Datenpool durch ein Suchmodul, also beispielsweise durch eine weitere Software, solche der gespeicherten Protokollierungsdatensätze wieder herausgesucht und bereitgestellt werden, die zumindest eine durch eine Suchkonfiguration vorgegebene Ereignisklasse protokollieren. Der Begriff „Ereignisklasse“ ist hier verwendet, um von deren konkreten in den Protokollierungsdatensätzen beschriebenen inneren Zustand und/oder Fehlereignis zu unterscheiden. Während beispielsweise eine Ereignisklasse „Stack-Trace der Software X der Steuerschaltung“ sein kann, kann ein Protokollierungsdatensatz nur den entsprechenden konkreten (einmaligen) Stack-Trace der Software X einer spezifischen Steuerschaltung beschreiben. Als weiteres Beispiel kann eine Ereignisklasse allgemein beispielsweise „Speicherzugriffsfehler“ angeben, während dann in den Protokollierungsdatensätzen nur konkrete Speicherzugriffsfehler beschrieben sein können, beispielsweise Speicherzugriffsfehler der Software Y beim Zugriff auf Datei Z, um nur ein Beispiel zu nennen. Ein Fachmann kann durch die Suchkonfiguration also vorgeben, welche Ereignisklasse er sucht und das Suchmodul wird dann in dem Datenpool gespeicherte Protokollierungsdatensätze heraussuchen, deren Inhalt in Bezug auf den inneren Zustand und/oder Fehlereignis der vorgegebenen Ereignisklasse entspricht.
  • Hierbei soll die Anzahl an „Falls-Hits“ oder falscher Treffer gering gehalten werden. Das sind solche Protokollierungsdatensätze als Suchergebnis des Suchmoduls, die zwar die gesuchte Ereignisklasse beschreiben, aber dahingehend nicht aussagekräftig sind, als dass die zugehörige Steuerschaltung, von welcher der Protokollierungsdatensatz stammt, vom Benutzer der Steuerschaltung manipuliert wurde und/oder eine nur experimentelle Software auf der Steuerschaltung probeweise läuft, und somit der Protokollierungsdatensatz nicht repräsentativ für den Entwicklungsstand der Steuerschaltung insgesamt ist.
  • Es ist daher vorgesehen, dass vor und/oder nach dem Abspeichern des jeweiligen empfangenen Protokollierungsdatensatzes durch ein Filtermodul zu dem jeweiligen Protokollierungsdatensatz, der empfangen wurde und/oder bereits im Datenpool abgespeichert wurde, eine jeweilige Betriebskonfiguration ermittelt wird, in welcher diejenige Steuerschaltung, welche den Protokollierungsdatensatz erzeugt hat, bis zum Auslösen des Protokollierungsdatensatzes betrieben wurde. Das Filtermodul berücksichtigt also den Betriebszustand der Steuerschaltung, wie er vor dem Auslöseereignis für den Protokollierungsdatensatz vorlag.
  • Das Filtermodul reagiert somit dynamisch auf die Protokollierungsdatensätze, indem es auf die Betriebskonfiguration der erzeugenden Steuerschaltung reagiert. Das Filtermodul berücksichtigt, unter welchen Betriebsbedingungen die Steuerschaltung betrieben wurde, also welche Betriebskonfiguration vorlag, als es zu dem Auslöseereignis für den Protokollierungsdatensatz kam. Durch das Filtermodul wird der Protokollierungsdatensatz unabhängig von der darin protokollierten Ereignisklasse gelöscht, falls als Betriebskonfiguration eine vorgegebene unzulässige Konfiguration ermittelt wird. Entsprechend oder anders herum wird durch das Filtermodul der Protokollierungsdatensatz in dem Datenpool gespeichert gehalten oder zugelassen, falls eine vorgegebene zulässige Konfiguration als Betriebskonfiguration ermittelt wird. Durch Definieren von „unzulässigen Konfigurationen“ und/oder „zulässigen Konfigurationen“ kann der Fachmann also mittels des Filtermoduls in dem Datenpool dafür sorgen, dass nur solche Protokollierungsdatensätze dem Suchmodul zugeführt werden, die auch von Steuerschaltungen erzeugt wurden, die sich in einer Betriebskonfiguration befanden oder betrieben wurden, die als zulässige Konfiguration oder als nichtunzulässige Konfiguration definiert ist.
  • Durch die Erfindung ergibt sich der Vorteil, dass die Anzahl von Protokollierungsdatensätzen in dem Datenpool gering gehalten wird, welche als Ursache eine unzulässige Konfiguration des Betriebs der Steuerschaltung aufweisen können. Zwar muss eine unzulässige Konfiguration nicht zwangsweise Ursache eines Protokollierungsdatensatzes einer bestimmten Ereignisklasse sein, aber es wird in dem Datenpool zumindest dafür gesorgt, dass die Betriebskonfiguration der Steuerschaltung bis zum Auslösen des Protokollierungsdatensatzes eine zulässige Konfiguration war und somit eine Aussagekraft des Protokollierungsdatensatzes dahingehend erhalten ist oder geprüft ist, dass lediglich Steuerschaltungen in vertrauenswürdiger oder zulässiger Betriebskonfiguration zugrunde gelegt sind. Hierzu wird eine technische Analyse der Steuerschaltungen vorgeschaltet, um deren Betriebskonfiguration oder deren Betriebszustand zu ermitteln, bevor ein aus dieser Steuerschaltung empfangener Protokollierungsdatensatz in den Datenpool zum Versorgen des Suchmoduls bereitgestellt oder gespeichert gehalten wird.
  • Die Erfindung umfasst auch Weiterentwicklungen, durch die sich zusätzliche Vorteile ergeben.
  • Das Filtermodul kann beispielsweise eine Software der Prozessorschaltung sein. Das Filtermodul kann bereits beim Empfangen und vor dem Abspeichern des jeweiligen Protokollierungsdatensatzes diesen filtern und/oder (beispielsweise zum zyklischen Bereinigen des Datenpools) auch nach dem Abspeichern eines Protokollierungsdatensatzes auf diesen angewendet werden. Beispielsweise kann das Filtermodul zu vorgegebenen Zeitpunkten oder Zeitbereichen, beispielsweise nachts, auf den Datenpool angewendet werden.
  • Mehrere Weiterentwicklungen betreffen die Frage, wie eine Betriebskonfiguration einer Steuerschaltung ermittelt werden kann.
  • Gemäß einer Weiterentwicklung werden durch das Filtermodul für das Ermitteln der Betriebskonfiguration jeweilige Attributdaten der Steuerschaltung ermittelt, wobei die Attributdaten zumindest ein vorgegebenes Betriebsattribut, das die Steuerschaltung vor dem Auslösen, also vor der Ursache der Erzeugung des Protokollierungsdatensatzes aufwies, signalisieren. Das Betriebsattribut lag also vor oder wird ermittelt, bevor der Auslöser der Erzeugung des Protokollierungsdatensatzes, also das Auslöseereignis, wie beispielsweise ein Fehlersignal oder ein Timer, aktiv wurde oder vorhanden war. Beispielsweise kann ein jeweils aktueller Wert des Betriebsattributs zyklisch in einem Datenspeicher, z.B. in einer Ringspeicherstruktur, hinterlegt werden, z.B. mit jeweiligem Zeitstempel, falls es sich um eine zeitveränderliches Betriebsattribut handelt.
  • Zumindest für den Fall, dass das Filtermodul detektiert, dass das zumindest eine Betriebsattribut mit zumindest einem vorgegebenen Ausschlussattribut übereinstimmt (z.B. mit einer bestimmten Versionsnummer und/oder in einem vorgegebenen Werteintervall lieg), wird dann eine unzulässige Konfiguration erkannt oder diagnostiziert. Andernfalls, falls also kein Ausschlussattribut erkannt wird, kann dann eine zulässige Konfiguration erkannt werden, falls der Fachmann beispielsweise keine weitere Randbedingung vorgibt. Somit kann also gezielt nach zumindest einem vorbestimmten Betriebsattribut in der Steuerschaltung gesucht werden oder dieses ermittelt werden, und dieses mit einem jeweiligen Ausschlussattribut verglichen werden. Hierbei ist einem Betriebsattribut beispielsweise jeweils ein korrespondierendes oder in Frage kommendes Ausschlussattribut zugeordnet, wie dies im Weiteren noch beschrieben wird.
  • So sieht eine Weiterentwicklung vor, dass als Betriebsattribut zumindest eine vorgegebene Betriebsmittel-Auslastung oder Betriebsmittel-Last in der Steuerschaltung umfasst ist oder ermittelt wird und/oder als zugeordnetes Ausschlussattribut vorgegeben ist, dass die jeweilige Betriebsmittel-Last oder Betriebsmittel-Auslastung größer als ein vorbestimmter Schwellenwert ist. Also die zumindest eine Betriebsmittel-Last oder Betriebsmittel-Auslastung ist insbesondere zumindest eine der folgenden vorgesehen oder ermittelt: Eine CPU-Last (beispielsweise angegeben als so genannter Load-Wert) und/oder als Prozent-Angabe einer maximal möglichen Rechenlast (0 Prozent entspricht dann Idle-Zyklen). Zusätzlich oder alternativ dazu kann als Betriebsmittel-Last eine Speicherauslastung (Prozent der Speicherkapazität beispielsweise des Arbeitsspeichers und/oder eines nicht-volatilen Speichers) ermittelt werden. Zusätzlich oder alternativ dazu kann als Betriebsmittel-Last ein Netzwerkverkehr ermittelt werden (Datenmenge pro Zeiteinheit, die über einen Netzwerkanschluss der Steuerschaltung übertragen wird). Es hat sich herausgestellt, dass diese Betriebsattribute zu Protokollierungsdatensätzen führen, die für den typischen oder repräsentativen Betrieb einer Steuerschaltung nicht aussagekräftig sind und eine Extremsituation darstellen. Hier ergeben sich beispielsweise Fehlereignisse in einer Steuerschaltung, die nicht auf einen Fehler in der Steuerschaltung selbst zurückzuführen sind, beispielsweise insbesondere nicht auf eine bestimmte Software in der Steuerschaltung, sondern von außen induziert sind oder von außen verursacht sind, also nicht innerhalb der Software, sondern außerhalb der Software in der Steuerschaltung, weil eine Betriebsmittel-Last oberhalb des Schwellenwerts lag. Hier würde sich beispielsweise ein Fehlereignis in einer Software als falscher-Alarm herausstellen, was nicht in dem Datenpool protokolliert werden sollte. Eine Betriebsmittel-Last kann beispielsweise von einem Betriebssystem einer Steuerschaltung und/oder von einer CPU der Steuerschaltung abgefragt werden.
  • Gemäß einer Weiterentwicklung ist als Betriebsattribut eine Ladekonfiguration umfasst, die angibt, aus welcher Datenquelle eine oder einige oder jede auf der Steuerschaltung ausgeführte Software geladen wurde. Dies kann beispielsweise anhand eines Dateipfads einer Binärdatei der jeweiligen Software ermittelt werden. Als zugeordnetes Ausschlussattribut kann entsprechend vorgesehen sein, dass die Datenquelle von einer als unzulässig vorgegebenen Fremddatenquelle geladen wurde. In einer Steuerschaltung kann beispielsweise vorgesehen sein, eine zulässige Partition und eine Neben-Partition für versuchsweises Installieren einer alternativen Version von Software bereitzustellen. Das Laden von dieser alternativen Partition wird auch als „Side Loading“ bezeichnet. Findet ein solches Side-Loading statt, so kann davon ausgegangen werden, dass die geladene Software sich in einem Versuchsstadium befindet oder eine Versuchsversion ist, und somit von ihr ausgelöste Protokollierungsdatensätze oder ihr zugrunde liegende Protokollierungsdatensätze nicht im Datenpool vorhanden sind, weil sie nicht repräsentativ für den Entwicklungsstand der Software oder der Steuerschaltung sein müssen. Ein Side-Loading kann beispielsweise daran erkannt werden, welche Partition ein Betriebssystem der Steuerschaltung aktuell gemountet oder eingehängt hat, um ein Dateisystem zu erhalten.
  • Eine Weiterentwicklung umfasst, dass als Betriebsattribut eine Software umfasst ist, die auf der Steuerschaltung ausgeführt wird. Um also nicht indirekt die Software-Version durch Ermitteln der Datenquelle zu ermitteln, kann auch die Software-Version einer Software direkt abgefragt oder ermittelt werden. Dies kann beispielsweise durch eine Versionsauskunft von der Software selbst abgefragt werden. Als zugehöriges Ausschlussattribut kann dann vorgesehen sein, dass die Software als Testversion markiert ist. Beispielsweise kann ein Entwickler auf einer der Steuerschaltungen probeweise eine Software starten, die er dann entsprechend als Testversion markiert, was auch als „Tainted“ Software bezeichnet ist. Wird dann ein Protokollierungsdatensatz ausgelöst, so kann hierbei sichergestellt werden, dass dieser nicht im Datenpool auch von dem Software-Modul aufgegriffen oder gefunden wird.
  • Gemäß einer Weiterentwicklung wird als Betriebsattribut ein Umgebungsattribut der Steuerschaltung ermittelt, wobei das Umgebungsattribut einen Betriebsablauf der Steuerschaltung auf eine von mehreren für die Steuerschaltung möglichen Betriebsumgebungen abstimmt. Eine Steuerschaltung kann dahingehend generalisiert oder verallgemeinert werden, dass sie in unterschiedlichen Betriebsumgebungen, beispielsweise unterschiedlichen Fahrzeugtypen, verbaut werden kann. Um eine Steuerschaltung dann konkret auf denjenigen Fahrzeugtyp abzustimmen, in welchen sie eingebaut werden soll, kann ihr Umgebungsattribut festgesetzt oder festgelegt oder eingestellt werden. Hierdurch ergeben sich dann je nach Wert des Umgebungsattributs andere Abläufe in der Betriebsweise der Steuerschaltung, weil beispielsweise andere Verzweigungen im Programmcode zumindest einer Software der Steuerschaltung durchlaufen werden (so genannte IF-Anweisung und/oder Case-Anweisung, um nur Beispiele zu nennen). Das zugeordnete Ausschlussattribut kann dann vorgeben, dass das Umgebungsattribut eine vorgegebene Testumgebung und/oder eine vorgegebene Ausschlussumgebung angibt oder signalisiert. Somit können also solche Steuerschaltungen beziehungsweise deren Protokollierungsdatensätze aus dem Datenpool ausgeschlossen werden, die in einer Testumgebung und/oder einer Ausschlussumgebung, beispielsweise einem bestimmten Fahrzeugtypen, betrieben wurden, als es zum Auslösen der Erzeugung des Protokollierungsdatensatzes kam. Anhand des Umgebungsattributs kann somit auf die Betriebsumgebung rückgeschlossen werden, ohne dass aufwendige Umgebungserkennungen betrieben werden müssen.
  • Eine weitere Weiterentwicklung verhindert, dass auch solche Protokollierungsdatensätze berücksichtigt werden, die zwar Fehlereignisse beschreiben, bei denen es sich aber lediglich um Folgefehler handelt, so dass nur der initiale Fehler oder das initiale Fehlereignis in dem Datenpool durch einen Protokollierungsdatensatz protokolliert oder enthalten sein sollte. Bei dieser Weiterentwicklung ist als Betriebsattribut ein Fehlereintrag ermittelt, der ein Fehlereignis protokolliert, das in der Vergangenheit in dem Steuergerät stattfand und welches in dem fraglichen Protokollierungsdatensatz aber unprotokolliert ist (initiales Fehlerereignis). Während der Protokollierungsdatensatz also ein Fehlereignis beschreiben kann, bei dem es sich um einen Folgefehler handelt, ist das eigentliche initiale Fehlereignis, das zuvor stattfand, in dem Protokollierungsdatensatz nicht enthalten, aber dennoch für diesen aufgrund des Folgefehlers verantwortlich oder die Ursache. Entsprechend kann das zugeordnete Ausschlussattribut vorgeben, dass der Fehlereintrag ein vorgegebener Folgefehlerauslöser ist. Somit hat also ein Fachmann mittels des Verfahrens die Möglichkeit, festzulegen, dass für Fehlereignisse, von denen bekannt ist, dass sie Folgefehler auslösen, diese als Betriebsattribut signalisiert werden, also die Steuerschaltung in Betrieb war oder weiter betrieben wurde, nachdem es zu einem solche initialen Fehlereignis kam, von dem bekannt ist, das es Folgefehler auslöst. Protokollierungsdatensätze zu Folgefehlern können dann herausgefiltert werden. Ein solches initiales Fehlereignis kann beispielsweise aus einem Fehlerspeicher eines Kraftfahrzeugs oder der Steuerschaltung ausgelesen werden oder darin gefunden oder detektiert werden.
  • Wie bereits ausgeführt, kann eine Steuerschaltung zeitweise in einer zulässigen Konfiguration und zeitweise in einer unzulässigen Konfiguration betrieben werden, so dass gemäß einer Weiterentwicklung insbesondere bei dem Filtermodul das Löschen unabhängig davon ausgeführt wird, welche Hardware-ID (Gerätenummer) und/oder welche Typdaten die jeweilige Steuerschaltung aufweist. Eine Steuerschaltung wird also insbesondere oder bevorzugt nicht pauschal dahingehend durch das Filtermodul ausgeschlossen, dass keiner ihrer Protokollierungsdatensätze in den Datenpool gespeichert gehalten wird. Vielmehr ist vorgesehen, dass von ein und derselben Steuerschaltung zumindest ein Protokollierungsdatensatz gelöscht wird, weil zu diesem eine unzulässige Konfiguration der Steuerschaltung erkannt wird, und zumindest ein Protokollierungsdatensatz gespeichert gehalten wird oder das Speichern zugelassen wird, weil eine zulässige Konfiguration der zugehörigen Steuerschaltung erkannt wird. Das Filtermodul reagiert also insbesondere dynamisch auf den aktuellen Betriebszustand oder die aktuelle Betriebskonfiguration der Steuerschaltung zu dem Zeitpunkt, als es zum Auslösen der Erzeugung des Protokollierungsdatensatzes kam.
  • Gemäß einer Weiterentwicklung werden durch das Filtermodul zum Ermitteln der Betriebskonfiguration jeweils die Betriebskonfiguration beschreibende und von der jeweiligen Steuerschaltung erzeugte Konfigurationsdaten aus der jeweiligen Steuerschaltung empfangen. Mit anderen Worten kann die Steuerschaltung ihre Konfigurationsdaten, welche die aktuelle Betriebskonfiguration beschreiben, zusammen mit dem Protokollierungsdatensatz oder sogar beispielsweise als Metadaten integriert in dem Protokollierungsdatensatz an die Prozessorschaltung signalisieren. Alternativ dazu kann in der jeweiligen Steuerschaltung beispielsweise auch ein Software-Modul betrieben werden, welches die jeweils aktuelle Betriebskonfiguration ermittelt oder beobachtet und bei Aussenden eines Protokollierungsdatensatzes durch die Steuerschaltung die zugehörigen Konfigurationsdaten an die Steuerschaltung sendet.
  • Für Anwendungsfälle oder Anwendungssituationen, die sich bei dem Verfahren ergeben können und die hier nicht explizit beschrieben sind, kann vorgesehen sein, dass gemäß dem Verfahren eine Fehlermeldung und/oder eine Aufforderung zur Eingabe einer Nutzerrückmeldung ausgegeben und/oder eine Standardeinstellung und/oder ein vorbestimmter Initialzustand eingestellt wird.
  • Um das Verfahren zu implementieren, ist durch die Erfindung auch eine Prozessorschaltung als eine Lösung bereitgestellt. Die Prozessorschaltung weist die beschriebenen drei Module auf, das heißt das Empfangsmodul zum Empfangen von Protokollierungsdatensätzen aus Steuerschaltungen über Datenverbindungen, das Suchmodul zum Suchen von gespeicherten Protokollierungsdatensätzen in dem Datenpool und das Filtermodul zum Löschen von Protokollierungsdatensätzen, die aus Steuerschaltungen stammen, die sich in einer unzulässigen Konfiguration betreffend die Betriebskonfiguration befanden. Die Prozessorschaltung ist dazu eingerichtet, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Die beschriebenen Module können in der beschriebenen Weise jeweils durch einen Software-Code oder ein Programm-Modul implementiert sein.
  • Die Prozessorschaltung kann hierzu zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Des Weiteren kann die Prozessorschaltung Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessorschaltung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessorschaltung gespeichert sein. Die Prozessorschaltung der Prozessorschaltung kann z.B. zumindest eine Schaltungsplatine und/oder zumindest ein SoC (System on Chip) aufweisen.
  • Als eine weitere Lösung umfasst die Erfindung auch ein computerlesbares Speichermedium, umfassend Programmcode, der bei der Ausführung durch eine Prozessorschaltung eines Computers oder eines Computerverbunds diese veranlasst, eine Ausführungsform des erfindungsgemäßen Verfahrens auszuführen. Das Speichermedium kann z.B. zumindest teilweise als ein nichtflüchtiger Datenspeicher (z.B. als eine Flash-Speicher und/oder als SSD - solid state drive) und/oder zumindest teilweise als ein flüchtiger Datenspeicher (z.B. als ein RAM - random access memory) bereitgestellt sein. Das Speichermedium kann in der Prozessorschaltung in deren Datenspeicher angeordnet sein. Das Speichermedium kann aber auch beispielsweise als sogenannter Appstore-Server im Internet betrieben sein. Durch den Computer oder Computerverbund kann eine Prozessorschaltung mit zumindest einem Mikroprozessor bereitgestellt sein. Der Programmcode können als Binärcode oder Assembler und/oder als Quellcode einer Programmiersprache (z.B. C) und/oder als Programmskript (z.B. Python) bereitgestellt sein.
  • Durch die Erfindung ist auch ein System als Lösung angegeben oder beschrieben, welches eine Ausführungsform der erfindungsgemäßen Prozessorschaltung aufweist und welches auch die Steuerschaltungen umfasst, die über eine jeweilige Datenverbindung mit der Prozessorschaltung gekoppelt sind, also beispielsweise über eine Internetverbindung und/oder eine Funkverbindung, um nur Beispiele zu nennen. Die jeweiligen Steuerschaltungen können in der beschriebenen Weise dazu eingerichtet sein, ihre jeweils aktuelle Betriebskonfiguration zu ermitteln, wenn es zum Auslösen der Erzeugung eines Protokollierungsdatensatzes kommt, weil beispielsweise ein Fehlersignal oder ein Timersignal das Erzeugen eines aktuellen Protokollierungsdatensatzes erfordert. Das Erzeugen von Protokollierungsdatensätzen ist an sich aus dem Stand der Technik für Steuerschaltungen bekannt, indem beispielsweise Stack-Traces und/oder Lock-Dateien als Protokollierungsdatensätze bereitgestellt werden. Die Steuerschaltungen können jeweils dazu eingerichtet sein, dass eines oder mehrere der beschriebenen Betriebsattribute zu ermitteln und an die Prozessorschaltung durch die beschriebenen Konfigurationsdaten oder als die beschriebenen Konfigurationsdaten zu signalisieren.
  • Bei der Erfindung ist insbesondere vorgesehen, dass die Steuerschaltungen jeweils als Steuergerät für ein Kraftfahrzeug ausgestaltet sein können. Diese Steuerschaltungen können jeweils in eines aus mehreren unterschiedlichen Kraftfahrzeugen einer Fahrzeugflotte installiert sein oder angeordnet sein und/oder zumindest einige der Steuerschaltungen oder einige Steuerschaltungen können zusätzlich oder alternativ in einem Labor in einer jeweiligen Testumgebung betrieben werden. Die Prozessorschaltung selbst kann als der beschriebene stationäre Server ausgestaltet sein, um Protokollierungsdatensätze aus den Steuerschaltungen zu sammeln und in dem Datenpool bereitzustellen. Der Datenpool kann in der beschriebenen Weise durch eine Datenbank und/oder durch einen Datenspeicher beispielsweise mit Dateisystemen, implementiert sein.
  • Das jeweilige Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.
  • Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.
  • Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt die einzige Figur:
    • Fig. eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Systems.
  • Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
  • In der Figur bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.
  • Die Fig. zeigt ein System 10, welches eine Prozessorschaltung 11 und mehrere Steuerschaltungen 12 umfassen kann, von denen in der Fig. beispielhaft nur zwei dargestellt sind, wobei durch Auslassungspunkte 13 symbolisiert ist, dass noch weitere Steuerschaltungen vorhanden sein können. Eine oder einige oder alle der Steuerschaltungen 12 können jeweils in einem jeweiligen Kraftfahrzeug 14 angeordnet sein. Eine solche Steuerschaltung 12 kann in dem jeweiligen Kraftfahrzeug 14 als Steuergerät ECU betrieben werden, um beispielsweise Messungen mittels zumindest eines Sensors und/oder eine mechanische Steuerung mittels zumindest eines Aktuators und/oder eine Steuerungsfunktion und/oder Regelungsfunktion in dem Kraftfahrzeug 14 auszuführen. Eine Steuerschaltung 12 als ECU kann beispielsweise ein Fahrerassistenzsystem realisieren oder bereitstellen. Eine Steuerschaltung 12 kann zusätzlich oder alternativ dazu in einem jeweiligen Labor 15 beispielsweise zu Entwicklungszwecken von Steuergeräten für Kraftfahrzeug betrieben werden.
  • Die Prozessorschaltung 11 einerseits und die Steuerschaltungen 12 andererseits können über ein Datennetzwerk 16 gekoppelt sein, über welches jeweilige Datenverbindungen 17 jeweils zwischen einer Steuerschaltung 12 und der Prozessorschaltung 11 geführt sein können. Das Datennetzwerk 16 kann beispielsweise zumindest teilweise durch das Internet 18 realisiert sein. Um aus einem Kraftfahrzeug 14 heraus die Datenverbindung 17 von der Steuerschaltung 12 zu der Prozessorschaltung 11 zu führen, kann in dem Kraftfahrzeug 14 eine Kommunikationsschaltung 19 bereitgestellt werden, mittels welcher über eine Funkverbindung 20 die Datenverbindung 17 beispielsweise in ein Mobilfunknetz und/oder in ein WLAN-Funknetz 21 geführt sein kann, wie dies an sich für das Anbinden von Kraftfahrzeugen 14 an das Internet 18 bekannt ist.
  • Durch die Prozessorschaltung 11 kann in einem Datenpool 22 von den Steuerschaltungen 12 jeweils zumindest ein Protokollierungsdatensatz 23 gespeichert werden, in welchem zu der jeweiligen Prozessorschaltung 11 ein jeweiliger innerer Zustand zu einem vorgegebenen Zeitpunkt und/oder ein jeweiliges Fehlereignis, das in der Steuerschaltung stattgefunden hat, protokolliert sein kann. Die Prozessorschaltung kann diesen Datenpool 22 beispielsweise als ein Internetserver oder als ein Rechenzentrum bereitstellen, wie es beispielsweise für ein Entwicklungsunternehmen der Steuerschaltungen 12 nützlich sein kann. Um zu den Steuerschaltungen 12 Analysen betreffend deren Betriebsweise machen zu können, kann in der Prozessorschaltung 11 ein Suchmodul 24 bereitgestellt sein, welchem beispielsweise ein Benutzer des Systems 10 eine Suchkonfiguration 25, beispielsweise Suchbegriffe und/oder Suchdefinitionen, übergeben kann, woraufhin das Suchmodul 24 in dem Datenpool 22 die zu der Suchkonfiguration 25 passenden gespeicherten Protokollierungsdatensätze 23 aus dem Datenpool 22 heraussuchen und als Suchergebnis 26 ausgeben kann, so dass ein Benutzer beispielsweise systematisch bestimmte Fehlereignisse aus dem Datenpool 22 heraussuchen lassen kann. Die Suchkonfiguration 25 allgemein eine Ereignisklasse 27 vorgeben, die beispielsweise angeben kann, dass Fehlerereignisse mit einer vorgegebenen Charakteristik, beispielsweise Fehlereignisse durch Speicherzugriffsfehler, herausgesucht werden sollen. Suchmodule wie das Suchmodul 24 können aus dem Stand der Technik entnommen sein.
  • Um die Protokollierungsdatensätze 23 zu beschaffen, kann in der jeweiligen Steuerschaltung 12 vorgesehen oder implementiert sein, dass in Abhängigkeit von einem jeweiligen Auslöseereignis 28 ein dem Auslöseereignis 28 zugeordneter Protokollierungsdatensatz erzeugt wird, beispielsweise ein Stack-Trace und/oder das Versenden einer Lock-Datei und/oder ein Statusbericht eines Zustands der Steuerschaltung 12. Die übermittelten Protokollierungsdatensätze können durch ein Empfangsmodul 30 in der Prozessorschaltung 11 empfangen werden. Durch das Empfangsmodul 30 kann beispielsweise eine Authentizität der Protokollierungsdatensätze überprüft werden, wie dies an sich beispielsweise im Zusammenhang mit kryptographischer Verschlüsselung und/oder Signierung bekannt ist. Das Empfangsmodul 30 kann dann in einer Variante die empfangenen Protokollierungsdatensätze 23 einem Filtermodul 31 bereitstellen, welches entscheiden kann, ob der empfangene Protokollierungsdatensatz 23 in den Datenpool 22 aufgenommen oder abgespeichert wird. In einer alternativen Variante 32 kann vorgesehen sein, dass das Empfangsmodul 30 die empfangenen Protokollierungsdatensätze zunächst in den Datenpool 22 abspeichert und zu einem späteren Zeitpunkt, beispielsweise zyklisch, beispielsweise während der Nacht, das Filtermodul 31 diejenigen Protokollierungsdatensätze 23 aus dem Datenpool 22 wieder löscht, die (wie in der ersten Variante) nicht in den Datenpool 22 aufgenommen werden sollen.
  • Das Filtermodul 31 kann vorsehen, dass solche Protokollierungsdatensätze 23 nicht im Datenpool 22 enthalten sein sollen, die aus einer Steuerschaltung 12 stammen, die bis zum Erzeugen des Protokollierungsdatensatzes 23 in einer unzulässigen Konfiguration 33 betrieben wurden, zu welcher bekannt ist oder durch einen Fachmann festgelegt wurde, dass Protokollierungsdatensätze aus einer solchen Steuerschaltung aus dem Datenpool 22 ferngehalten werden sollen oder gelöscht werden sollen oder nicht aussagekräftig sind oder für die Weiterentwicklung der Steuerschaltungen 12, das heißt für die Funktionalität des Suchmoduls 24 ungeeignet sind. Das Filtermodul 31 kann zusätzlich oder alternativ dazu anders herum eine positive Liste (White List) von zulässigen Konfigurationen 24 festlegen, die angibt, welche Protokollierungsdatensätze 23 im Datenpool 22 abgelegt werden sollen.
  • Die Konfigurationen 33, 34 beziehen sich dabei nicht auf den Inhalt der Protokollierungsdatensätze 23 selbst. Vielmehr wird durch eine Konfiguration 33, 34 festgelegt, in welcher Betriebsweise und/oder welcher Konfiguration die Steuerschaltung 12 betrieben wurde. Wird eine Steuerschaltung 12 in einem Kraftfahrzeug 14 beispielsweise durch einen Benutzer des Kraftfahrzeugs 14 manipuliert (beispielsweise zum Tuning), so kann es in der Steuerschaltung 12 zu Fehlereignissen und/oder Betriebszuständen (inneren Zuständen) kommen, die in dem Datenpool 22 unprotokolliert bleiben sollen, also keinen Protokollierungsdatensatz erfordern, weil es sich beispielsweise um untypische Zustände und/oder Fehlereignisse handelt. In einem Labor 15 kann eine Steuerschaltung 12 beispielsweise probeweise in einer unzulässigen Konfiguration 23 betrieben werden, so dass ein darauf beruhender Protokollierungsdatensatz 23 im Datenpool 22 ebenfalls unerwünscht ist oder dort nicht gespeichert sein soll.
  • Damit das Filtermodul 31 die jeweilige tatsächliche Betriebskonfiguration 35 ermitteln kann, die mit der unzulässigen Konfiguration 33 und/oder der zulässigen Konfiguration 34 vergleichen werden muss, kann das Filtermodul beispielsweise Attributdaten 36 zumindest ein Betriebsattribut, das die Steuerschaltung vor dem Auslösen der Erzeugung des Protokollierungsdatensatzes 23 jeweils aufwies, ermitteln. Beispielsweise kann das Filtermodul 31 solche Attributdaten 36 aus so genannten Metadaten 38 auslesen, die in dem Protokollierungsdatensatz 23 enthalten sein können.
  • Dies kann beispielsweise dadurch sichergestellt werden, dass die jeweilige Steuerschaltung 12 entsprechend eingerichtet ist. Die Attributdaten 36 können beispielsweise durch die Steuerschaltung 12 beim Start der Steuerschaltung 12, also vor dem Auslösen der Erzeugung des Protokollierungsdatensatzes 23 und/oder beim Auslösen, also beim Auslösesignal oder Auslöseereignis 28, ermittelt werden. Sie können zusätzlich oder alternativ zyklisch erneuert werden, bis zum Auslöseereignis 28, um nur Beispiele zu nennen. Die unzulässige Konfiguration 33 kann beispielsweise dadurch definiert sein, dass entsprechende Ausschlussattribute 40 definiert ein können, das heißt für den Fall, dass die Attributdaten 36 ein entsprechendes Ausschlussattribut 40 signalisieren, der zugehörige Protokollierungsdatensatz 23 der Steuerschaltung 12 gelöscht wird.
  • Indem auf die Betriebskonfiguration 35 geprüft wird durch das Filtermodul 31, kann ein und dieselbe Steuerschaltung 12 sowohl Protokollierungsdatensätze 23 erzeugen, die im Datenpool 22 zulässig sind oder dort gespeichert gehalten werden, als auch Protokollierungsdatensätze 23, die vom Filtermodul 31 gelöscht werden, je nachdem, zu welchem Zeitpunkt, das heißt mit welcher Betriebskonfiguration 35, die Steuerschaltung 12 jeweils betrieben wurde, als der Protokollierungsdatensatz 23 anfiel oder erzeugt wurde.
  • Zum Erzeugen der Attributdaten 36 kann die Steuerschaltung 12 ihre jeweilige Betriebskonfiguration ermitteln oder messen. Es können beispielsweise Zustandsregister in einem Prozessor und/oder einem Mikrocontroller der Steuerschaltung 12 ausgelesen werden und/oder es kann mittels einer Beobachtungsschaltung B Zustandsdaten 41 ermittelt werden, wie es beispielsweise sein kann, indem eine Auslastung eines Arbeitsspeichers der Steuerschaltung 12 durch eine Beobachtungsschaltung B, beispielsweise einen Speichercontroller, ermittelt wird und als Zustandsdaten 41 signalisiert wird. Entsprechende Beobachtungsdaten können die Auslastung eines nicht-volatilen Datenspeichers und/oder einer Prozessorlast sein, um nur weitere Beispiele zu nennen. Es kann auch beispielsweise ermittelt werden, von welcher Datenquelle, beispielsweise welcher Partition eines nicht-volatilen Datenspeichers, eine Software geladen wurde, die in der Steuerschaltung 12 ausgeführt wird. Hier kann in der beschriebenen Weise eine Fremddatenquelle definiert oder vorgegebenen sein, die festlegt, dass für den Fall, dass eine Software aus dieser Fremddatenquelle geladen wurde, ein daraufhin entstehender Protokollierungsdatensatz einer solchen Steuerschaltung 12 ignoriert oder gelöscht werden soll durch das Filtermodul 31. Auch die weiteren bereits beschriebenen Betriebsattribute und zugehörige oder entsprechende Ausschlussattribute können in dem System 10 implementiert sein.
  • Insgesamt zeigen die Beispiele, wie zwischen vertrauenswürdigen und nichtvertrauenswürdigen Protokollierungsdaten unterschieden werden kann.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2021398684 A1 [0006]

Claims (13)

  1. Verfahren zum Betreiben einer Prozessorschaltung (11), wobei in der Prozessorschaltung (11) durch ein Empfangsmodul (30) aus mehreren Steuerschaltungen (12) über eine jeweilige Datenverbindung jeweils zumindest ein jeweiliger Protokollierungsdatensatz (23) empfangen wird, in welchem ein jeweiliger innerer Zustand und/oder ein jeweiliges Fehlerereignis der jeweiligen Steuerschaltung (12) protokolliert ist, und zumindest einige der empfangenen Protokollierungsdatensätze (23) in einem Datenpool (22) abgespeichert werden und nach dem Abspeichern aus dem Datenpool (22) durch ein Suchmodul (24) solche der gespeicherten Protokollierungsdatensätze (23) herausgesucht und bereitgestellt werden, die zumindest eine durch eine Suchkonfiguration (25) vorgegebene Ereignisklasse (27) protokollieren, dadurch gekennzeichnet, dass vor und/oder nach dem Abspeichern des jeweiligen empfangenen Protokollierungsdatensatzes (23) durch ein Filtermodul (31) zu dem jeweiligen Protokollierungsdatensatz (23) eine jeweilige Betriebskonfiguration (35) ermittelt wird, in welcher diejenige Steuerschaltung (12), welche den Protokollierungsdatensatz (23) erzeugt hat, bis zu einem Auslösen des Protokollierungsdatensatzes (23) betrieben wurde, und der Protokollierungsdatensatz (23) unabhängig von der darin protokollierten Ereignisklasse (27) gelöscht wird, falls als Betriebskonfiguration (35) eine vorgegebene unzulässig Konfiguration ermittelt wird, und/oder der Protokollierungsdatensatz (23) in dem Datenpool (22) gespeichert gehalten wird, falls eine vorgegeben zulässige Konfiguration (34) ermittelt wird.
  2. Verfahren nach Anspruch 1, wobei durch das Filtermodul (31) für das Ermitteln der Betriebskonfiguration (35) jeweilige Attributdaten (36) der Steuerschaltung (12) ermittelt werden, wobei die Attributdaten (36) zumindest ein vorgegebenes, eine Betriebsweise der Steuerschaltung (12) charakterisierendes Betriebsattribut, das die Steuerschaltung (12) vor dem Auslösen der Erzeugung des Protokollierungsdatensatzes (23) aufwies, signalisieren, und zumindest für den Fall, dass das Filtermodul (31) detektiert, dass das zumindest eine Betriebsattribut mit zumindest einem vorgegebenen Ausschlussattribut (40) übereinstimmt, die unzulässige Konfiguration (34) (33) erkannt wird.
  3. Verfahren nach Anspruch 2, wobei als Betriebsattribut zumindest eine vorgegebene Betriebsmittel-Last der Steuerschaltung (12) umfasst ist und/oder als zugeordnetes Ausschlussattribut (40) vorgegeben ist, dass die jeweilige Betriebsmittel-Last größer als ein vorbestimmter Schwellenwert ist.
  4. Verfahren nach Anspruch 3, wobei als die zumindest eine Betriebsmittel-Last zumindest eine der folgenden ermittelt wird: eine CPU-Last, eine Speicherauslastung, ein Netzwerkverkehr.
  5. Verfahren nach einem der vorhergehenden Ansprüche 2 bis 4, wobei als Betriebsattribut eine Ladekonfiguration umfasst ist, die angibt, aus welcher Datenquelle eine oder jede auf der Steuerschaltung (12) ausgeführte Software geladen wurde, und/oder als zugeordnetes Ausschlussattribut (40) vorgegeben ist, dass die Datenquelle von einer als unzulässig vorgegebenen Fremddatenquelle geladen wurde.
  6. Verfahren nach einem der vorhergehenden Ansprüche 2 bis 5, wobei als Betriebsattribut eine Softwareversion einer auf der Steuerschaltung (12) ausgeführten Software umfasst ist, und/oder als zugeordnetes Ausschlussattribut (40) vorgegeben ist, dass die Software als Testversion markiert ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche 2 bis 6, wobei als Betriebsattribut ein Umgebungsattribut der Steuerschaltung (12) ermittelt wird, wobei das Umgebungsattribut einen Betriebsablauf der Steuerschaltung (12) auf eine von mehreren für die Steuerschaltung (12) möglichen Betriebsumgebungen abstimmt, und/oder als zugeordnetes Ausschlussattribut (40) vorgegeben ist, dass das Umgebungsattribut eine vorgegebene Testumgebung und/oder eine vorgegebene Ausschlussumgebung angegeben ist.
  8. Verfahren nach einem der vorhergehenden Ansprüche 2 bis 7, wobei als Betriebsattribut ein Fehlereintrag ermittelt wird, der ein Fehlerereignis protokolliert, das in der Vergangenheit in dem Steuergerät stattfand und welches in dem Protokollierungsdatensatz (23) unprotokolliert ist, und/oder als zugeordnetes Ausschlussattribut (40) vorgegeben ist, dass der Fehlereintrag einen vorgegebene Folgefehlerauslöser angibt.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Filtermodul (31) das Löschen unabhängig davon ausführt, welche Hardware-10 und/oder Typdaten die jeweilige Steuerschaltung (12) aufweist und/oder von ein und derselben Steuerschaltung (12) zumindest einen Protokollierungsdatensatz (23) löscht, weil eine unzulässige Konfiguration (34) erkannt wird, und zumindest einen Protokollierungsdatensatz (23) gespeichert lässt, weil eine zulässige Konfiguration (34) erkannt wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei zum Ermitteln der Betriebskonfiguration (35) jeweils die Betriebskonfiguration (35) beschreibende und von der jeweiligen Steuerschaltung (12) erzeugte Konfigurationsdaten aus der jeweiligen Steuerschaltung (12) empfangen werden.
  11. Prozessorschaltung (11) aufweisend ein Empfangsmodul (30), ein Suchmodul (24) und ein Filtermodul (31) und die dazu eingerichtet ist, ein Verfahren nach einem der vorgehenden Ansprüche durchzuführen.
  12. System (10) umfassend eine Prozessorschaltung (11) nach Anspruch 11 und mehrere Steuerschaltungen (12), die über eine jeweilige Datenverbindung mit der Prozessorschaltung (11) gekoppelt sind.
  13. Computerlesbares Speichermedium umfassend Programmcode, der bei Ausführen durch eine Prozessorschaltung (11) eines Computers oder eines Computerverbunds diese veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.
DE102022122008.7A 2022-08-31 2022-08-31 Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium Pending DE102022122008A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022122008.7A DE102022122008A1 (de) 2022-08-31 2022-08-31 Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022122008.7A DE102022122008A1 (de) 2022-08-31 2022-08-31 Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium

Publications (1)

Publication Number Publication Date
DE102022122008A1 true DE102022122008A1 (de) 2024-02-29

Family

ID=89844404

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022122008.7A Pending DE102022122008A1 (de) 2022-08-31 2022-08-31 Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium

Country Status (1)

Country Link
DE (1) DE102022122008A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210398684A1 (en) 2020-06-19 2021-12-23 Pricewaterhousecoopers Llp Systems and methods for automated contact tracing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210398684A1 (en) 2020-06-19 2021-12-23 Pricewaterhousecoopers Llp Systems and methods for automated contact tracing

Similar Documents

Publication Publication Date Title
EP0629773B1 (de) Diagnoseverfahren für Kraftfahrzeuge zum Überprüfen elektronisch gesteuerter Systeme
DE112018004312T5 (de) Fahrzeugdiagnoseapparat, Fahrzeugdiagnosesystem und Fahrzeugdiagnoseprogramm
DE102017113435A1 (de) Fahrzeug-Gateway-Netzwerkschutz
DE112012001923T5 (de) Zur Zusammenarbeit fähiges Multi-Agentensystem zur Fehlerdiagnose an einem Fahrzeug sowie zugehöriges Verfahren
DE112018005352T5 (de) Informationsverarbeitungsvorrichtung, bewegte einrichtung, verfahren und programm
DE102005015664A1 (de) Diagnosesystem zur Bestimmung einer gewichteten Liste möglicherweise fehlerhafter Komponenten aus Fahrzeugdaten und Kundenangaben
DE102016009195B3 (de) Verfahren zum Extrahieren von Fahrzeugdaten aus einem Kraftfahrzeug, Steuervorrichtung und Kraftfahrzeug
DE102016124352A1 (de) Kommunikationssystem und ein in dem Kommunikationssystem ausgeführtes Informationssammelverfahren
DE102015107671A1 (de) Steuerung und Diagnose einer Steuerungs-Wakeup-Funktionalität
EP2770434B1 (de) Verfahren zur Durchführung einer Inventarisierung der an ein Steuergeräte-Testsystem angeschlossenen Hardware-Komponenten
WO2006133865A1 (de) Dynamische priorisierung von prüfschritten in der werkstattdiagnose
WO2015169497A1 (de) Verfahren zur diagnose eines zustands in einem fahrzeug und diagnose-testgerät
DE112012003420B4 (de) Fahrzeugsteuerungsvorrichtung und Fahrzeugsteuerungssystem
DE19827431A1 (de) Verfahren zur Fehlererkennung in einem Prozessorsystem
DE102007006614A1 (de) Anwendung einer verteilten Diagnosearchitektur in AUTOSAR
DE102022122008A1 (de) Prozessorschaltung zum Sammeln von Protokollierungsdatensätzen mehrerer Steuerschaltungen in einem Datenpool, zugehöriges Betriebsverfahren für die Prozessorschaltung, System zum Sammeln von Protokollierungsdatensätzen und computerlesbares Speichermedium
DE102019132679A1 (de) Überwachungsverfahren für cpu-nutzungsmenge im betrieb von fahrzeug-ecu und überwachungseinheit
DE102016216728A1 (de) Fehlerdiagnose in einem Bordnetz
DE112019005132T5 (de) Simultanes testen, ob mehrere über ein kommunikationsnetzwerk verbundene elektronische vorrichtungen ausnahmen korrekt behandeln
DE102018008006A1 (de) Verfahren zur Aufzeichnung von Fahrzeugdaten
DE102023103170A1 (de) Überwachungsvorrichtung und überwachungsverfahren
DE102023103676A1 (de) Angriffswegerstellungsverfahren und Angriffswegerstellungsvorrichtung
DE112018007548B4 (de) Datenkommunikationssteuerungseinrichtung, Datenkommunikationssteuerprogramm und Datensteuerungssystem
DE112016005806T5 (de) Leerlaufstoppsteuerungsvorrichtung und fehlerdiagnosesystem
DE102021212595A1 (de) Verfahren zum Überwachen eines Rechensystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed