-
Die Erfindung betrifft ein Verfahren zur Anzeige von Nachrichten eines Nachrichtensystems, wobei ein zu testendes Steuergerät über das Nachrichtensystem mit einer Testumgebung verbunden ist, wobei die Testumgebung und das zu testende Steuergerät über das Nachrichtensystem Nachrichten austauschen und wobei die Testumgebung mindestens eine Recheneinheit für das Erstellen, Empfangen und Verarbeiten von Nachrichten für den Nachrichtenaustausch mit dem zu testenden Steuergerät sowie zur Befehlsverarbeitung, insbesondere Befehlsverarbeitung durch ein Anzeigeprogramm, aufweist und weiter eine Eingabevorrichtung zur Befehlseingabe durch einen Benutzer und eine Anzeigevorrichtung aufweist, wobei mittels der Anzeigevorrichtung in einem ersten Anzeigeelement alle empfangenen Nachrichten in einer ersten Ansicht angezeigt werden, wobei mittels des auf der Recheneinheit vorgehaltenen Anzeigeprogramms jede empfangene Nachricht gemäß einer Filteranweisung geprüft wird und bei positiver Prüfung die entsprechende Nachricht zusätzlich in einem zweiten Anzeigeelement in einer zweiten Ansicht angezeigt wird.
-
Ebenso betrifft die Erfindung eine Testumgebung zur Durchführung des erfindungsgemäßen Verfahrens.
-
Zur Entwicklung von Steuergeräten, beispielsweise für die Automobilindustrie, ist es üblich, den Nachrichtenverkehr, den das Steuergerät über ein Nachrichtensystem mit seiner Umgebung austauscht, zu untersuchen, bzw. zwecks Untersuchung anzuzeigen. Dies kann z.B. im Rahmen einer Hardware-in-the-Loop (HIL) Simulation erfolgen, bei der das zu entwickelnde, d.h. zu testende, Steuergerät über ein Nachrichtensystem mit einem Echtzeitrechner kommuniziert, wobei der Echtzeitrechner die vom zu testenden Steuergerät erwarteten Daten (oder auch manipulierte, d.h. z.B. absichtlich mit Fehlern versehene Daten) an das Steuergerät sendet und auch Nachrichten von dem zu testenden Steuergerät empfängt, die dann ausgewertet werden, um die korrekte Funktionsweise des Steuergerätes zu überprüfen.
-
Für die Analyse ist es zum einen möglich, die ausgetauschten Nachrichten aufzuzeichnen und im Nachhinein auszuwerten. Oft ist es jedoch gewünscht, die Nachrichten während des Tests zu beobachten, z.B. um Auffälligkeiten schon während der Simulation zu bemerken und in bestimmten Situationen direkt in die Simulation einzugreifen.
-
Werkzeuge, welche die Anzeige von Nachrichten in solchen Testumgebungen ermöglichen sind beispielsweise der BusNavigator von dSPACE GmbH oder CANalyzer der Vector Informatik GmbH.
-
Problematisch bei der Anzeige von Nachrichten im laufenden Betrieb (online) ist, dass eine große Vielzahl von Nachrichten in kurzer Zeit angezeigt wird, sodass es für den Benutzer schwierig ist, einzelne Nachrichten aufgrund bestimmter Eigenschaften zu identifizieren und zu fokussieren. Die Verwendung von Filtern oder weiteren Anzeigeelementen kann hierbei hilfreich sein, doch geht dabei oft der Kontext, in dem eine bestimmte Nachricht versendet wurde (z.B. die Nachrichten vor oder nach der betrachteten Nachricht) verloren.
-
Aufgabe der vorliegenden Erfindung ist es, den Stand der Technik zu verbessern, durch Bereitstellung eines Verfahrens und einer Testumgebung, welche die Nachteile des Stands der Technik verringern.
-
Die vorbenannte Aufgabe wird dadurch gelöst, dass gemäß dem erfindungsgemäßen Verfahren das erste Anzeigeelement und das zweite Anzeigeelement über eine gemeinsame Schnittstelle miteinander verbunden sind, sodass ein eingegebener Befehl, der auf das erste Anzeigeelement wirkt, gleichermaßen auch auf das zweite Anzeigeelement wirkt und/oder ein eingegebener Befehl, der auf das zweite Anzeigeelement wirkt, gleichermaßen auch auf das erste Anzeigeelement wirkt.
-
Ein Vorteil des erfindungsgemäßen Verfahrens ist es, dass es nicht vonnöten ist, dass der Benutzer Befehle, welche z.B. die Darstellung einer bestimmten Nachricht betreffen, für beide Anzeigeelemente einzeln eingibt. Dadurch wird dem Benutzer beispielsweise erspart, per Mausklick oder Tastenkombination beide Anzeigeelemente zu aktivieren oder eine Aktivierung zu ändern. Ein solcher Aktivierungsprozess erfordert Zeit und Aufmerksamkeit, die der Benutzer mithilfe der Erfindung nun auf die Beobachtung des Nachrichtenverkehrs verwenden kann.
-
In einer weiteren Ausführungsform der Erfindung ist das erste Anzeigeelement durch ein erstes Anzeigefenster gegeben und das zweite Anzeigeelement durch ein zweites Anzeigefenster oder einen separaten Anzeigebereich in dem ersten Anzeigeelement gegeben.
-
Hierbei kann durch ein zweites Anzeigefenster die räumliche Separierung der Anzeigeelemente zu mehr Übersicht führen, wohingegen die Anzeige in einem separaten Anzeigebereich in dem ersten Anzeigeelement ermöglicht, den Kontext, in dem die betreffende Nachricht gesendet wurde, besser zu erfassen.
-
Gemäß einer weiteren Ausführungsform der Erfindung ist das Nachrichtensystem durch ein Bussystem, insbesondere CAN, LIN oder FlexRay, oder durch ein Nachrichtennetzwerk, insbesondere ein automotives Ethernet Netzwerk, gegeben.
-
In einer weiteren Ausprägung sind die erste und die zweite Ansicht jeweils wahlweise durch eine kontinuierliche, eine statische oder eine hierarchische Anzeigeweise der angezeigten Nachrichten gegeben, wobei eine Nachricht in der ersten Ansicht und in der zweiten Ansicht auf unterschiedliche Anzeigeweisen anzeigbar ist.
-
Mit einer kontinuierlichen Anzeigeweise ist hier eine kontinuierliche zeitliche Auflistung aller Nachrichten gemeint, wobei in der Liste zeilenweise jede Nachricht mit u.a. ID, Zeitstempel, Nachrichteninhalt aufgeführt ist.
-
Mit statischer Anzeigeweise ist eine Anzeigeweise gemeint, bei der für jede Nachricht nur eine Zeile aufgelistet wird, in der bei jedem neuen Empfang des Nachrichtenframes Zeitstempel und Nachrichteninhalt aktualisiert werden.
-
Mit einer hierarchischen Anzeigeweise ist hier gemeint, dass die Nachrichten in einer hierarchischen Baumstruktur angezeigt werden, wobei die Nachrichten nach ihrer ID sortiert sind, unter der jede neu eintreffende Nachricht in einer neuen Zeile angezeigt wird.
-
Insgesamt ist hier vorteilhaft, dass interessierende Nachrichten in den unterschiedlichen Anzeigeelementen auf verschiedene Anzeigeweisen angezeigt werden - wobei jede Anzeigeweise ihre Vorzüge hat - und doch Befehle gleichzeitig auf beide Anzeigeweisen wirken können.
-
In einer weiteren Ausführungsform der Erfindung ist ein eingegebener Befehl durch einen Suchbefehl, einen „Einfrier-Befehl“ oder einen Auswahlbefehl, insbesondere eine Auswahl zum Hervorheben, gegeben.
-
Mittels des Suchbefehls lässt sich nach bestimmten Nachrichten, Inhalten oder Informationen zu Nachrichten in einer Ansicht suchen. Der „Einfrier“-Befehl ermöglicht, die Anzeige der zeitlichen Aktualisierung anzuhalten, sodass die Anzeige im Anzeigeelement bis zur Aufhebung des „Einfrier“-Befehls unverändert bleibt. Nach Aufhebung des Einfrier-Befehls werden i.d.R. wieder die aktuellen Daten angezeigt, d.h. alle zwischenzeitlichen Daten verworfen.
-
In einer weiteren Ausführungsform ist am ersten Anzeigeelement für einen Befehl einstellbar, ob der Befehl bei Eingabe durch den Benutzer gleichermaßen auch auf das zweite Anzeigeelement wirkt und/oder es ist am zweiten Anzeigeelement einstellbar, ob der Befehl bei Eingabe durch den Benutzer auch gleichermaßen auf das erste Anzeigeelement wirkt.
-
Somit ist die Erfindung optional und Befehls-selektiv einstellbar. Dies ist vorteilhaft, wenn der Benutzer nicht jeden Befehl gleichermaßen auf beide Anzeigeelemente anwenden möchte.
-
Gemäß einer weiteren Ausführungsform der Erfindung ist mittels der Testumgebung einstellbar, dass bei einer positiven Prüfung einer Filteranweisung eine zweite, bedingte Filteranweisung aktiviert wird.
-
Beispielsweise kann vom Nutzer der Erfindung gewünscht sein, dass bei positiver Filterung auf einen bestimmten Nachrichteninhalt einer ersten Nachricht ein zweiter Filter aktiviert wird, sodass auch eine zweite Nachricht gefiltert und in dem zweiten Anzeigeelement angezeigt wird, die unmittelbar vor und/oder unmittelbar nach der gefilterten ersten Nachricht eingegangen ist. Ein anderes Beispiel wäre, dass ein erster Filter auf ein „Sleep“-Kommando („Einschlaf“-Kommando) im Inhalt einer ersten Nachricht bei positiver Filterung einen zweiten Filter auf alle Nachrichten setzt, die von dem Steuergerät gesendet werden, welches das „Sleep“-Kommando erhalten hat, sodass ein Verstoß gegen das „Einschlaf“-Kommando leicht entdeckt wird.
-
Nach einer weiteren Ausführungsform der Erfindung ist an der Testumgebung, insbesondere mittels des Anzeigeprogramms und aufgrund einer Befehlseingabe durch den Benutzer, einstellbar, dass eine Filteranweisung nur zeitlich begrenzt wirksam ist.
-
Dieses erfindungsgemäße Merkmal hat den Vorteil, dass das zweite Anzeigeelement, welches insbesondere zu einer besseren Übersicht verhelfen soll, nicht dauerhaft mit gefilterten Nachrichten überfrachtet wird. Manche Informationen werden nur für einen begrenzten Zeitraum benötigt. Diese Ausführungsform ermöglicht eine Voreinstellung bzw. Begrenzung der Anzeigedauer.
-
In einer weiteren Ausführungsform besteht das Nachrichtensystem aus mehreren technisch verschiedenen Nachrichtensystemen und die Nachrichten aus den verschiedenen Nachrichtensystemen werden gemeinsam in dem ersten und/oder zweiten Anzeigeelement angezeigt.
-
Das parallele Anzeigen von Nachrichten unterschiedlicher Nachrichtensysteme in einem einzigen Anzeigeelement ermöglicht beispielsweise eine bessere Verfolgbarkeit von Nachrichten, die über ein Gateway von einem Nachrichtensystem in ein anderes überführt werden.
-
In einer weiteren Ausgestaltung der Erfindung ist das zu testende Steuergerät durch ein virtuelles Steuergerät und das Nachrichtensystem durch ein simuliertes Nachrichtensystem gegeben.
-
Erfindungsgemäß wird das zu testende Steuergerät entweder als reales Steuergerät mit dem Echtzeitrechner eines HIL-Systems verbunden und getestet, oder das zu testende Steuergerät wird als virtuelles Steuergerät auf einem PC simuliert und getestet.
-
Steuergeräte werden in unterschiedlichen Entwicklungsstufen getestet. In frühen Entwicklungsphasen liegt die Steuergerätefunktionalität nur in Software vor und wird z.B. in Form von virtuellen Steuergeräten auf Simulationsplattformen getestet, die die gesamte Umgebung des (virtuellen) Steuergeräts simulieren. Solche Tests finden noch nicht unter Echtzeitbedingungen statt. Man spricht hiervon Offline-Simulation. Auch in solchen Simulationsumgebungen ist es möglich Bussysteme zu simulieren und den Nachrichtenverkehr zwischen virtuellen Steuergeräten zu testen (https://www.dspace.com/en/inc/home/products/systems/virtual validatio n/viva usecases/usecase virtual-bus-simulation.cfm).
-
In einer späteren Entwicklungsstufe liegt das Steuergerät schon in Hardware und Software vor und wird im Rahmen eines HIL Test getestet.
-
Vorteilhafterweise kann das erfindungsgemäße Verfahren sowohl für den HIL-Test als auch für den virtuellen Test verwendet werden.
-
Die oben genannte Aufgabe wird ebenfalls gelöst durch eine Testumgebung nach Anspruch 12 zur Durchführung des erfindungsgemäßen Verfahrens.
-
Im Einzelnen gibt es nun eine Vielzahl von Möglichkeiten, das erfindungsgemäße Verfahren und die erfindungsgemäße Testumgebung auszugestalten und weiterzubilden. Dazu wird verwiesen einerseits auf die den Patentansprüchen 1 und 12 nachgeordneten Patentansprüche, andererseits auf die folgende Beschreibung von Ausführungsbeispielen in Verbindung mit der Zeichnung. In der Zeichnung zeigen
- 1 eine typische Testumgebung für einen HIL-Test,
- 2 eine typische Testumgebung für die virtuelle Absicherung eines Steuergerätes,
- 3 eine erfindungsgemäße Ansteuerung der Anzeigeelemente,
- 4 eine erfindungsgemäße Anzeige von gefilterten Nachrichten,
- 5 eine Eingabemaske für einen erfindungsgemäßen Filter.
-
1 zeigt eine Testumgebung 1 für einen HIL-Test eines Steuergerätes 2. Dabei ist das zu testende Steuergerät 2 über ein Nachrichtensystem 3 mit einem Simulator 4a verbunden, der in diesem Fall durch einen Echtzeitsimulator 4a gegeben ist. Der Echtzeitsimulator berechnet die vom zu testenden Steuergerät 2 erwarteten Nachrichten und stellt sie, in Übereinstimmungen mit den vorliegenden Echtzeitbedingungen, dem Steuergerät 2 zur Verfügung. In der Regel ist der Echtzeitsimulator 4a mit einem handelsüblichen PC 4b verbunden, auf dem u.a. ein Anzeigeprogramm 6 vorgehalten ist, das als sogenanntes „Monitoring-Programm“ dazu dient, dem Benutzer ausgewählte Nachrichten und Daten auf einem mit dem PC 4b verbundenen oder zum PC 4b dazugehörigen Bildschirm, nämlich der Anzeigevorrichtung 5, anzuzeigen. Die Testumgebung 1 verfügt auch über eine Eingabevorrichtung für die Befehlseingabe durch den Benutzer, üblicherweise in Form von Maus und Tastatur am PC 4b (hier nicht extra dargestellt). Der Zusammenschluss von Echtzeitsimulator 4a und PC 4b ist hier als Recheneinheit 4 bezeichnet.
-
2 zeigt die Testumgebung 1 für den Fall der virtuellen Absicherung, bei der das Steuergerät 2 nur in Form von Software, z.B. als sogenanntes „virtuelles Steuergerät“ vorliegt. Für diesen Fall ist die Recheneinheit 4 bspw. nur durch einen PC 4b gegeben, auf dem ein Simulator 4a in Form einer Simulationssoftware (wie z.B. der Simulationsplattform VEOS der dSPACE GmbH) vorgehalten ist. Der Simulator 4a simuliert das virtuelle Steuergerät 2 sowie das Nachrichtensystem 3 und die Umgebung 7, d.h. u.a. die vom zu testenden Steuergerät 2 erwarteten Nachrichten oder auch das Fahrzeug, für welches das Steuergerät 2 entwickelt wird. Der Simulator 4a koordiniert dabei die Ausführung der entsprechenden Programme, mit denen die einzelnen Komponenten modelliert wurden. Auch hier ist ein Anzeigeprogramm 6 auf dem PC 4b vorgehalten, das es dem Benutzer ermöglicht, während der Simulation ausgetauschte Nachrichten auf der Anzeigevorrichtung 5 anzeigen zu lassen.
-
3 zeigt schematisch die mit dem Anzeigeprogramm 6 verbundene Eingabevorrichtung 11 zur Befehlseingabe. Hier werden von dem Benutzer, beispielsweise mittels Maus und Tastatur, Befehle in eine graphische Benutzeroberfläche (GUI) des Anzeigeprogramms 6 eingegeben, wobei sich die eingegebenen Befehle auf das erste Anzeigeelement 8 und/oder das zweite Anzeigeelement 9 beziehen. Die Anzeigeelemente 8 und 9 können dabei als Teil der GUI des Anzeigeprogramms 6 angesehen werden. Die Befehle betreffen hierbei beispielsweise die Auswahl von anzuzeigenden Elementen/Nachrichten, die Konfiguration des Anzeigeelements oder der Anzeigeweise.
Erfindungsgemäß ist nun eine Schnittstelle 10 vorgesehen, über die ausgewählte Befehle, welche das erste Anzeigeelement 8 und das zweite Anzeigeelement 9 betreffen, gleichermaßen - und sozusagen synchron - an beide Anzeigeelemente 8, 9 weitergegeben werden. Somit werden die entsprechenden Befehle in beiden Anzeigeelementen 8, 9 gleichartig und im Wesentlichen synchron ausgeführt. Eine solche gemeinsame Schnittstelle 10 wird erfindungsgemäß mit der Instanziierung des zweiten Anzeigeelements 9 eingerichtet, wobei die Instanziierung der zweiten Anzeigeelements 9 aufgrund einer positiven Filterung automatisch erfolgt. In 3 sind noch weitere Schnittstellen 12 aufgeführt, die als separate Schnittstellen mit dem Anzeigeprogramm 6 ausgeführt sind. Diese sind für Befehle vorgesehen, die nur auf ein Anzeigeelement 8 oder 9 wirken sollen, bspw. die Konfiguration der Ansicht, d.h. Anzeigeform. Befehle, die nur auf eines der beiden Anzeigeelemente 8 oder 9 wirken sollen, werden bevorzugt direkt am jeweiligen Anzeigeelement 8 oder 9 eingegeben, z.B. per Selektion aus Auswahllisteneinträgen mittels Maus- und/oder mittels Tastatureingabe.
-
4 zeigt eine Ausführungsform der Erfindung, wobei das zweite Anzeigeelement 9 als ein separater Teilbereich des ersten Anzeigeelements 8 ausgestaltet ist.
Das erste Anzeigeelement 8 ist in Form eines Anzeigefensters gegeben. Informationen zu Nachrichten werden hier Zeile für Zeile angezeigt, geordnet nach Spalten. In diesem Ausführungsbeispiel zeigen die Spalten ID, Zeitstempel (Zeit), Name, Senderichtung (Richtung) und Inhalt der jeweiligen Nachricht an (weitere Spalten, die z.B. Sender- und/oder Empfängeradresse angeben sind ebenfalls üblich, hier aber nicht gezeigt). Diese Information ist oben in der Fensterleiste ausgeführt. Da in 4 die Spalten für das erste Anzeigeelement mit den Spalten für das zweite Anzeigeelement übereinstimmen, ist die Information über den Inhalt der Spalten aus Gründen der Übersicht nur einmal für beide Anzeigeelemente aufgeführt. In einer anderen Ausführung mit abweichender Spaltenordnung wäre im zweiten Anzeigeelement diese Information noch einmal separat aufgeführt, bzw. das zweite Anzeigeelement als separates Anzeigefenster ausgeführt.
Im ersten Anzeigeelement 8 der 4 sind die erfassten Nachrichten in einer zeitlich kontinuierlichen Anzeigeweise aufgeführt, wohingegen im zweiten Anzeigeelement 9 eine statische Ansicht gewählt ist, in der nur eine Instanz mit den aktuellen Information der gefilterten ID „0x287“ aufgeführt ist. Die Nachricht mit dem Namen „Nachricht 10“ wird hier dadurch angezeigt, dass ein bedingter Filter eingestellt wurde, der bei Empfang einer Nachricht mit der ID „0x287“ aktiviert wird, um auch die darauffolgende Nachricht in dem zweiten Anzeigeelement 9 anzuzeigen. (Es wird hier also nicht für jede positive Filterung ein neues Anzeigeelement instanziiert.) Weiter wird in 4 mittels der Maus ein Befehl zur Hervorhebung einer markierten Nachricht gegeben, der erfindungsgemäß auf beide Anzeigeelemente 8, 9 gleichermaßen wirkt. Daher werden sowohl in Anzeigeelement 9 als auch in Anzeigeelement 8 alle Nachrichten mit der ID „0x287“ hervorgehoben.
-
Zur Auswahl der Anzeigeweise und um andere Einstellungen vorzunehmen ist in der Regel in mindestens einem der beiden Anzeigeelemente eine weitere Bedienleiste vorgesehen, die jedoch hier nicht dargestellt ist, da solche Bedienleisten dem Fachmann bekannt sind.
-
In 5 ist eine GUI zur Einstellung eines Filters 13 skizziert. Der Filter wird vom Benutzer konfiguriert, indem er in Feldern 14, 15, 16, 17, 18, 19 mittels Auswahllisten oder Eintragung per Tastatur Filterkriterien bzw. Filteranweisungen vorgibt. Beispielsweise ist in 5 in Feld 14 ausgewählt, dass nach einem Nachrichten-Inhalt zu filtern ist. Der zu filternde Nachrichten-Inhalt ist in Feld 15 mit „sleep“ spezifiziert. Weiter ist diese Filteranweisung UND-verknüpft mit einer bestimmten Empfängeradresse, welche mit „XXXXXXX“ angegeben ist. Es werden demnach alle Nachrichten gefiltert und erfindungsgemäß in einem zweiten Anzeigeelement zur Ansicht gebracht, die an die Adresse „XXXXXXX“ verschickt werden und ein „Sleep“-Kommando enthalten. Für den Fall, dass dieser Filter anschlägt, ist mittels der Felder 18 und 19 eine weitere (und somit bedingte) Filteranweisung gegeben (Bedingter Filter (BF)), nämlich dass alle Nachrichten mit der Senderadresse „XXXXXXX“ in diesem Fall ebenfalls im zweiten Anzeigeelement 9 aufgeführt werden sollen. Die Umsetzung der Filteranweisungen erfolgt mittels des Anzeigeprogramms 6. Somit wird für den Benutzer, der mittels des Monitoring-Programms eine Vielzahl schnell veränderlicher Nachrichten überwachen muss, die Identifizierung bestimmter Nachrichten oder Ereignisse erleichtert bzw. ermöglicht.
Mittels einer Auswahl bezüglich der Dauer der Filterung lässt sich vom Benutzer einstellen, wie lang der eingestellte Filter wirken, bzw. das entsprechende Filterergebnis angezeigt werden soll. Eine entsprechende Einstellung nur für den bedingten Filter ist ebenso konfigurierbar.