DE102020113758A1 - Vergleich von elektronischen steuereinheiten - Google Patents

Vergleich von elektronischen steuereinheiten Download PDF

Info

Publication number
DE102020113758A1
DE102020113758A1 DE102020113758.3A DE102020113758A DE102020113758A1 DE 102020113758 A1 DE102020113758 A1 DE 102020113758A1 DE 102020113758 A DE102020113758 A DE 102020113758A DE 102020113758 A1 DE102020113758 A1 DE 102020113758A1
Authority
DE
Germany
Prior art keywords
file
ecu
messages
data
message
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
DE102020113758.3A
Other languages
English (en)
Inventor
Michael Edward Loftus
Andrew Stephen Barrett
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102020113758A1 publication Critical patent/DE102020113758A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Small-Scale Networks (AREA)
  • Stored Programmes (AREA)

Abstract

Diese Offenbarung stellt einen Vergleich von elektronischen Steuereinheiten bereit. Ein Verfahren beinhaltet ein Auswählen von Nachrichten einer ersten elektronischen Steuereinheit (ECU) aus einer Datenbank gemäß einer vorgegebenen Dateneinheit, für deren Bereitstellung über einen Kommunikationsbus die erste ECU programmiert ist, ein Erzeugen einer ersten Datei der Nachrichten der ersten ECU, ein Sortieren der Nachrichten in der ersten Datei gemäß einer Hierarchie, welche die vorgegebene Dateneinheit beinhaltet, und ein Ausgeben einer dritten Datei, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung betrifft im Allgemeinen elektronische Steuereinheiten von Fahrzeugen.
  • ALLGEMEINER STAND DER TECHNIK
  • Ein erstes Fahrzeug kann eine oder mehrere elektronische Steuereinheiten beinhalten, die eine oder mehrere Fahrzeugkomponenten betreiben und/oder überwachen können. Die elektronischen Steuereinheiten können Nachrichten von verschiedenen Fahrzeugkomponenten empfangen und Nachrichten an verschiedene Fahrzeugkomponenten, einschließlich eines Fahrzeugcomputers, übertragen. Der Fahrzeugcomputer kann die Nachrichten von der einen oder den mehreren elektronischen Steuereinheiten in einer Datenbank speichern. Ein zweites Fahrzeug kann elektronische Steuereinheiten beinhalten, die denen des ersten Fahrzeugs ähneln oder mit diesen identisch sind. Die auf einem Computer des ersten Fahrzeugs gespeicherte Datenbank kann jedoch eine andere Programmierung beinhalten, z. B. andere Formate, andere Abfolgen von Vorgängen usw. für ähnliche oder identische Datenelemente verwenden, als eine auf einem zweiten Fahrzeugcomputer gespeicherte Datenbank.
  • KURZDARSTELLUNG
  • Ein Verfahren kann ein Auswählen von Nachrichten einer ersten elektronischen Steuereinheit (electronic control unit - ECU) aus einer Datenbank gemäß einer vorgegebenen Dateneinheit, für deren Bereitstellung über einen Kommunikationsbus die erste ECU programmiert ist, ein Erzeugen einer ersten Datei der Nachrichten der ersten ECU, ein Sortieren der Nachrichten in der ersten Datei gemäß einer Hierarchie, welche die vorgegebene Dateneinheit beinhaltet, und ein Ausgeben einer dritten Datei, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt, umfassen.
  • Das Verfahren kann ein Sortieren der Nachrichten in der ersten Datei gemäß einer Kennung beinhalten.
  • Das Verfahren kann ein Sortieren von Daten in den Nachrichten in der ersten Datei gemäß einem Deskriptor beinhalten.
  • Das Verfahren kann ein Sortieren von Nachrichten der zweiten Datei gemäß der Hierarchie beinhalten.
  • Die dritte Datei kann mindestens eines von einem gegenüberstellenden Vergleich der ersten Datei und der zweiten Datei und einer Liste von Unterschieden zwischen der ersten Datei und der zweiten Datei beinhalten.
  • Das Verfahren kann ein Anzeigen jeder Nachricht der ersten Datei in einer separaten Zeile und ein Anzeigen jeder Dateneinheit jeder Nachricht der ersten Datei in einer separaten Zeile beinhalten.
  • Das Verfahren kann ein Anzeigen von Metadaten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Nachricht und ein Anzeigen von Metadaten von Dateneinheiten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Dateneinheit beinhalten.
  • Die Hierarchie kann die Daten unter der jeweiligen Nachricht, jede Nachricht unter der ersten ECU und die erste ECU unter der Datenbank beinhalten.
  • Bei der vorgegebenen Dateneinheit kann es sich um mindestens eines von einem Namen der ersten ECU, Metadaten der Nachrichten der ersten Datei und Metadaten von Daten der Nachrichten der ersten Datei handeln.
  • Jede Nachricht kann eine Kennung und Daten über mindestens eine physische Eigenschaft einer Fahrzeugkomponente beinhalten.
  • Ein System kann einen Computer umfassen, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die von dem Prozessor ausgeführt werden können, um Nachrichten einer ersten ECU gemäß einer vorgegebenen Dateneinheit, für deren Bereitstellung über einen Kommunikationsbus die ECU programmiert ist, aus einer Datenbank auszuwählen, eine erste Datei der Nachrichten und der vorgegebenen Dateneinheit der ersten elektronischen Steuereinheit zu erzeugen, die Nachrichten in der ersten Datei gemäß einer Hierarchie zu sortieren, welche die vorgegebene Dateneinheit beinhaltet, und eine dritte Datei auszugeben, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt.
  • Die Anweisungen können ferner Anweisungen zum Sortieren der Nachrichten in der ersten Datei gemäß einer Kennung beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Sortieren von Daten in den Nachrichten in der ersten Datei gemäß einem Deskriptor beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Sortieren der Nachrichten der zweiten Datei gemäß der Hierarchie beinhalten.
  • Die dritte Datei kann mindestens eines von einem gegenüberstellenden Vergleich der ersten Datei und der zweiten Datei und einer Liste von Unterschieden zwischen der ersten Datei und der zweiten Datei beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Anzeigen jeder Nachricht der ersten Datei in einer separaten Zeile und ein Anzeigen jeder Dateneinheit jeder Nachricht der ersten Datei in einer separaten Zeile beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Anzeigen von Metadaten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Nachricht und ein Anzeigen von Metadaten von Dateneinheiten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Dateneinheit beinhalten.
  • Die Hierarchie kann die Daten unter der jeweiligen Nachricht, jede Nachricht unter der ersten ECU und die erste ECU unter der Datenbank beinhalten.
  • Bei der vorgegebenen Dateneinheit kann es sich um mindestens eines von einem Namen der ersten ECU, Metadaten der Nachrichten der ersten Datei und Metadaten von Daten der Nachrichten der ersten Datei handeln.
  • Jede Nachricht kann eine Kennung und Daten über mindestens eine physische Eigenschaft einer Fahrzeugkomponente beinhalten.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein beispielhaftes System zum Vergleichen einer ersten elektronischen Steuereinheit (ECU) eines ersten Fahrzeugs mit einer zweiten ECU eines zweiten Fahrzeugs veranschaulicht.
    • 2 ist ein Blockdiagramm, das ein beispielhaftes System zum Vergleichen der ersten ECU mit der zweiten ECU auf einem Prüfstand veranschaulicht.
    • 3 ist ein Blockdiagramm, das eine beispielhafte Hierarchie veranschaulicht.
    • 4 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Vergleichen der ersten ECU mit der zweiten ECU.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Blockdiagramm eines beispielhaften Systems 100, das einen Remotecomputer 145 beinhaltet, der dazu programmiert ist, zwei Datenbanken 155 von einem Prüfstand 150 zu empfangen, anhand der Datenbanken 155 eine erste Datei und eine zweite Datei auf Grundlage einer vorgegebenen Dateneinheit zu erzeugen und einen Vergleich der ersten Datei und der zweiten Datei auszugeben. Elektronische Steuereinheiten (ECUs) 120 können auf dem Prüfstand 150 austauschbar sein, z. B. um separate Tests durchzuführen, sodass jede ECU 120 Daten, z. B. aus einem jeweiligen Test, in eine jeweilige Datenbank 155 ausgeben kann. In dieser Situation kann jede ECU 120 die jeweilige Datenbank 155 an den Remotecomputer 145 übertragen, z. B. nach dem jeweiligen Test, wie nachstehend erörtert. Ein Benutzer kann Daten in den Datenbanken 155 als Teil technischer Tests und/oder zur Überprüfung von an einer der ECUs 120 vorgenommenen Programmierungsupdates vergleichen. Die Datenbanken 155 können jedoch unterschiedliche Programmierungen aufweisen, sodass die Datenbanken 155 Ausgaben in unterschiedlichen Formaten speichern und darbieten, was das Vergleichen von Daten in den Datenbanken 155 komplex und teuer machen kann. Der Remotecomputer 145 kann für jede ECU 120 eine Datei erzeugen, die auf der vorgegebenen Dateneinheit beruht und gemäß einer Datenhierarchie 300 (siehe 3) organisiert ist, was es dem Remotecomputer 145 ermöglicht, schnell Datenausgaben von mehreren ECUs 120 zu vergleichen, unabhängig von etwaigen Programmierungsunterschieden zwischen den jeweiligen Datenbanken 155.
  • Der Prüfstand 150 kann Betriebsbedingungen eines Fahrzeugs simulieren. Der Prüfstand 150 kann Hardware und Software beinhalten, wie sie bekannt sind (oder es könnte sich um einen Testaufbau handeln, der in Zukunft entwickelt oder gebaut wird). Der Prüfstand 150 kann die ECU 120, Sensoren 125 und Fahrzeugkomponenten 130, die ein Fahrzeugteilsystem, z. B. das Antriebsstrangteilsystem, das Bremsteilsystem, das Lenkteilsystem usw., bilden, beinhalten. Bei einer „elektronischen Steuereinheit“ (ECU) handelt es sich um eine Vorrichtung, die einen Prozessor und einen Speicher beinhaltet, der Programmierung zum Steuern einer oder mehrerer Fahrzeugkomponenten 130 beinhaltet (d. h. der Speicher speichert durch den Prozessor ausführbare Anweisungen dafür).
  • Die ECU 120 ist im Allgemeinen zur Kommunikation in einem Kommunikationsnetzwerk angeordnet, das ein Controller-Area-Network (CAN) oder dergleichen und/oder andere drahtgebundene und/oder drahtlose Mechanismen beinhalten kann. Über das Kommunikationsnetzwerk kann die ECU 120 Nachrichten (z. B. CAN-Nachrichten) von den verschiedenen Vorrichtungen, z. B. den Sensoren 125, auf dem Prüfstand 150 empfangen.
  • Beispielsweise können die Sensoren 125 der ECU 120 Daten über die Komponenten 130 bereitstellen, die getestet werden. Wie nachstehend erwähnt, können verschiedene Steuerungen und/oder Sensoren 125 der ECU 120 Daten über das Kommunikationsnetzwerk bereitstellen. Zusätzlich kann die ECU 120 Nachrichten an den Remotecomputer 145 übertragen, z. B. über ein Netzwerk 140, wie nachstehend erörtert.
  • Die ECU 120 kann Daten über die Fahrzeugkomponenten 130 sammeln und verarbeiten, die getestet werden. Auf Grundlage der Daten kann die ECU 120 die Fahrzeugkomponenten 130 während des Tests betätigen. Beispielsweise kann es sich bei dem Fahrzeugteilsystem, das getestet wird, um das Antriebsstrangteilsystem, ein Bremsteilsystem, ein Lenkteilsystem usw. handeln. In diesen Fällen kann es sich bei der ECU 120 um eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenksteuerung usw. handeln. Die ECU 120 kann den Betrieb der Fahrzeugkomponenten 130 des Fahrzeugteilsystems, das getestet wird, steuern. Zum Beispiel kann es sich bei dem Betrieb um ein Steuern der Lenkung, ein Steuern des Bremsens, ein Steuern einer Mensch-Maschine-Schnittstelle usw. handeln.
  • Eine erste ECU 122 kann für einen ersten Test des Fahrzeugteilsystems auf dem Prüfstand 150 installiert werden. Im Anschluss an den ersten Test kann die erste ECU 122 durch eine zweite ECU 124 ersetzt werden, z. B. für einen zweiten Test. Als ein anderes Beispiel kann das System 100 beinhalten, dass die zweite ECU 124 auf einem zweiten Prüfstand 150 installiert ist, sodass der erste Test und der zweite Test gleichzeitig durchgeführt werden können. Bei der ersten ECU 122 und der zweite ECU 124 kann es sich um die gleiche Art von ECU 120 handeln. Anders ausgedrückt können die erste ECU 122 und die zweite ECU 124 das gleiche Fahrzeugteilsystem überwachen und/oder steuern, z. B. das Antriebsstrangteilsystem, das Bremsteilsystem, das Lenkteilsystem usw.
  • Jede ECU 120 kann Daten aus dem Fahrzeugteilsystem, das auf dem Prüfstand 150 getestet wird, gemäß dem Format der jeweiligen Datenbank 155 an die jeweilige Datenbank 155 ausgeben (wie nachstehend erörtert). Beispielsweise kann jede ECU 120 das Format der jeweiligen Datenbank 155, das der jeweiligen ECU 120 entspricht, empfangen. Anders ausgedrückt kann jede ECU einen Teil der Datenbank 155 empfangen und Daten gemäß dem Format des empfangenen Teils der Datenbank 155 speichern.
  • Jede ECU 120 kann einen Namen beinhalten. In diesem Kontext handelt es sich bei einem „Namen“ um eine Datenfolge, die der konkreten ECU 120 entspricht, d. h. eine Kennung für die ECU 120. Anders ausgedrückt identifiziert der Name die konkrete ECU. Bei dem Namen kann es sich z. B. um eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw. handeln. Im Kontext dieser Offenbarung können die erste ECU 122 und die zweite ECU 124 den gleichen Namen aufweisen. Der Remotecomputer 145 kann auf Grundlage einer Identifizierung der ECU 120 anhand des Namens mit der ECU 120 kommunizieren, wie nachstehend erörtert.
  • Die Sensoren 125 können eine Vielfalt von Vorrichtungen beinhalten. Beispielsweise können verschiedene Steuerungen auf einem Prüfstand 150 als Sensoren 125 fungieren, um der ECU 120 Daten über drahtgebundene Kommunikation bereitzustellen, z. B. Daten bezüglich eines Teilsystem- und/oder Komponentenstatus. Ferner könnten andere Sensoren 125 Kameras, Bewegungsmelder usw. beinhalten, d. h. Sensoren 125, die Daten zur Auswertung einer Position einer Komponente, eines Zustands einer Komponente usw. bereitstellen. Die Sensoren 125 könnten ohne Einschränkung zudem Radar, LIDAR und/oder Ultraschallwandler beinhalten.
  • Der Prüfstand 150 kann eine oder mehrere Fahrzeugkomponenten 130 testen. Beispielsweise kann der Prüfstand 150 jede Fahrzeugkomponente 135 des durch den Prüfstand 150 simulierten Teilsystems beinhalten. Als ein anderes Beispiel kann der Prüfstand 150 Fahrzeugkomponenten 130, die einen Teil des Teilsystems darstellen, eine Fahrzeugkomponente 135 usw. beinhalten. In diesem Kontext beinhaltet jede Fahrzeugkomponente 135 eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine mechanische Funktion oder einen mechanischen Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs, Verlangsamen oder Anhalten des Fahrzeugs, Lenken des Fahrzeugs usw. Nicht einschränkende Beispiele für Komponenten 130 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Bremskomponente, eine Parkassistenzkomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zur adaptiven Lenkung, einen bewegbaren Sitz oder dergleichen.
  • Ein Netzwerk 140 gibt einen oder mehrere Mechanismen wieder, über welche die ECU 120 auf dem Prüfstand 150 mit dem Remotecomputer 145 kommunizieren kann. Dementsprechend kann es sich bei dem Netzwerk 140 um einen oder mehrere verschiedener drahtgebundener oder drahtloser Kommunikationsmechanismen handeln, die eine beliebige gewünschte Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und eine beliebige gewünschte Netzwerktopologie (oder Netzwerktopologien, wenn mehrere Kommunikationsmechanismen verwendet werden) beinhalten. Beispielhafte Kommunikationsnetzwerke 140 beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa dedizierter Nahbereichskommunikation (Dedicated Short Range Communications -DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (wide area network - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Der Remotecomputer 145 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert Anweisungen, die von dem Remotecomputer 145 ausgeführt werden können, um verschiedene Vorgänge, einschließlich der in dieser Schrift offenbarten, durchzuführen.
  • Der Remotecomputer 145 kann im Anschluss an einen ersten Test auf dem Prüfstand 150 die Datenbank 155 von der ersten ECU 122 empfangen. In diesem Zusammenhang gibt die erste ECU 122 Daten aus dem ersten Test gemäß der Programmierung, d. h. dem Format, der Datenbank 155 in die Datenbank 155 aus. Der Remotecomputer 145 kann im Anschluss an den zweiten Test auf dem Prüfstand 150 die Datenbank 155 von der zweiten ECU 124 empfangen. In diesem Zusammenhang gibt die zweite ECU 124 Daten aus dem ersten Test gemäß der Programmierung, d. h. dem Format, der Datenbank 155 in die Datenbank 155 aus. Das an der ersten ECU 122 empfangene Format der Datenbank 155 kann sich von dem an der zweiten ECU 124 empfangenen Format der Datenbank 155 unterscheiden.
  • Der Remotecomputer 145 kann die vorgegebene Dateneinheit empfangen, z. B. von einem Benutzer. In diesem Kontext handelt es sich bei einer „vorgegebenen Dateneinheit“ um eine Datenfolge, die konkreten in einer konkreten ECU 120 enthaltenen Daten entspricht, z. B. von einem Benutzer gewünschten. Bei der vorgegebenen Dateneinheit kann es sich z. B. um eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw. handeln. Die vorgegebene Dateneinheit ist in einer Datenhierarchie 300 (3) enthalten. Beispielsweise kann es sich bei der vorgegebenen Dateneinheit um mindestens eines von dem Namen der ECU 120, einer Nachrichtenkennung (wie nachstehend erörtert), Metadaten der Nachrichten (wie nachstehend erörtert) und Metadaten von Daten der Nachrichten (wie nachstehend erörtert) handeln.
  • Der Remotecomputer 145 kann eine oder mehrere vorgegebene Dateneinheiten empfangen. Der Remotecomputer 145 kann auf Grundlage der vorgegebenen Dateneinheit eine oder mehrere Nachrichten 160 von jeder ECU 120 auswählen (wie nachstehend erörtert). Zum Beispiel kann der Remotecomputer 145 alle Nachrichten 160 von der identifizierten ECU 120 auswählen, wenn die vorgegebene Dateneinheit nur die ECU 120 identifiziert. In diesen Fällen kann es sich bei der vorgegebenen Dateneinheit um den Namen der ECU 120 handeln. Als ein anderes Beispiel kann der Remotecomputer 145 bestimmte Nachrichten 160 der identifizierten ECU 120 auswählen, wenn die vorgegebene Dateneinheit die ECU 120 und konkrete Nachrichten 160 in der ECU 120 identifiziert. Der Remotecomputer 145 wählt Nachrichten 160 der ersten ECU 122 und Nachrichten 160 der zweiten ECU 124 gemäß der gleichen vorgegebenen Dateneinheit aus.
  • Der Remotecomputer 145 kann die erste Datei auf Grundlage der Nachrichten 160 von der ersten ECU 122 und die zweite Datei auf Grundlage der Nachrichten 160 von der zweiten ECU 124 erzeugen. Anders ausgedrückt filtert der Remotecomputer 145 die Datenbank 155 des ersten Tests nach den Nachrichten 160 der ersten ECU 122, die zu der vorgegebenen Dateneinheit passen, und gibt die Nachrichten 160 in die erste Datei ein. Gleichermaßen filtert der Remotecomputer 145 die Datenbank 155 des zweiten Tests nach den Nachrichten 160 der zweiten ECU 124, die zu der vorgegebenen Dateneinheit passen, und gibt die Nachrichten 160 in die zweite Datei ein. Der Remotecomputer 145 sortiert die erste Datei und die zweite Datei gemäß der Datenhierarchie 300, wie nachstehend unter Bezugnahme auf 3 ausführlicher erörtert.
  • Der Remotecomputer 145 kann die erste Datei mit der zweiten Datei vergleichen. Da der Remotecomputer 145 die erste Datei und die zweite Datei gemäß der Datenhierarchie 300 sortiert hat, kann der entfernte Computer 145 die erste und die zweite Datei schnell vergleichen. Zusätzlich kann der Remotecomputer 145 auf Grundlage des Vergleichs der ersten Datei und der zweiten Datei eine dritte Datei erzeugen und die dritte Datei ausgeben, z. B. zur Überprüfung durch einen Benutzer. Die dritte Datei kann mindestens eines von einem gegenüberstellenden Vergleich der ersten Datei und der zweiten Datei und einer Liste von Unterschieden zwischen der ersten Datei und der zweiten Datei beinhalten. Beispielsweise kann die dritte Datei die erste Datei neben der zweiten Datei anzeigen, was es einem Benutzer z. B. ermöglicht, die erste Datei problemlos mit der zweiten Datei zu vergleichen. Darüber hinaus kann die dritte Datei visuelle Hinweise auf identifizierte Unterschiede zwischen der ersten und der zweiten Datei beinhalten, z. B. durch Hervorheben jeder Zeile, in der sich die Dateien unterscheiden, durch Ändern der Farbe von Zeichen, in denen sich die Dateien unterscheiden, usw.
  • 2 ist ein Blockdiagramm eines beispielhaften Systems 200, das den Remotecomputer 145 beinhaltet, der dazu programmiert ist, eine Datenbank 155 von einem Fahrzeugcomputer 115 eines ersten Fahrzeugs 105 und eine Datenbank 155 von einem Fahrzeugcomputer 115 eines zweiten Fahrzeugs 110 zu empfangen, auf Grundlage von Daten in den Datenbanken 155, die zu einer vorgegebenen Dateneinheit passen, eine erste Datei und eine zweite Datei zu erzeugen und die erste Datei mit der zweiten Datei zu vergleichen.
  • Jedes Fahrzeug 105, 110 beinhaltet einen Fahrzeugcomputer 115, eine oder mehrere ECUs 120, Sensoren 125, Fahrzeugkomponenten 130 und einen Kommunikationsbus 135. Über ein Netzwerk 140 ermöglicht es der Kommunikationsbus 135 dem Fahrzeugcomputer 115 mit dem Remotecomputer 145 zu kommunizieren.
  • Der Fahrzeugcomputer 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert Anweisungen, die von dem Fahrzeugcomputer 115 ausgeführt werden können, um verschiedene Vorgänge, einschließlich der in dieser Schrift offenbarten, durchzuführen.
  • Der Fahrzeugcomputer 115 kann, z.B. über ein Fahrzeugnetzwerk wie etwa einen Kommunikationsbus 135, wie nachstehend ausführlicher beschrieben, kommunikativ mit jeder ECU 120 im Fahrzeug gekoppelt sein. Der Fahrzeugcomputer 115 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk angeordnet, das einen Kommunikationsbus 135 im Fahrzeug, wie etwa ein Controller-Area-Network (CAN) oder dergleichen, und/oder andere drahtgebundene und/oder drahtlose Mechanismen beinhalten kann.
  • Wie vorstehend erörtert, kann jede ECU 120 das Format für einen Teil der Datenbank 155 empfangen. Der Fahrzeugcomputer 115 kann die Datenbank 155 für jede ECU 120 speichern, z.B. im Speicher des Fahrzeugcomputers 115. In dieser Situation kombiniert der Fahrzeugcomputer 115 die Datenbank 155 für einzelne ECUs 120 in einer kollektiven Datenbank 155 für das Fahrzeug. Beispielsweise kann der Fahrzeugcomputer 115 Daten von jeder ECU 120 empfangen und die Daten in der Datenbank 155 speichern. Der Fahrzeugcomputer 115 kann die Datenbank 155 an den Remotecomputer 145 übertragen, z. B. über ein Netzwerk 140, wie nachstehend ausführlicher beschrieben.
  • Die ECUs 120 sind im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk angeordnet, das den Kommunikationsbus 135 im Fahrzeug, wie etwa ein Controller-Area-Network (CAN) oder dergleichen, und/oder andere drahtgebundene und/oder drahtlose Mechanismen beinhalten kann. Über das Fahrzeugnetzwerk können die ECUs 120 Nachrichten an verschiedene Vorrichtungen, z. B. den Fahrzeugcomputer 115, im Fahrzeug übertragen und/oder Nachrichten (z.B. CAN-Nachrichten) von den verschiedenen Vorrichtungen empfangen, z. B. den Sensoren 125, Aktoren, einer Mensch-Maschine-Schnittstelle (human-machine interface - HMI) usw. Alternativ oder zusätzlich kann das Fahrzeugnetzwerk für den Fall, dass jede ECU 120 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen den Vorrichtungen verwendet werden, die in dieser Offenbarung jeweils als die ECU 120 wiedergegeben sind. Außerdem können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Sensoren 125 den ECUs 120 über das Fahrzeugkommunikationsnetzwerk Daten bereitstellen.
  • Jede der ECUs 120 kann Daten über eine oder mehrere Fahrzeugkomponenten 130 sammeln und verarbeiten. Auf Grundlage der Daten können eine oder mehrere der ECUs 120 eine oder mehrere Fahrzeugkomponenten 130 betätigen. Zum Beispiel kann es sich bei den ECUs 120 um eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenksteuerung usw. handeln. Die ECUs 120 können den Betrieb einer oder mehrerer Fahrzeugkomponenten 130 steuern. Zum Beispiel kann es sich bei dem Betrieb um ein Steuern der Fahrzeuglenkung, ein Steuern des Fahrzeugantriebs, ein Steuern einer Mensch-Maschine-Schnittstelle usw. handeln.
  • Die Sensoren 125 können eine Vielfalt von Vorrichtungen wie vorstehend erörtert beinhalten. Zum Beispiel können verschiedene Steuerungen in einem Fahrzeug als Sensoren 125 fungieren, die den ECUs 120 Daten über das Fahrzeugnetzwerk bereitzustellen, z. B. Daten bezüglich der Fahrzeuggeschwindigkeit, Beschleunigung, Position, eines Teilsystem- und/oder Komponentenstatus usw. Zusätzlich kann das Fahrzeug eine Vielzahl von Fahrzeugkomponenten 130 wie vorstehend erörtert beinhalten, z. B. eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Bremskomponente, eine Parkassistenzkomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zur adaptiven Lenkung, einen bewegbaren Sitz oder dergleichen.
  • Das Netzwerk 140 gibt einen oder mehrere Mechanismen wieder, über die der Fahrzeugcomputer 115 mit dem Remotecomputer 145 kommunizieren kann. Das Netzwerk 140 kann das gleiche sein wie das vorstehend identifizierte Netzwerk 140. Dementsprechend kann es sich bei dem Netzwerk 140 um einen oder mehrere verschiedener drahtgebundener oder drahtloser Kommunikationsmechanismen handeln, die eine beliebige gewünschte Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und eine beliebige gewünschte Netzwerktopologie (oder Netzwerktopologien, wenn mehrere Kommunikationsmechanismen verwendet werden) beinhalten.
  • In dem Beispiel aus 2 kann der Remotecomputer 145 die Datenbank 155 von dem Fahrzeugcomputer 115 des ersten Fahrzeugs 105 und die Datenbank 155 von dem Fahrzeugcomputer 115 des zweiten Fahrzeugs 110 empfangen. Der Remotecomputer 145 kann Nachrichten 160 aus den Datenbanken 155 auswählen, um auf Grundlage der vorgegebenen Dateneinheit die erste Datei bzw. die zweite Datei zu erzeugen. Da jede Datenbank 155 Nachrichten 160 von mehreren ECUs 120 beinhaltet, kann die vorgegebene Dateneinheit eine ECU 120 in jeder Datenbank 155 identifizieren, z. B. durch Identifizieren des Namens der ECU 120. Zusätzlich kann die vorgegebene Dateneinheit z. B. konkrete Nachrichten 160 identifizieren. Der Remotecomputer 145 kann die erste Datei mit der zweiten Datei vergleichen, auf Grundlage des Vergleichs eine dritte Datei erzeugen und die dritte Datei ausgeben, wie vorstehend erörtert.
  • 3 ist ein Blockdiagramm einer beispielhaften Datenhierarchie 300. Die Datenhierarchie 300 ist ein Modell für Daten, die hierarchische Beziehungen aufweisen, und kann Daten beinhalten, die ein Datenbank-155-Element 305, ECU-120-Elemente 310, Nachrichten-160-Elemente 315 für jeweilige ECUs 120 (d. h., wie gezeigt, unter den ECU-120-Elementen 310 in der Datenhierarchie 300) und Daten-170-Elemente 320 jeweiliger Nachrichten 160 identifizieren. Bei der Datenhierarchie 300 kann es sich beispielsweise um eine baumähnliche Datenstruktur handeln, die übergeordnete Knoten beinhaltet, die untergeordnete Knoten aufweisen. Die übergeordneten Knoten können eine Einer-zu-vielen-Beziehung mit den untergeordneten Knoten aufweisen. Anders ausgedrückt kann der übergeordnete Knoten mit mehreren untergeordneten Knoten verbunden sein, während jeder untergeordnete Knoten mit einem übergeordneten Knoten verbunden ist.
  • Die Datenbank 155 kann verschiedene Arten von Mechanismen zum Speichern, Zugreifen auf und Abrufen verschiedener Arten von Daten beinhalten. Beispielsweise kann es sich bei der Datenbank 155 um ein relationales Datenbankverwaltungssystem (relational database management system - RDBMS) handeln. Ein RDBMS setzt im Allgemeinen neben einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen gespeicherter Prozesse, wie etwa der PL/SQL-Sprache, die strukturierte Abfragesprache (Structured Query Language -SQL) ein. Als ein anderes Beispiel kann es sich bei der Datenbank 155 im Kontext dieser Offenbarung um eine Anwendungsdatenbank in einem proprietären Format, einen Satz von Dateien, die in verschiedenen Formaten in einem Dateisystem gespeichert sind, usw handeln. Die Datenbank 155 kann auf einem zentralen Computer gespeichert sein, z. B. einem Server, dem Fahrzeugcomputer 115 usw. Der zentrale Computer kann einen Teil der Datenbank 155 an die jeweilige ECU 120 übertragen, z. B. wenn die ECU 120 zu Beginn programmiert wird. Insbesondere kann jede ECU 120 den Teil der Datenbank 155 empfangen, welcher der jeweiligen ECU 120 entspricht. Jede ECU 120 kann Daten gemäß dem Format des jeweiligen Teils der Datenbank 155 an den jeweiligen Teil der Datenbank 155 ausgeben.
  • Die Datenbank 155 kann, z. B. auf Grundlage von Leistungsbedarfen eines Fahrzeugs, Zuliefererupdates der ECU 120 usw., mit modifizierter oder überarbeiteter Programmierung auf eine neue Version aktualisiert werden, derart, dass das Format der Datenbank 155 zwischen Versionen der Datenbank 155 unterschiedlich sein kann. Anders ausgedrückt können mehrere Versionen der Datenbank 155 gemeinsame Datenelemente beinhalten, aber auch jeweils Datenelemente, die einer ersten und einer zweiten Version der Datenbank 155 nicht gemein sind. Jede Datenbank 155 kann Daten gemäß einem Format speichern, das eine oder mehrere Dateneinheiten vorgibt, für deren Programmierung die ECU 120 jeweils programmiert ist, einem Format für ein Datenelement, d. h. einer Länge und/oder Art der Daten, wie etwa einer Länge einer alphanumerischen Folge und/oder einem möglichen Bereich von Werten, und zudem einem Standort eines Datenelements in einer Nachricht oder Nachrichten. Unterschiedliche Versionen der Datenbank 155 können unterschiedliche Daten identifizieren, für deren Erhalten die jeweilige ECU 120 programmiert ist (z. B. können ECUs 120, die unterschiedliche Versionen der Datenbank 155 empfangen, die gleiche Nachricht 160 auf Grundlage unterschiedlicher Daten 170 ausgeben), und/oder können unterschiedliche Speicherorte für die vorgegebenen Daten identifizieren.
  • Jede Datenbank 155 kann eine Versionskennung oder einen Versionsnamen beinhalten. In diesem Kontext handelt es sich bei einem „Versionsnamen“ um eine Datenfolge, die der konkreten Datenbank 155 entspricht, d. h. eine Kennung für die Datenbank 155. Bei dem Versionsnamen kann es sich z. B. um eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw. handeln. Im Kontext dieser Offenbarung kann der Remotecomputer 145 den Versionsnamen der Datenbank 155 in der jeweiligen Datei anzeigen.
  • Das Datenbank-155-Element 305 kann die Wurzel der Datenhierarchie 300 darstellen, d. h. über allen anderen Elementen 310, 315, 320 stehen, wobei die Datenbankhierarchie 300 keinen übergeordneten Knoten oder einen übergeordneten Knoten NULL aufweist. Bei dem Datenbank-155-Element 305 kann es sich um den Versionsnamen der jeweiligen Datenbank 155 handeln. Beispielsweise kann der Remotecomputer 145 den Versionsnamen der jeweiligen Datenbank 155 in der ersten und der zweiten Datei anzeigen.
  • Die Datenbank 155 stellt jeder ECU 120 das Format bereit und jede ECU 120 gibt Daten gemäß dem empfangenen Format in die Datenbank 155 aus. Beispielsweise kann jede ECU 120 das Format der Datenbank 155 empfangen, Daten gemäß dem Format der Datenbank 155 speichern und die gespeicherten Daten in dem Format der Datenbank 155 an den Fahrzeugcomputer 115 übertragen. In diesen Fällen können die Daten von jeder ECU 120 gemäß dem Format der Datenbank 155 in die Datenbank 155 hochgeladen werden. Dementsprechend sind die ECU-120-Elemente 310 dem Datenbank-155-Element 305 in der Datenhierarchie 300 untergeordnet. Die ECU-120-Elemente 310 können gemäß ihrem Platz in der Datenhierarchie 300 gespeichert werden und weitere ECU-120-Elemente 310, die dem gleichen übergeordneten Datenbank-155-Element 305 untergeordnet sind, können gemäß einer Sortierregel gespeichert werden. Beispielsweise kann der Remotecomputer 145 die ECU-120-Elemente 310 gemäß den jeweiligen Namen der ECUs 120 sortieren. Beispielsweise kann der Remotecomputer 145 die Namen der jeweiligen ECUs 120 in der ersten und der zweiten Datei anzeigen. Der Remotecomputer 145 kann sortieren, indem er z. B. die Namen der ECUs 120 alphabetisch anordnet, die Namen in einer aufsteigenden oder absteigenden Reihenfolge anordnet usw. Durch Sortieren der ECU-120-Elemente 310 z. B. nach dem Namen kann der Remotecomputer 145 die gleichen ECU-120-Elemente 310 in einander entsprechenden Zeilen in der ersten und der zweiten Datei anzeigen, was es dem Remotecomputer 145 ermöglicht, Nachrichten 160 der jeweiligen ECUs 120 schneller zu vergleichen, als es ansonsten möglich wäre.
  • Jede ECU 120 gibt Nachrichten 160 aus, z. B. gemäß dem Format der Datenbank 155. Die Nachrichten 160 werden von der ECU 120 auf Grundlage von Daten 170 ausgegeben, die z. B. von Sensoren 125, Fahrzeugkomponenten 130 usw. empfangen werden. Jede Nachricht 160 kann den Status einer Fahrzeugkomponente 135 angeben. Beispielsweise kann eine Nachricht 160 angeben, dass die Fahrzeugkomponente 135 wie vorgesehen arbeitet. Als ein anderes Beispiel kann eine Nachricht 160 angeben, dass die Fahrzeugkomponente 135 nicht ordnungsgemäß arbeitet, z. B. außerhalb eines vorgesehenen Betriebsbereichs. Dementsprechend sind die Nachrichten-160-Elemente 315 in der Datenhierarchie 300 den jeweiligen ECU-120-Elementen 310 untergeordnet.
  • Jede Nachricht 160 beinhaltet eine Kennung und Daten 170 zu mindestens einer Eigenschaft einer Fahrzeugkomponente 135 (wie nachstehend erörtert). In diesem Kontext handelt es sich bei einer „Kennung“ um eine Datenfolge, die im Wesentlichen ausschließlich der konkreten Nachricht 160 entspricht. Anders ausgedrückt identifiziert die Kennung die konkrete Nachricht 160. Bei der Kennung kann es sich z. B. um eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw. handeln. Im Kontext dieser Offenbarung kann die Kennung eine Priorität der Nachricht 160 angeben. Beispielsweise kann eine Nachricht 160, die eine Kennung mit einem niedrigeren Binärwert aufweist, eine höhere Priorität erhalten als eine Nachricht 160, die eine Kennung mit einem höheren Binärwert aufweist. In dieser Situation kann die Nachricht 160, die eine Kennung mit dem niedrigeren Binärwert aufweist, übertragen werden, wenn es zu einem Konflikt mit der Nachricht 160 kommt, die eine Kennung mit dem höheren Binärwert aufweist, welche verzögert werden kann, bis kein Konflikt mehr besteht.
  • Die Nachrichten-160-Elemente 315 können mit einem Hinweis auf oder einer Beschreibung ihres Platzes in der Datenhierarchie 300 gespeichert werden; ferner können Nachrichten-160-Elemente 315, die dem gleichen übergeordneten ECU-120-Element 310 untergeordnet sind, gemäß einer Sortierregel gespeichert werden. Beispielsweise kann der Remotecomputer 145 Nachrichten-160-Elemente 315 gemäß der Kennung der Nachrichten 160 sortieren. Der Remotecomputer 145 kann sortieren, indem er z. B. die Kennung der Nachrichten 160 alphabetisch anordnet, die Kennung in aufsteigender oder absteigender Reihenfolge anordnet usw. Das Sortieren der Nachrichten-160-Elemente 315 in der Datenhierarchie 300 kann es dem Remotecomputer 145 ermöglichen, Nachrichten 160 der ersten ECU 122 schnell mit Nachrichten 160 der zweiten ECU 124 zu vergleichen. Der Remotecomputer 145 kann jedes Nachrichten-160-Element 315 in einer separaten Zeile der jeweiligen Datei speichern. Da der Remotecomputer 145 die Nachrichten-160-Elemente 315 der ersten Datei und der zweiten Datei gemäß der Kennung sortiert, können sich die jeweiligen Nachrichten-160-Elemente 315 in einander entsprechenden Zeilen der ersten Datei und der zweiten Datei befinden, was es dem Remotecomputer 145 ermöglicht, die Nachrichten 160 schneller zu vergleichen als beim Vergleichen der Nachrichten 160 gemäß dem Format der jeweiligen Datenbanken 155.
  • Zusätzlich kann jede Nachricht 160 ein oder mehrere Nachrichtenmetadaten 165 beinhalten. Die Nachrichtenmetadaten 165 können Metadaten oder Attribute von Nachrichten 160 bereitstellen, z. B. Zustände des Fahrzeugs, der Fahrzeugkomponente 135 usw. als die Nachricht 160 von der ECU 120 erzeugt wurde. Die Metadaten 165 können z. B. eine Quelle der Nachricht 160, ein Ziel der Nachricht 160, einen Zeitstempel, wann die Nachricht 160 erzeugt wurde, eine Datenart der Nachricht 160 usw. angeben. Die Metadaten 165 können z. B. eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw beinhalten. Der Remotecomputer 145 kann die Metadaten 165 in der gleichen Zeile wie das jeweilige Nachrichten-160-Element 315 in der ersten Datei und der zweiten Datei anzeigen. Anders ausgedrückt kann der Remotecomputer 145 die Metadaten 165 neben den jeweiligen Nachrichten-160-Elementen 315 in der jeweiligen Datei anzeigen.
  • Die ECUs 120 können Rohdaten empfangen, z. B. von einem oder mehreren Sensoren 125, und die Rohdaten in die Daten 170 umwandeln. Die Daten 170 geben mindestens eine Eigenschaft einer Fahrzeugkomponente 135 an. Beispielsweise können die Daten 170 eine Drehzahl, eine Position, eine Ausgabe usw. einer Fahrzeugkomponente 135 angeben. Die Daten 170 können eine oder mehrere Dateneinheiten beinhalten. In diesem Kontext kann jede Dateneinheit eine Eigenschaft der Fahrzeugkomponente 135 angeben. Dementsprechend sind die Daten-170-Elemente 320 in der Datenhierarchie 300 den jeweiligen Nachrichten-160-Elementen 315 untergeordnet.
  • Jede Dateneinheit 170 beinhaltet einen Deskriptor. In diesem Kontext handelt es sich bei einem „Deskriptor“ um eine Datenfolge, die der konkreten Dateneinheit entspricht, d. h. eine Kennung für die Dateneinheit. Anders ausgedrückt identifiziert der Deskriptor die vorgegebene Dateneinheit. Bei dem Deskriptor kann es sich um eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw. handeln. Im Kontext dieser Offenbarung kann der Deskriptor z. B. eine physische Eigenschaft einer Fahrzeugkomponente 135 angeben.
  • Die Daten-170-Elemente 320 können gemäß ihrem Platz in der Datenhierarchie 300 oder mit einem Hinweis darauf oder einer Beschreibung davon gespeichert werden; ferner können Daten-170-Elemente 320, die dem gleichen übergeordneten Nachrichten-160-Element 315 untergeordnet sind, gemäß einer Sortierregel gespeichert werden. Beispielsweise kann der Remotecomputer 145 die Daten-170-Elemente 320 gemäß den Deskriptoren der Dateneinheit sortieren. Der Remotecomputer 145 kann sortieren, indem er z. B. die Deskriptoren der Dateneinheit alphabetisch anordnet, die Deskriptoren in aufsteigender oder absteigender Reihenfolge anordnet usw. Das Sortieren der Daten-170-Elemente 320 in der Datenhierarchie 300 kann es dem Remotecomputer 145 ermöglichen, Daten 170 einer Nachricht 160 der ersten ECU 122 schnell mit Daten 170 der gleichen Nachricht 160 der zweiten ECU 124 zu vergleichen. Der Remotecomputer 145 kann jedes Daten-170-Element 320 in einer separaten Zeile der jeweiligen Datei speichern. Da der Remotecomputer 145 die Daten-170-Elemente 320 der ersten Datei und der zweiten Datei gemäß dem Deskriptor sortiert, können sich die jeweiligen Datenelemente 320 in der gleichen einander entsprechenden Zeile der ersten Datei und der zweiten Datei befinden, was es dem Remotecomputer 145 ermöglicht, die Daten 170 schneller zu vergleichen als beim Vergleichen der Daten 170 gemäß dem Format der jeweiligen Datenbanken 155.
  • Zusätzlich kann jede Dateneinheit durch ein Attribut oder Attribute in Metadaten 175 beschrieben sein. Die Metadaten 175 können Metadaten bezüglich der, z. B. von den Sensoren 125, erhaltenen Daten 170 bereitstellen. Die Metadaten 175 können z. B. einen Bereich, eine Auflösung, Einheiten, diskrete Werte, Skalierungsfaktoren, Bitposition, Anzahl an belegten Bits usw. angeben. Bei den Metadaten 175 kann es sich z. B. um eine Folge alphanumerischer Bits, eine Folge von Binärziffern, eine Folge von Hexadezimalziffern usw. handeln. Der Remotecomputer 145 kann die Metadaten 175 in der gleichen Zeile wie die jeweilige Dateneinheit in der ersten Datei und der zweiten Datei anzeigen. Anders ausgedrückt kann der Remotecomputer 145 die Metadaten 175 neben den jeweiligen Daten 170 in der jeweiligen Datei anzeigen.
  • 4 veranschaulicht einen beispielhaften Prozess, der in dem Remotecomputer 145 umgesetzt werden kann, um eine Datenbank 155 von dem Fahrzeugcomputer 115 des ersten Fahrzeugs 105 und eine Datenbank 155 von dem Fahrzeugcomputer 115 des zweiten Fahrzeugs 110 zu empfangen, auf Grundlage einer vorgegebenen Dateneinheit eine erste Datei und eine zweite Datei zu erzeugen, auf Grundlage eines Vergleichs der ersten Datei mit der zweiten Datei eine dritte Datei zu erzeugen und die dritte Datei auszugeben.
  • Der Prozess 400 beginnt in einem Block 410, in dem der Remotecomputer 145 eine oder mehrere Nachrichten 160 von der ersten ECU 122 empfängt. Beispielsweise kann der Remotecomputer 145, z. B. direkt oder indirekt, mit der ersten ECU 122 in Kommunikation stehen, sodass der Remotecomputer 145 Nachrichten 160 (einschließlich Daten 170) gemäß dem Format einer Datenbank 155 von der ersten ECU 122 empfangen kann. Der Remotecomputer 145 kann die Nachrichten 160 direkt von der ersten ECU 122 empfangen, z. B. wenn die erste ECU 122 im Prüfstand 150 enthalten ist. In dieser Situation kann die erste ECU 122 die Nachrichten 160 an den Remotecomputer 145 übertragen, z. B. über eine Drahtverbindung. Alternativ kann der Remotecomputer 145 die Nachrichten 160 von dem Fahrzeugcomputer 115 eines ersten Fahrzeugs 105 empfangen. In dieser Situation kann die erste ECU 122 die Nachrichten 160 über das Fahrzeugnetzwerk an den Fahrzeugcomputer übertragen und kann der Fahrzeugcomputer 115 die Datenbank 155 über das Netzwerk 140 an den Remotecomputer 145 übertragen. Die erste ECU 122 kann Daten gemäß dem Format der Datenbank 155 in die Datenbank 155 ausgeben.
  • Als Nächstes empfängt in einem Block 415 der Remotecomputer 145 eine vorgegebene Dateneinheit. Beispielsweise kann ein Benutzer die vorgegebene Dateneinheit in den Remotecomputer 145 eingeben. Der Remotecomputer 145 kann ein oder mehrere Eingabefelder beinhalten, in die der Benutzer die vorgegebene Dateneinheit eingeben kann. Beispielsweise kann der Benutzer eine Zeichenfolge als die vorgegebene Dateneinheit eingeben, z. B. eine numerische, alphanumerische usw. Die vorgegebene Dateneinheit kann Daten in der Datenbank 155 identifizieren, z. B. eine Kennung einer Nachricht 160, einen Deskriptor einer Dateneinheit 170, Metadaten 165 einer Nachricht 160, Metadaten 175 einer Dateneinheit 170 usw. Darüber hinaus kann die vorgegebene Dateneinheit für den Fall, dass der Remotecomputer 145 die Datenbank 155 von einem Fahrzeugcomputer 115 empfängt, zusätzlich den Namen der ECU 120 identifizieren. Der Benutzer kann eine oder mehrere vorgegebene Dateneinheiten in den Remotecomputer 145 eingeben.
  • Als Nächstes wählt in einem Block 420 der Remotecomputer 145 Nachrichten 160 der ersten ECU 122 aus. Beispielsweise kann der Remotecomputer 145 die Datenbank 155 durchsuchen und Nachrichten 160 auswählen, die zu der vorgegebenen Dateneinheit passen, d. h. die gleiche Datenfolge beinhalten. Das heißt, der Remotecomputer 145 kann die Datenbank 155 filtern, um auf Grundlage der vorgegebenen Dateneinheit Nachrichten 160 zu identifizieren. In diesem Kontext bedeutet „Auswählen“ ein Kopieren aus der Datenbank 155 ohne Verändern der Datenbank 155 oder der Daten darin. Wenn sich die ECU 120 in dem ersten Fahrzeug 105 befindet, kann die vorgegebene Dateneinheit einen Namen der ersten ECU 122 und eine Nachrichten-160-Kennung beinhalten. In dieser Situation kann der Remotecomputer 145 die Datenbank 155 nach der vorgegebenen von der ersten ECU 122 ausgegebenen Nachricht 160 durchsuchen und diese auswählen. Wenn sich die ECU 120 auf dem Prüfstand 150 befindet, kann die vorgegebene Dateneinheit eine Nachrichten-160-Kennung beinhalten. In dieser Situation kann der Remotecomputer 145 den Teil der Datenbank 155, der an der ersten ECU 122 empfangen wurde, nach der vorgegebenen Nachricht 160 durchsuchen und diese auswählen.
  • Als Nächstes erzeugt in einem Block 425 der Remotecomputer 145 die erste Datei auf Grundlage der ausgewählten Nachricht 160. Die erste Datei kann von der Datenbank 155 getrennt sein. Anders ausgedrückt verändert oder modifiziert der Remotecomputer 145 für gewöhnlich die Datenbank 155 nicht, wenn der Remotecomputer 145 die erste Datei erzeugt. Der Remotecomputer 145 fügt die ausgewählten Nachrichten 160 in die erste Datei ein. Der Remotecomputer 145 kann die erste Datei gemäß der Datenhierarchie 300 formatieren. Anders ausgedrückt kann der Remotecomputer 145 die aus der Datenbank 155 erhaltenen Daten in ein Format sortieren, das sich von dem Format der Datenbank 155 unterscheidet. Beispielsweise kann die erste Datei das Datenbank-155-Element 305 als den Wurzelknoten, d. h. den höchsten Knoten, und die ECU-120-Elemente 310 als untergeordnete Knoten des Datenbank-155-Elements 305 anzeigen. Anders ausgedrückt kann die erste Datei den Versionsnamen der Datenbank 155 und den Namen jeder ECU 120, z. B. in separaten Zeilen, unter dem Versionsnamen der Datenbank 155 anzeigen. Zusätzlich kann die erste Datei die Nachrichten-160-Elemente 315 als untergeordnete Knoten jeweiliger ECU-120-Elemente 310 und die Daten-170-Elemente 320 als untergeordnete Knoten jeweiliger Nachrichten-160-Elemente 315 anzeigen. Beispielsweise kann jedes Nachrichten-160-Element 315 in separaten Zeilen unter dem jeweiligen ECU-120-Element 315 angezeigt werden und kann jedes Daten-170-Element 320 in separaten Zeilen unter dem jeweiligen Nachrichten-160-Element 315 angezeigt werden.
  • Als Nächstes sortiert in einem Block 430 der Remotecomputer 145 die Nachrichten-160-Elemente 315 der ersten ECU 122 gemäß einer Sortierregel, z.B. alphabetisch, in aufsteigender oder absteigender Reihenfolge usw. Beispielsweise kann der Remotecomputer 145 die Nachrichten-160-Elemente 315 gemäß der Nachrichten-160-Kennung sortieren. Der Remotecomputer 145 kann die Nachrichten-160-Elemente 315 in der ersten Datei auf Grundlage der Sortierregel anzeigen.
  • Als Nächstes sortiert in einem Block 435 der Remotecomputer 145 die Daten-170-Elemente 320 jeder jeweiligen Nachricht 160 gemäß der Sortierregel, z. B. alphabetisch, in aufsteigender oder absteigender Reihenfolge usw. Beispielsweise kann der Remotecomputer 145 die Daten-170-Elemente 320 gemäß dem Daten-170-Deskriptor sortieren. Der Remotecomputer 145 kann die Daten-170-Elemente 320 in der ersten Datei auf Grundlage der Sortierregel anzeigen.
  • Als Nächstes empfängt in einem Block 440 der Remotecomputer 145 eine oder mehrere Nachrichten 160 von der zweiten ECU 124. Beispielsweise kann der Remotecomputer 145 mit der zweiten ECU 124 in Kommunikation stehen, sodass der Remotecomputer 145 Nachrichten 160 (einschließlich Daten 170) gemäß dem Format einer Datenbank 155 von der ersten ECU 122 empfangen kann. Der Remotecomputer 145 kann die Nachrichten 160 z. B. von der zweiten ECU 124 empfangen, wenn sich die zweite ECU 124 auf dem Prüfstand 150 befindet. In dieser Situation kann die zweite ECU 124 die Nachrichten 160 an den Remotecomputer 145 übertragen, z. B. über eine Drahtverbindung. Alternativ kann der Remotecomputer 145 die Nachrichten 160 von dem Fahrzeugcomputer 115 eines zweiten Fahrzeugs 110 empfangen. In dieser Situation kann die zweite ECU 124 die Nachrichten 160 über das Fahrzeugnetzwerk an den Fahrzeugcomputer übertragen und kann der Fahrzeugcomputer 115 die Datenbank 155 über das Netzwerk 140 an den Remotecomputer 145 übertragen. Die zweite ECU 124 kann Daten gemäß dem Format der Datenbank 155 in die Datenbank 155 ausgeben. Der Remotecomputer 145 kann die Datenbank 155 von der zweiten ECU 124 in gleicher Weise empfangen, wie der Remotecomputer 145 die Datenbank 155 von der ersten ECU 122 empfängt, oder in einer anderen Weise. Bei der Datenbank 155 von der zweiten ECU 124 kann es sich um eine andere Version handeln als bei der Datenbank 155 von der ersten ECU 122.
  • Als Nächstes wählt in einem Block 445 der Remotecomputer 145 Nachrichten 160 von der zweiten ECU 124 aus. Beispielsweise kann der Remotecomputer 145 die Datenbank 155 durchsuchen und Nachrichten 160 auswählen, die zu der vorgegebenen Dateneinheit passen, d. h. die gleiche numerische oder alphanumerische Zeichenfolge beinhalten. Das heißt, der Remotecomputer 145 kann die Datenbank 155 filtern, um auf Grundlage der vorgegebenen Dateneinheit Nachrichten 160 zu identifizieren. In diesem Kontext bedeutet „Auswählen“ ein Kopieren aus der Datenbank 155 ohne Verändern der Datenbank 155 oder der Daten darin. Wenn sich die ECU 120 in dem zweiten Fahrzeug 110 befindet, kann die vorgegebene Dateneinheit einen Namen der zweiten ECU 124 und eine Nachrichten-160-Kennung beinhalten. In dieser Situation kann der Remotecomputer 145 die Datenbank 155 nach der vorgegebenen von der zweiten ECU 124 ausgegebenen Nachricht 160 durchsuchen und diese auswählen. Wenn sich die ECU 120 auf dem Prüfstand 150 befindet, kann die vorgegebene Dateneinheit eine Nachrichten-160-Kennung beinhalten. In dieser Situation kann der Remotecomputer 145 den Abschnitt der Datenbank 155, der an der zweiten ECU 124 empfangen wurde, nach der vorgegebenen Nachricht 160 durchsuchen und diese auswählen.
  • Als Nächstes erzeugt in einem Block 450 der Remotecomputer 145 die zweite Datei auf Grundlage der ausgewählten Nachricht 160. Die zweite Datei kann von der Datenbank 155 getrennt sein. Anders ausgedrückt verändert der Remotecomputer 145 die Datenbank 155 unter Umständen nicht, wenn der Remotecomputer 145 die zweite Datei erzeugt. Der Remotecomputer 145 fügt die ausgewählten Nachrichten 160 in die zweite Datei ein. Der Remotecomputer 145 kann die zweite Datei gemäß der Datenhierarchie 300 formatieren. Anders ausgedrückt kann der Remotecomputer 145 die erste Datei und die zweite Datei in gleicher Weise sortieren. In diesen Fällen beinhaltet jede Datei die gleichen übergeordneten und untergeordneten Knoten in einander entsprechenden Zeilen angezeigt.
  • Als Nächstes sortiert in einem Block 455 der Remotecomputer 145 die Nachrichten-160-Elemente 315 der zweiten ECU 124 gemäß einer Sortierregel, z.B. alphabetisch, in aufsteigender oder absteigender Reihenfolge usw. Die Sortierregel ist für die zweite ECU 124 und die erste ECU 122 die gleiche, d. h. die Nachrichten-160-Elemente 315 der ersten Datei und der zweiten Datei sind gleich sortiert. In diesen Fällen zeigt jede Datei die gleichen Nachrichten-160-Elemente 315 für die jeweiligen ECUs 120 in einander entsprechenden Zeilen an.
  • Als Nächstes sortiert in einem Block 460 der Remotecomputer 145 die Daten-170-Elemente 320 jeder jeweiligen Nachricht 160 gemäß einer Sortierregel, z. B. alphabetisch, in aufsteigender oder absteigender Reihenfolge usw. Die Sortierregel ist für die zweite ECU 124 und die erste ECU 122 die gleiche, was dazu führt, dass die gleichen Daten-170-Elemente 320 für die jeweiligen Nachrichten 160 in einander entsprechenden Zeilen der jeweiligen Dateien angezeigt werden oder enthalten sind.
  • Als Nächstes vergleicht in einem Block 465 der Remotecomputer 145 die erste Datei mit der zweiten Datei, z. B. gemäß einem „diff“-Programm, wie es bekannt ist. Der Remotecomputer 145 kann beispielsweise die erste Datei mit der zweiten Datei vergleichen, um Zeilen- und/oder Zeichenunterschiede zwischen den Dateien zu bestimmen. Da die erste Datei und die zweite Datei gemäß der Datenhierarchie 300 strukturiert sind, kann der Remotecomputer 145 die einander entsprechenden Zeilen der Dateien schnell vergleichen, um Unterschiede zwischen den Dateien zu bestimmen.
  • Als Nächstes erzeugt in einem Block 470 der Remotecomputer 145 eine dritte Datei. Die dritte Datei zeigt den Vergleich zwischen der ersten Datei und der zweiten Datei an. Die dritte Datei kann zum Beispiel die erste Datei neben der zweiten Datei, z. B. dieser gegenübergestellt, anzeigen. Die dritte Datei kann somit die gesamte erste und zweite Datei anzeigen, wobei die identifizierten Unterschiede zwischen den einander entsprechenden Zeilen der Dateien hervorgehoben sind. Als ein anderes Beispiel kann die dritte Datei eine Liste von Unterschieden zwischen der ersten und der zweiten Datei anzeigen. In diesem Beispiel zeigt die dritte Datei nur die einander entsprechenden Zeilen der ersten und der zweiten Datei an, die von dem Remotecomputer 145 identifizierte Unterschiede beinhalten, d. h. nur einen Teil der ersten und der zweiten Datei. Der Remotecomputer 145 kann identifizierte Unterschiede zwischen der ersten Datei und der zweiten Datei anzeigen, indem er z. B. die gesamte Zeile, einschließlich des identifizierten Unterschieds, hervorhebt, indem er die Textfarbe identifizierter Unterschiede ändert usw.
  • Als Nächstes gibt in einem Block 475 der Remotecomputer 145 die dritte Datei aus, z. B. an den Benutzer. Der Remotecomputer 145 kann beispielsweise die dritte Datei elektronisch anzeigen, sodass der Benutzer die dritte Datei auf dem Remotecomputer 145 überprüfen kann. Der Prozess endet im Anschluss an Block 475.
  • Im in dieser Schrift verwendeten Sinne bedeutet der Ausdruck „im Wesentlichen“, dass eine Form, eine Struktur, ein Messwert, eine Menge, eine Zeit usw. aufgrund von Mängeln bei Materialien, Bearbeitung, Herstellung, Datenübertragung, Berechnungszeit usw. von einem bzw. einer genauen beschriebenen Geometrie, Abstand, Messwert, Menge, Zeit usw. abweichen kann.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Sync®-Anwendung von Ford, AppLink/Smart Device Link Middleware, der Betriebssysteme Microsoft Automotive®, Microsoft Windows®, Unix (z. B. das Betriebssystem Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, Linux, Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und Android, entwickelt von der Google, Inc. und der Open Handset Alliance, oder der Plattform QNX® CAR für Infotainment, angeboten von QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen bordeigenen Fahrzeugcomputer, einen Arbeitsplatzcomputer, einen Server, einen Schreibtisch-, einen Notebook-, einen Laptop- oder einen Handcomputer oder ein anderes Rechensystem und/oder eine andere Rechenvorri chtung.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung vielfältiger Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Solche Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nichttransitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Zu nicht flüchtigen Medien können zum Beispiel optische Platten oder Magnetplatten und anderer dauerhafter Speicher gehören. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) beinhalten, der typischerweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der an einen Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
  • Datenbanken, Datenbestände oder sonstige Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankverwaltungssystems (RDBMS) usw. Jeder dieser Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem verwendet, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt neben einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen gespeicherter Prozesse, wie etwa der vorstehend erwähnten PL/SQL-Sprache, die strukturierte Abfragesprache (SQL) ein.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf zugehörigen computerlesbaren Speichermedien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige Anweisungen umfassen, die zum Ausführen der in dieser Schrift beschriebenen Funktionen auf computerlesbaren Medien gespeichert sind.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäß einer gewissen geordneten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, wären dem Fachmann nach der Lektüre der vorstehenden Beschreibung ersichtlich. Der Schutzumfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung bestimmt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Patentansprüche zusammen mit dem vollständigen Schutzumfang von Äquivalenten, zu denen solche Ansprüche berechtigen. Es wird erwartet und ist beabsichtigt, dass zukünftige Entwicklungen auf den Gebieten, die in dieser Schrift erörtert sind, stattfinden werden und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen einbezogen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die folgenden Patentansprüche begrenzt ist.
  • Allen in den Ansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie für den Fachmann verständlich ist, es sei denn, es wird in dieser Schrift ausdrücklich das Gegenteil angegeben. Insbesondere ist die Verwendung der Singularartikel wie etwa „ein“, „eine“, „der“, „die“, „das“ usw. dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Auswählen von Nachrichten einer ersten elektronischen Steuereinheit (ECU) aus einer Datenbank gemäß einer vorgegebenen Dateneinheit, für deren Bereistellung über einen Kommunikationsbus die erste ECU programmiert ist; Erzeugen einer ersten Datei der Nachrichten der ersten ECU; Sortieren der Nachrichten in der ersten Datei gemäß einer Hierarchie, welche die vorgegebene Dateneinheit beinhaltet; und Ausgeben einer dritten Datei, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Sortieren der Nachrichten in der ersten Datei gemäß einer Kennung.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Sortieren von Daten in den Nachrichten in der ersten Datei gemäß einem Deskriptor.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Sortieren der Nachrichten der zweiten Datei gemäß der Hierarchie.
  • Gemäß einer Ausführungsform beinhaltet die dritte Datei mindestens eines von einem gegenüberstellenden Vergleich der ersten Datei und der zweiten Datei und einer Liste von Unterschieden zwischen der ersten Datei und der zweiten Datei.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Anzeigen jeder Nachricht der ersten Datei in einer separaten Zeile und ein Anzeigen jeder Dateneinheit jeder Nachricht der ersten Datei in einer separaten Zeile.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Anzeigen von Metadaten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Nachricht und ein Anzeigen von Metadaten jeder Dateneinheit jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Dateneinheit.
  • Gemäß einer Ausführungsform beinhaltet die Hierarchie Daten unter der jeweiligen Nachricht, jede Nachricht unter der jeweiligen ECU und die ECU unter der Datenbank.
  • Gemäß einer Ausführungsform handelt es sich bei der vorgegebenen Dateneinheit um mindestens eines von einem Namen der ersten ECU, Metadaten der Nachrichten in der ersten Datei und Metadaten von Daten der Nachrichten der ersten Datei.
  • Gemäß einer Ausführungsform beinhaltet jede Nachricht eine Kennung und Daten über mindestens eine Eigenschaft einer Fahrzeugkomponente.
  • Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das einen Computer und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die von dem Prozessor für Folgendes ausgeführt werden können: Auswählen von Nachrichten einer ersten elektronischen Steuereinheit (ECU) aus einer Datenbank gemäß eine vorgegebenen Dateneinheit, für deren Bereitstellung über einen Kommunikationsbus die ECU programmiert ist; Erzeugen einer ersten Datei der Nachrichten und der vorgegebenen Dateneinheit der ersten elektronischen Steuereinheit; Sortieren der Nachrichten in der ersten Datei gemäß einer Hierarchie, welche die vorgegebene Dateneinheit beinhaltet; und Ausgeben einer dritten Datei, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Sortieren der Nachrichten in der ersten Datei gemäß einer Kennung.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Sortieren von Daten in den Nachrichten der ersten Datei gemäß einem Deskriptor.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Sortieren der Nachrichten in der zweiten Datei gemäß der Hierarchie.
  • Gemäß einer Ausführungsform beinhaltet die dritte Datei mindestens eines von einem gegenüberstellenden Vergleich der ersten Datei und der zweiten Datei und einer Liste von Unterschieden zwischen der ersten Datei und der zweiten Datei.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Anzeigen jeder Nachricht der ersten Datei in einer separaten Zeile und ein Anzeigen jede Dateneinheit jeder Nachricht der ersten Datei in einer separaten Zeile.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Anzeigen von Metadaten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Nachricht und ein Anzeigen von Metadaten jeder Dateneinheit jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Dateneinheit.
  • Gemäß einer Ausführungsform beinhaltet die Hierarchie Daten unter der jeweiligen Nachricht, jede Nachricht unter der ersten ECU und die erste ECU unter der Datenbank.
  • Gemäß einer Ausführungsform handelt es sich bei der vorgegebenen Dateneinheit um mindestens eines von einem Namen der ersten ECU, Metadaten der Nachrichten in der ersten Datei und Metadaten von Daten der Nachrichten der ersten Datei.
  • Gemäß einer Ausführungsform beinhaltet jede Nachricht eine Kennung und Daten über mindestens eine Eigenschaft einer Fahrzeugkomponente.

Claims (15)

  1. Verfahren, umfassend: Auswählen von Nachrichten einer ersten elektronischen Steuereinheit (ECU) aus einer Datenbank gemäß einer vorgegebenen Dateneinheit, für deren Bereitstellung über einen Kommunikationsbus die ECU programmiert ist; Erzeugen einer ersten Datei der Nachrichten der ersten ECU; Sortieren der Nachrichten in der ersten Datei gemäß einer Hierarchie, welche die vorgegebene Dateneinheit beinhaltet; und Ausgeben einer dritten Datei, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt.
  2. Verfahren nach Anspruch 1, ferner umfassend ein Sortieren der Nachrichten in der ersten Datei gemäß einer Kennung.
  3. Verfahren nach einem der Ansprüche 1-2, ferner umfassend ein Sortieren von Daten in den Nachrichten in der ersten Datei gemäß einem Deskriptor.
  4. Verfahren nach einem der Ansprüche 1-2, ferner umfassend ein Sortieren der Nachrichten der zweiten Datei gemäß der Hierarchie.
  5. Verfahren nach einem der Ansprüche 1-2, ferner umfassend ein Anzeigen jeder Nachricht der ersten Datei in einer separaten Zeile und ein Anzeigen jeder Dateneinheit jeder Nachricht der ersten Datei in einer separaten Zeile.
  6. Verfahren nach einem der Ansprüche 1-2, ferner umfassend ein Anzeigen von Attributen jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Nachricht und ein Anzeigen von Attributen von Daten jeder Nachricht der ersten Datei in derselben Zeile wie die jeweilige Dateneinheit.
  7. System, umfassend einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor für Folgendes ausgeführt werden können: Auswählen von Nachrichten einer ersten elektronischen Steuereinheit (ECU) aus einer Datenbank gemäß einer vorgegebenen Dateneinheit, für deren Bereitstellung über einen Kommunikationsbus die ECU programmiert ist; Erzeugen einer ersten Datei der Nachrichten und der vorgegebenen Dateneinheit der ersten elektronischen Steuereinheit; Sortieren der Nachrichten in der ersten Datei gemäß einer Hierarchie, welche die vorgegebene Dateneinheit beinhaltet; und Ausgeben einer dritten Datei, die einen Vergleich der ersten Datei mit einer zweiten Datei, die Nachrichten einer zweiten ECU beinhaltet, beschreibt.
  8. System nach Anspruch 7, wobei die Anweisungen ferner Anweisungen zum Sortieren der Nachrichten in der ersten Datei gemäß einer Kennung beinhalten.
  9. System nach einem der Ansprüche 7-8, wobei die Anweisungen ferner Anweisungen zum Sortieren von Daten in den Nachrichten in der ersten Datei gemäß einem Deskriptor beinhalten.
  10. System nach einem der Ansprüche 7-8, wobei die Anweisungen ferner Anweisungen zum Sortieren der Nachrichten der zweiten Datei gemäß der Hierarchie beinhalten.
  11. System nach einem der Ansprüche 7-8, wobei die Anweisungen ferner Anweisungen zum Anzeigen jeder Nachricht der ersten Datei in einer separaten Zeile und ein Anzeigen jeder Dateneinheit jeder Nachricht der ersten Datei in einer separaten Zeile beinhalten.
  12. System nach einem der Ansprüche 7-8, wobei die Anweisungen ferner Anweisungen zum Anzeigen von Attributen jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Nachricht und ein Anzeigen von Attributen von Daten jeder Nachricht der ersten Datei in der gleichen Zeile wie die jeweilige Dateneinheit beinhalten.
  13. System nach einem der Ansprüche 7-8, wobei die Hierarchie die Daten unter der jeweiligen Nachricht eingeordnet, jede Nachricht unter der ersten ECU eingeordnet und die erste ECU unter dem Kommunikationsbus eingeordnet beinhaltet.
  14. System nach einem der Ansprüche 7-8, wobei es sich bei der vorgegebenen Dateneinheit um mindestens eines von einem Namen der ersten ECU, einem Attribut der Nachrichten der ersten Datei und einem Attribut von Daten der Nachrichten der ersten Datei handelt.
  15. System nach einem der Ansprüche 7-8, wobei jede Nachricht eine Kennung und Daten über mindestens eine physische Eigenschaft einer Fahrzeugkomponente beinhaltet.
DE102020113758.3A 2019-05-22 2020-05-20 Vergleich von elektronischen steuereinheiten Pending DE102020113758A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/419855 2019-05-22
US16/419,855 US11210267B2 (en) 2019-05-22 2019-05-22 Electronic control unit comparison

Publications (1)

Publication Number Publication Date
DE102020113758A1 true DE102020113758A1 (de) 2020-11-26

Family

ID=73052759

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020113758.3A Pending DE102020113758A1 (de) 2019-05-22 2020-05-20 Vergleich von elektronischen steuereinheiten

Country Status (3)

Country Link
US (1) US11210267B2 (de)
CN (1) CN111983944A (de)
DE (1) DE102020113758A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230024419A1 (en) * 2021-07-23 2023-01-26 GM Global Technology Operations LLC System and method for dynamically configurable remote data collection from a vehicle

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819269A (en) * 1996-06-21 1998-10-06 Robert G. Uomini Dynamic subgrouping in a news network
JP4003062B2 (ja) * 2002-08-30 2007-11-07 三菱自動車工業株式会社 バス方式通信ネットワークにおける通信エラー検出方法
JP2005196568A (ja) * 2004-01-08 2005-07-21 Denso Corp 車両の部品管理方法及び装置、車両の部品管理データ更新方法及び装置、並びに車両部品管理センタ
CA2554915C (en) 2004-02-17 2013-05-28 Ironport Systems, Inc. Collecting, aggregating, and managing information relating to electronic messages
US9292822B2 (en) 2006-01-03 2016-03-22 Motio, Inc. Supplemental system for business intelligence systems
JP4939862B2 (ja) * 2006-07-18 2012-05-30 日立オートモティブシステムズ株式会社 車載システム及びそれを搭載した車両
US9037994B2 (en) 2012-06-26 2015-05-19 International Business Machines Corporation Navigation to a data definition in a diff context
CN103108043B (zh) * 2013-01-31 2018-01-23 厦门雅迅网络股份有限公司 一种应用数据库文件自适应采集ecu报文的方法
US9632878B1 (en) 2013-09-20 2017-04-25 Amazon Technologies, Inc. Verification of database table partitions during backup

Also Published As

Publication number Publication date
US20200371997A1 (en) 2020-11-26
US11210267B2 (en) 2021-12-28
CN111983944A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
DE102010037702A1 (de) Dynamisch verknüpfte grafische Nachrichten für Prozesssteuerungssysteme
DE102014111962B4 (de) Kalibrieren einer elektronischen Steuerungseinheit eines Fahrzeugs
EP2990892B1 (de) Verfahren zum Verbinden einer Eingabe/Ausgabe-Schnittstelle eines für das Testen eines Steuergeräts eingerichteten Testgeräts
DE10149693A1 (de) Objekte in einem Computersystem
EP3425571A1 (de) Digitales gebäudeinformationssystem
DE102012001406A1 (de) Automatische Konfiguration eines Produktdatenmanagementsystems
WO2020078940A1 (de) Verfahren, vorrichtung und computerprogramm zur automatischen verarbeitung von datenbezeichnern
DE102020113758A1 (de) Vergleich von elektronischen steuereinheiten
EP2876512A1 (de) Verfahren zur automatischen Verbindung von Komponenten eines Modells eines technischen Systems
DE202014005278U1 (de) Einbetten von archivierten Daten in eine Datenquelle
DE102020114379A1 (de) Speichern von fahrzeugdaten
WO2008104136A1 (de) System und verfahren zur planung eines technischen systems
DE102020207065B3 (de) Fahrzeug, Verfahren, Computerprogramm und Vorrichtung zum Zusammenführen von Objektinformationen über ein oder mehrere Objekte in einem Umfeld eines Fahrzeugs
EP3761166A1 (de) Verfahren zum verwalten eines feldgeräts und automatisierungssystem
DE102019218724A1 (de) Datenverwaltungsvorrichtung für ein Zweirad
EP3699704A1 (de) System und verfahren zum überprüfen von systemanforderungen von cyber-physikalischen systemen
DE112008002252B4 (de) Sendevorrichtung, Sendeverfahren und Kommunikationssystem
WO2022023338A1 (de) Verfahren zum steuern eines automatisierungssystems mit visualisierung von programmobjekten eines steuerprogramms des automatisierungssystems und automatisierungssystem
DE102021126579A1 (de) Automatisierte einrichtungs- und kommunikationskoordination zum trainieren und nutzen massiv paralleler neuronaler netzwerke
DE102020124046A1 (de) Dezentral autorisierte fahrzeugvorgänge
DE102012007321A1 (de) Verfahren zum Betreiben eines Diagnosesystems und Diagnosesystem
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
EP1960854A1 (de) Diagnoseverfahren und diagnosevorrichtung zur funktionsorientierten diagnose eines systems mit vernetzten komponenten
DE102016100999A1 (de) Vorrichtung einer rekonfigurierbaren Softwaremodusverwaltung unter Verwendung einer Laufzeitausführungsmaschine
DE112018002344T5 (de) Entwicklungsunterstützungsvorrichtung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: LORENZ SEIDLER GOSSEL RECHTSANWAELTE PATENTANW, DE