Beschreibung
Verfahren und Vorrichtung zum Analysieren von Ereignissen in einem System
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Analysieren von Ereignissen, die in einem System, insbesondere einem elektronischen System auftreten, das aus Systemkomponenten besteht, welche intern über eine gemeinsame Datenba- sis miteinander kommunizieren.
Systeme, insbesondere elektronische Systeme, können aus einer Vielzahl verschiedener Systemkomponenten bestehen. Diese Systemkomponenten können einerseits Hardwarekomponenten und an- dererseits Softwarekomponenten umfassen. Weiterhin können Systemkomponenten auch Hardwarekomponenten sein, auf denen Software implementiert ist. Insbesondere bei sicherheitskri¬ tischen Systemen werden fehlerhafte Systemkomponenten bei Auftreten eines Fehlers in der Regel sofort abgeschaltet. Das sofortige Abschalten derartiger Systemkomponenten führt allerdings zu einem Verlust von Daten, die für die Analyse und Eingrenzung der Fehlerursachen notwendig sind. Wenn in einem sicherheitskritischen elektronischen System Fehler auftreten, dann wird das gesamte fehlerhafte System oder zumindest die betroffenen Systemkomponenten in vielen Anwendungen sofort abgeschaltet. Ist das betroffene System redundant ausgelegt, wird bei Erkennen eines Fehlers, der einer Systemkomponente zugeordnet und auf diese beschränkt werden kann, die betrof¬ fene fehlerhafte Systemkomponente abgeschaltet und anschlie- ßend wird die betroffene Systemkomponente entweder neu ge¬ startet, um den Fehler zu beheben und die Systemkomponente zu prüfen und in einen definierten Zustand zu versetzen oder die betroffene fehlerhafte Systemkomponente wird durch eine funk¬ tional äquivalente redundante Systemkomponente des elektroni- sehen Systems ersetzt. In beiden Fällen geht ein Großteil der benötigten Daten, wie Ereignisse oder Systemzustände, die zur Abschaltung des gesamten fehlerhaften Systems oder zumindest der fehlerhaften Systemkomponente geführt haben, nach der Ab-
Schaltung verloren und steht zur Analyse und Eingrenzung der Fehlerursachen nicht mehr zur Verfügung.
Während des Betriebes eines elektronischen Systems werden bei vielen herkömmlichen elektronischen Systemen wichtige Ereignisse und Systemzustände des elektronischen Systems protokol¬ liert, wobei die protokollierten Ereignisse und Systemzustände bzw. Daten später Aufschluss für mögliche Fehlerursachen geben sollen. Beispiele für derartige herkömmliche elektroni- sehe Systeme sind sogenannte Black Boxes in Flugzeugen oder Schienenfahrzeugen oder sogenannte Event Logs auf Microsoft Windows-Systemen oder System Logs auf Unix-Systemen. Aus Platzgründen speichern derartige Systeme nur eine Auswahl an temporalen Daten in einem Datenfenster, beispielsweise die jüngsten N Datensätze. Weiterhin werden bei derartigen herkömmlichen Systemen nur diejenigen Daten in einem Datenspeicher gespeichert, welche geeignet sind, Fehler zu dokumentie¬ ren, die ein Systementwickler des Systems vor dem Systemeinsatz bedacht hat. Daher können Wartungsingenieure beispiels- weise nicht Ereignisse analysieren, die zum Ausfall von Sys¬ temfunktionen führen bzw. geführt haben, falls die Möglichkeit eines Auftretens eines entsprechenden Fehlers während der Systementwicklung nicht seitens des Systementwicklers be¬ dacht wurde oder die gespeicherten Daten außerhalb des rele- vanten Datenfensters liegen. Für die Analyse eines Fehler¬ falls stehen nur die aufgezeichneten und noch verfügbaren Daten bzw. Datensätze bereit, sofern der Datenspeicher nicht selbst von einem Fehler betroffen ist. Daher ist die Prüfung von temporären Systemzuständen an einem im Fehlerfall sofort abgeschalteten System bzw. Systemkomponente bei herkömmlichen Systemen nicht möglich.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Analysieren von Ereignis- sen zu schaffen, das eine Analyse des aufgetretenen Fehlers hinsichtlich seiner Fehlerursache auch nach einem Abschalten der betroffenen Systemkomponenten erlaubt.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den in Patentanspruch 1 angegebenen Merkmalen gelöst.
Die Erfindung schafft demnach ein Verfahren zum Analysieren von Ereignissen, die in einem System auftreten, das aus Systemkomponenten besteht, welche intern über eine gemeinsame Datenbasis miteinander kommunizieren und über eine erste Schnittstelle des Systems mit einer Systemumgebung des Sys¬ tems verbunden sind, wobei das Verfahren die folgenden
Schritte aufweist:
Isolieren einer Systemkomponente des Systems von der Systemumgebung, sofern eine Integritätskomponente des Systems das Auftreten eines bestimmten Ereignisses in der Systemkomponente erkennt,
Übergeben der Steuerung der isolierten Systemkomponente durch die Integritätskomponente an eine Analysekomponente des Sys¬ tems, welche eine Kommunikationsverbindung über eine zweite Schnittstelle des Systems mit einer externen Analyseeinheit aufbaut, und
Analysieren des in der isolierten Systemkomponente aufgetre¬ tenen Ereignisses durch die externe Analyseeinheit anhand der Komponentendaten der isolierten Systemkomponente, die in der gemeinsamen Datenbasis des Systems abgelegt sind. Mit dem erfindungsgemäßen Verfahren werden somit die zum
Zeitpunkt des Eintritts eines Fehlers vorliegenden Systemzu¬ stände und aufgezeichneten Ereignisse aufbewahrt. Dadurch steht das gesamte fehlerhafte System oder zumindest die be¬ troffene fehlerhafte Systemkomponente weiter für Analysen zur Verfügung.
Das erfindungsgemäße Verfahren kann während der Systement¬ wicklung für Tests des Systems oder zur Suche nach Fehlerursachen im Rahmen eines Fehler-Debuggens verwendet werden. Weiterhin kann das erfindungsgemäße Verfahren während des Einsatzes des Systems im Feld, d.h. während des operativen Einsatzes des Systems, ausgeführt werden.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens stellt die Analysekomponente des Systems die in der gemeinsamen Datenbasis des Systems abgelegten Komponentendaten der isolierten Systemkomponente der externen Analyseeinheit über die aufgebaute Kommunikationsverbindung zur Analyse des in der isolierten Systemkomponente aufgetretenen Ereignisses bereit.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens deaktiviert die externe Analyseeinheit nach vorgenommener Analyse des in der isolierten Systemkomponente aufgetretenen Ereignisses die isolierte Systemkomponen¬ te .
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens schreibt die Analysekomponente anschlie¬ ßend definierbare Komponentendaten der betroffenen Systemkomponente in die gemeinsame Datenbasis des Systems ein.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens veranlasst die externe Analyseeinheit nach dem Einschreiben der definierbaren Komponentendaten in die gemeinsame Datenbasis des Systems einen Neustart des gesamten Systems oder der betroffenen Systemkomponente.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird in jeder Systemkomponente des Systems eine Datenkopie der in der gemeinsamen Datenbasis abgelegten Komponentendaten aller Systemkomponenten des Systems gespeichert .
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens überwacht die Integritätskomponente das Auftreten eines Ereignisses in einer Systemkomponente des Systems auf Basis der in der gemeinsamen Datenbasis des Sys¬ tems abgelegten Komponentendaten kontinuierlich.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens isoliert die Integritätskomponente bei Auftreten eines bestimmten Ereignisses in einer Systemkompo¬ nente des Systems diese Systemkomponente von der Systemumge¬ bung .
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens hält die Integritätskomponente die iso¬ lierte Systemkomponente, soweit möglich, zumindest so lange aktiv, bis eine Analyse des in der Systemkomponente aufgetre¬ tenen Ereignisses durch die externe Analyseeinheit abge¬ schlossen ist.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird ein Schreibzugriff durch eine Systemkomponente des Systems ausschließlich auf die eigenen Kompo¬ nentendaten der jeweiligen Systemkomponente innerhalb der ge¬ meinsamen Datenbasis des Systems vorgenommen.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens werden durch eine in dem System implementierte Testkomponente sowohl Schreibzugriffe als auch Lese¬ zugriffe auf die Komponentendaten von allen Systemkomponenten des Systems, die in der gemeinsamen Datenbasis des Systems abgelegt sind, vorgenommen.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens benutzt die Analysekomponente des Systems die Testkomponente des Systems dazu, Schreib- und Lesezugrif¬ fe auf Komponentendaten von Systemkomponenten des Systems vorzunehmen, die in der gemeinsamen Datenbasis des Systems abgelegt sind.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist die in dem System vorhandene Test¬ komponente über die zweite Schnittstelle des Systems eine Kommunikationsverbindung mit einer externen Testeinheit auf.
b
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens ruft die Testkomponente als Systemkompo¬ nente des Systems gezielt Ereignisse in einer oder mehreren Systemkomponenten des Systems hervor, welche durch die Integ- ritätskomponente des Systems erfasst werden.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens steuern und/oder überwachen die Systemkomponenten des Systems externe Komponenten der Systemumgebung des Systems.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weisen die externen Komponenten der Systemumgebung des Systems Aktuatoren und/oder Sensoren auf, die über ein Netzwerk mit der bzw. den ersten Schnittstellen des Systems verbunden sind und durch Systemkomponenten des Systems gesteuert und/oder überwacht werden.
Bei einer weiteren möglichen Ausführungsform des erfindungs- gemäßen Verfahrens sind zumindest einige der Systemkomponen¬ ten des Systems, einschließlich der Integritätskomponente, der Analysekomponente und der Testkomponente, Softwarekompo¬ nenten, die auf einem oder mehreren Prozessorkernen des Systems implementiert sind.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens erkennt die Integritätskomponente das Auf¬ treten eines Ereignisses in einer Systemkomponente bei einem Auftreten von Abweichungen der gespeicherten Komponentendaten von vorgegebenen Sollwerten, bei Überschreiten von Grenz- o- der Schwellwerten oder bei Auftreten von Inkonsistenzen .
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird die erste Schnittstelle des Systems durch eine Netzwerkschnittstelle zu einem Netzwerk der Sys¬ temumgebung des Systems gebildet.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird die zweite Schnittstelle des Systems durch eine Schnittstelle, insbesondere eine drahtlose
Schnittstelle, zu der lokal oder entfernt vorgesehenen Analy- seeinheit und/oder Testeinheit gebildet.
Die Erfindung schafft ferner ein System, insbesondere ein elektronisches System, mit den in Patentanspruch 15 angegebe¬ nen Merkmalen.
Die Erfindung schafft demnach ein System, insbesondere elekt¬ ronisches System, das aus Systemkomponenten besteht, welche intern über eine gemeinsame Datenbasis miteinander kommunizieren und über mindestens eine erste Schnittstelle des Sys- tems mit einer Systemumgebung des Systems verbunden sind, wobei das System aufweist:
eine Integritätskomponente, welche eine Systemkomponente des Systems von der Systemumgebung des Systems isoliert, sobald die Integritätskomponente des Systems das Auftreten eines be- stimmten Ereignisses in der jeweiligen Systemkomponente des Systems erkennt,
eine Analysekomponente, an welche die Integritätskomponente die Steuerung der isolierten Systemkomponente übergibt, wor¬ aufhin die Analysekomponente eine Kommunikationsverbindung über eine zweite Schnittstelle des Systems mit einer externen Analyseeinheit herstellt, welche das in der isolierten Sys¬ temkomponente aufgetretene Ereignis anhand von Komponentenda¬ ten, die in der gemeinsamen Datenbasis des Systems gespei¬ chert sind, analysiert.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Systems sind die Systemkomponenten des Systems redundant in dem jeweiligen System vorhanden. Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Systems handelt es sich bei dem System um ein verteiltes System.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Systems handelt es sich bei dem System um ein Echtzeitsystem. Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Systems weist die Systemumgebung des Systems ein Netzwerk auf, das Aktuatoren und/oder Sensoren mit der ersten Schnittstelle des Systems verbindet. Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Systems ist die erste Schnittstelle des Systems eine Netzwerkschnittstelle zu einem Netzwerk der Systemumgebung.
Bei einer weiteren möglichen Ausführungsform des erfindungs- gemäßen Systems ist die zweite Schnittstelle des Systems zu der Analyseeinheit und/oder Testeinheit eine drahtlose
Schnittstelle, insbesondere eine Mobilfunkschnittstelle.
Bei einer weiteren möglichen Ausführungsform des erfindungs- gemäßen Systems weist das System mehrere Prozessoren auf, die jeweils über mehrere Prozessorkerne verfügen, wobei auf den Prozessorkernen Softwarekomponenten implementiert sind, die durch eine Integritätskomponente überwacht werden. Die Erfindung schafft ferner ein Fahrzeug, insbesondere ein Straßen-, Schienen- oder Luftfahrzeug, mit mindestens einem System, insbesondere elektronischen System, das aus Systemkomponenten besteht, welche intern über eine gemeinsame Da¬ tenbasis miteinander kommunizieren und über mindestens eine erste Schnittstelle des Systems mit einer Systemumgebung des Systems verbunden sind, wobei das System aufweist:
eine Integritätskomponente, welche eine Systemkomponente des Systems von der Systemumgebung des Systems isoliert, sobald die Integritätskomponente des Systems das Auftreten eines be- stimmten Ereignisses in der jeweiligen Systemkomponente des Systems erkennt,
eine Analysekomponente, an welche die Integritätskomponente die Steuerung der isolierten Systemkomponente übergibt, wor-
aufhin die Analysekomponente eine Kommunikationsverbindung über eine zweite Schnittstelle des Systems mit einer externen Analyseeinheit herstellt, welche das in der isolierten Sys¬ temkomponente aufgetretene Ereignis anhand von Komponentenda- ten, die in der gemeinsamen Datenbasis des Systems gespei¬ chert sind, analysiert.
Die Erfindung schafft ferner eine Automatisierungsanlage mit mindestens einem erfindungsgemäßen System, das Aktuatoren der Automatisierungsanlage steuert und Sensordaten, die von Sen¬ soren der Automatisierungsanlage geliefert werden, auswertet.
Im Weiteren werden mögliche Ausführungsformen des erfindungsgemäßen Verfahrens und des erfindungsgemäßen Systems unter Bezugnahme auf die beigefügten Figuren näher erläutert.
Es zeigen:
Fig. 1 ein Ablaufdiagramm zur Darstellung eines Ausfüh- rungsbeispiels eines erfindungsgemäßen Verfahrens;
Fig. 2 ein schematisches Diagramm zur Darstellung eines
Ausführungsbeispiels eines erfindungsgemäßen Sys¬ tems .
Wie man aus Fig. 1 erkennen kann, weist bei dem dargestellten Ausführungsbeispiel das erfindungsgemäße Verfahren zum Analy¬ sieren von Ereignissen, die in einem System, insbesondere einem elektronischen System, auftreten, das z.B. aus mehreren Systemkomponenten besteht, mehrere Schritte auf. Die System¬ komponenten des Systems kommunizieren intern über eine gemeinsame Datenbasis miteinander. Ferner sind die Systemkompo¬ nenten des Systems über mindestens eine erste Schnittstelle mit einer Systemumgebung des Systems verbunden. Die Systemum- gebung des Systems kann beispielsweise ein Netzwerk aufwei¬ sen, das Aktuatoren und/oder Sensoren über eine oder mehrere erste Schnittstellen des Systems verbindet.
Wie in dem Ablaufdiagramm gemäß Fig. 1 dargestellt, wird in einem Schritt Sl zunächst eine Systemkomponente des Systems von der Systemumgebung isoliert, sofern eine Integritätskomponente des Systems das Auftreten eines bestimmten Ereignis- ses in der Systemkomponente erkennt. Die Integritätskomponen¬ te kann das Auftreten eines Ereignisses in einer Systemkompo¬ nente des Systems auf Basis der in der gemeinsamen Datenbasis des Systems abgelegten Komponentendaten kontinuierlich überwachen. Bei Auftreten eines bestimmten Ereignisses in einer Systemkomponente des Systems isoliert die Integritätskompo¬ nente diese Systemkomponente von der Systemumgebung und hält vorzugsweise die isolierte Systemkomponente, soweit möglich, zumindest so lange aktiv, bis eine Analyse des in der System¬ komponente aufgetretenen Ereignisses abgeschlossen ist.
Bei einem weiteren Schritt S2 wird durch die Integritätskomponente anschließend die Steuerung der isolierten Systemkomponente an eine Analysekomponente des Systems übergeben. Die¬ se Analysekomponente baut eine Kommunikationsverbindung über eine zweite Schnittstelle des Systems mit einer externen Ana¬ lyseeinheit auf. Die zweite Schnittstelle des Systems zu der externen Analyseeinheit kann bei einer möglichen Ausführungs¬ form durch eine drahtlose Schnittstelle implementiert sein. Bei dieser drahtlosen Schnittstelle handelt es sich insbeson- dere um eine Mobilfunkschnittstelle.
In einem weiteren Schritt S3 des erfindungsgemäßen Verfahrens, wie es in Fig. 1 dargestellt ist, werden die in der isolierten Systemkomponente aufgetretenen Ereignisse an- schließend durch die externe Analyseeinheit anhand der Kompo¬ nentendaten der isolierten Systemkomponente, die in der gemeinsamen Datenbasis des Systems abgelegt sind, analysiert. Dabei kann die Analysekomponente des Systems die in der ge¬ meinsamen Datenbasis des Systems abgelegten Komponentendaten der in Schritt Sl isolierten Systemkomponente der externen Analyseeinheit über die aufgebaute Kommunikationsverbindung zur Analyse des in der isolierten Systemkomponente aufgetre¬ tenen Ereignisses bereitstellen. Optional kann anschließend
die externe Analyseeinheit nach vorgenommener Analyse des in der isolierten Systemkomponente aufgetretenen Ereignisses zu¬ mindest die isolierte Systemkomponente des Systems deaktivie¬ ren. Die Deaktivierung kann in Abhängigkeit von dem Analyse- ergebnis erfolgen. Weiterhin kann die Analysekomponente bei einer möglichen Ausführungsform definierbare Komponentendaten in die gemeinsame Datenbasis des Systems einschreiben. Die externe Analyseeinheit, die mit dem System, insbesondere elektronischen System, über die zweite Schnittstelle, bei- spielsweise eine drahtlose Schnittstelle, verbunden ist, kann nach Einschreiben der definierbaren Komponentendaten in die gemeinsame Datenbasis des Systems einen Neustart des gesamten Systems veranlassen bzw. selbst vornehmen. Die Systemkomponenten des Systems umfassen sowohl Hardwareais auch Softwarekomponenten. Das System kann beispielsweise mehrere Prozessoren aufweisen, die jeweils eine oder mehrere Prozessorkerne haben, wobei auf den Prozessorkernen Software¬ komponenten implementiert sind, die durch eine Integritäts- komponente überwacht werden. Die Integritätskomponente er¬ kennt bei einer möglichen Ausführungsform das Auftreten eines Ereignisses in einer Systemkomponente nach Erkennung von Ab¬ weichungen der gespeicherten Komponentendaten der jeweiligen Systemkomponente von vorgegebenen Sollwerten. Weiterhin kann die Integritätskomponente das Auftreten eines Ereignisses bei Überschreiten von Grenz- oder Schwellwerten oder bei Auftreten von Dateninkonsistenzen erkennen. Bei Auftreten eines derartigen Ereignisses kann die Integritätskomponente die be¬ troffene Systemkomponente in Schritt Sl isolieren und an- schließend die Steuerung der isolierten Systemkomponente an eine Analysekomponente des Systems in Schritt S2 übergeben. Diese Analysekomponente baut anschließend eine Kommunikati¬ onsverbindung, beispielsweise über eine drahtlose zweite Schnittstelle, mit der externen Analyseeinheit auf, welche die in der Systemkomponente aufgetretenen Ereignisse, bei¬ spielsweise das Auftreten einer Abweichung der gespeicherten Komponentendaten von vorgegebenen Sollwerten oder das Überschreiten von Grenz- oder Schwellwerten, anhand der Komponen-
tendaten der isolierten Systemkomponente, die in der gemeinsamen Datenbasis des Systems abgelegt sind, in Schritt S3 analysiert . Die gemeinsame Datenbasis des Systems kann den Zustand aller Systemkomponenten zu einem bestimmten Zeitpunkt, beispielsweise zum Zeitpunkt einer Taktflanke eines Taktsignals, ange¬ ben. Der interne Zustand des Systems und seiner Systemkompo¬ nenten umfasst insbesondere Variablen und Signale, die im letzten Taktzyklus zwischen den Systemkomponenten ausgetauscht wurden. Weiterhin kann die Datenbasis auch Modulzu¬ stände der Systemkomponenten einschließlich der Integritätsund Analysekomponente beinhalten. Bei einer möglichen Ausführungsform ist die gemeinsame Datenbasis als Datenkopie auf allen Systemkomponenten vorhanden. Bei einer möglichen Ausführungsform ist in jeder Systemkomponente des Systems eine Datenkopie der in der gemeinsamen Datenbasis abgelegten Komponentendaten aller Systemkomponenten des Systems gespeichert. Durch eine Systemkomponente des Systems ist vorzugs- weise ein Schreibzugriff ausschließlich auf die eigenen Komponentendaten der jeweiligen Systemkomponente innerhalb der gemeinsamen Datenbasis vornehmbar.
Bei einer weiteren möglichen Ausführungsform des erfindungs- gemäßen Verfahrens ist neben der Integritäts- und Analysekom¬ ponente zusätzlich eine Testkomponente in dem System vorhanden bzw. implementiert. Durch diese im System implementierte Testkomponente können vorzugsweise sowohl Schreibzugriffe als auch Lesezugriffe auf die Komponentendaten von allen System- komponenten des Systems vorgenommen werden, die in der gemeinsamen Datenbasis des jeweiligen Systems abgelegt sind. Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens benutzt die Analysekomponente des Systems die vor¬ handene Testkomponente dazu, um Schreib- und Lesezugriffe auf Komponentendaten von Systemkomponenten des Systems vorzunehmen, die in der gemeinsamen Datenbasis des Systems abgelegt sind. Die in dem System vorhandene Testkomponente kann bei einer möglichen Ausführungsform über die zweite Schnittstelle
des Systems, beispielsweise eine drahtlose Schnittstelle, ei¬ ne Kommunikationsverbindung mit einer externen Testeinheit aufweisen. Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens ruft die Testkomponente als System- komponente des Systems gezielt Ereignisse in einer oder meh¬ reren Systemkomponenten des Systems hervor, welche durch die Integritätskomponente des Systems erfasst werden. Einige der Systemkomponenten des Systems, einschließlich der Integritätskomponente, der Analysekomponente und der ggf. vorhande- nen Testkomponente werden durch Softwarekomponenten gebildet, die auf einem oder mehreren Prozessorkernen des Systems implementiert sind. Einige der Systemkomponenten überwachen dabei externe Komponenten der Systemumgebung und können diese auch steuern. Die Systemumgebung kann beispielsweise ein Netzwerk aufweisen, das Aktuatoren und/oder Sensoren mit einer oder mehreren ersten Schnittstellen des Systems verbindet. Die verschiedenen Systemkomponenten des Systems können bei einer möglichen Ausführungsform redundant vorhanden sein. Zudem kann das System ein verteiltes System sein. Bei einer möglichen Ausführungsform ist das System zudem ein Echtzeitsystem, das in Echtzeit Daten erfasst und auswertet. Das in Fig. 1 dargestellte Verfahren kann während der Systementwicklung des Systems zu Testzwecken und/oder zur Suche nach Fehlerursachen benutzt werden.
Ferner kann das in Fig. 1 dargestellte Verfahren auch während dessen operativen Einsatzes des Systems ausgeführt werden, um Ereignisse zu analysieren. Bei dem erfindungsgemäßen System ist im Vergleich zu herkömmlichen Systemen eine zusätzliche Systemkomponente integriert, nämlich die Analysekomponente. Die Analysekomponente kann bei einer möglichen Ausführungs¬ form als Softwarekomponente implementiert sein. Das System, insbesondere elektronische System, führt die integrierte Ana¬ lysekomponente wie jede andere Systemkomponente auch zu be- stimmten Zeitpunkten, beispielsweise bei Auftreten einer
Taktflanke, oder beim Eintritt bestimmter Ereignisse, bei¬ spielsweise wenn ein Fehler auftritt, aus. Die integrierte Analysekomponente ist somit permanent auch während der Sys-
tementwicklung und während des Systemeinsatzes eingeplant und verändert daher nicht unzulässig das Systemverhalten des Sys¬ tems, insbesondere eines sicherheitskritischen elektronischen Systems. Bei dem erfindungsgemäßen System ist die integrierte Analysekomponente über eine separate Kommunikationsverbindung bzw. Kommunikationsleitung mit einer externen nicht zum System selbst gehörenden Analyseeinheit verbunden. Eine weitere spezielle Systemkomponente, die in dem erfindungsgemäßen Sys¬ tem integriert ist, stellt die Integritätskomponente dar, welche Systemfehler und Systeminkonsistenzen feststellt.
Fig. 2 zeigt schematisch ein einfaches Ausführungsbeispiel für ein erfindungsgemäßes System, bei dem das erfindungsgemä¬ ße Verfahren zum Analysieren von Ereignissen durchgeführt werden kann.
Bei dem in Fig. 2 schematisch dargestellten Ausführungsbeispiel umfasst das System einen Plattformkern mit mehreren DCC-Einheiten (Data Communication Computer) , die über Netz- Werkschnittstellen, beispielsweise ringförmig miteinander verbunden sein können. Das System weist eine bestimmte Anzahl von DCC-Einheiten und mehrere konformen oder nicht konformen Sensoren oder Aktoren AIS auf. Jede DCC-Einheit kann einen Speicher enthalten sowie ein Softwaremodul, in dem eine In- tegritätskomponente und Analysekomponente implementiert ist. Eine externe Analyseeinheit AE ist über eine weitere gestri¬ chelt dargestellte Schnittstelle, beispielsweise eine draht¬ lose Schnittstelle, mit den auf den DCC-Einheiten und deren Softwaremodulen implementierten Analysekomponenten verbunden.
Bei einer möglichen Ausführungsform kommunizieren die Systemkomponenten über eine zentrale gemeinsame Datenbasis. In die¬ ser zentralen gemeinsamen Datenbasis legen die Systemkomponenten Komponentenzustände und Ereignisse oder Signale ab. Wenn eine Testkomponente vorhanden ist, kann diese auf die zentrale gemeinsame Datenbasis lesend und schreibend zugrei¬ fen. Sobald die Integritätskomponente Systemfehler bzw. einen Fehler einer Systemkomponente feststellt, isoliert sie die
betroffene Systemkomponente von der Systemumgebung. Anschlie¬ ßend übergibt die Integritätskomponente die Systemsteuerung an die Analysekomponente. Die Analysekomponente informiert dann die Analyseeinheit über den Systemzustand. Ferner über- mittelt die Analyseeinheit über die Analysekomponente Kompo¬ nentenzustände und Ereignisse aus dem zentralen Datenbereich bzw. der zentralen Datenbasis. Daraufhin entscheidet die Ana¬ lyseeinheit über den weiteren Vorgang, beispielsweise ob eine Abschaltung der fehlerhaften Systemkomponente oder gar des gesamten Systems erfolgt oder ob ein definierter Zustand in dem zentralen Datenbereich bzw. die zentrale Datenbasis eingespielt wird und ein Neustart des Systems durchgeführt wird.
Bei einer möglichen Ausführungsform kann die Analysekomponen- te bei Eintritt eines Fehlers bzw. Ereignisses die externe
Analyseeinheit kontinuierlich mit Daten versorgen bzw. Daten an die Analyseeinheit senden (Protokollierung) .
Bei dem erfindungsgemäßen Verfahren wird die betroffene Sys- temkomponente bzw. die betroffenen Systemkomponenten nach
Eintritt eines Fehlers bzw. bestimmten Ereignisses isoliert, jedoch aktiv gehalten, sodass weitere Analysen an dem System, beispielsweise durch ein Analyseprogramm oder einen Ingenieur, durchgeführt werden können, oder um das fehlerhafte Ver- halten des Systems zu ändern und anschließend das System wie¬ der in Betrieb nehmen zu können. Dazu werden bei dem erfindungsgemäßen Verfahren ein zentraler Datenbereich bzw. eine zentrale Datenbasis des Systems verwendet. Diese zentrale Da¬ tenbasis dient zur Entkopplung von Systemkomponenten des Sys- tems untereinander, da eine Kommunikation zwischen den Systemkomponenten nur über die zentrale Datenbasis erfolgt. Wei¬ terhin werden Komponentenzustände und Komponentenfunktionen der Systemkomponenten entkoppelt, indem man Zustandsvariablen in den zentralen Datenbereich bzw. die zentrale Datenbasis auslagert.
Bei einer möglichen Ausführungsform des erfindungsgemäßen ist eine spezialisierte Testkomponente vorhanden, die die zentra-
le Datenbasis lesen und in diese Datenbasis schreiben kann, jedoch im Übrigen vom System wie jede andere Systemkomponente behandelt wird. Auf diese Weise kann die spezialisierte Test¬ komponente und eine ggf. angeschlossene Testeinheit nicht un- zulässig das Systemverhalten des Systems beeinflussen.
Das erfindungsgemäße Verfahren kann nahtlos mit herkömmlichen Protokollierungstechniken kombiniert werden. Das erfindungsgemäße Verfahren kann automatische Tests des Systems ebenso unterstützen wie ein interaktives, exploratives Testen. Das erfindungsgemäße Verfahren kann ferner in Szenarien eingesetzt werden, in denen die Ursachen für Fehler oder Systemverhalten im Vorhinein nicht bekannt sind. Bei einer möglichen Ausführungsform des erfindungsgemäßen Systems ist dieses in einem Fahrzeug integriert. Bei einer möglichen Ausführungsform handelt es sich bei diesem Fahrzeug um ein Straßen-, Schienen- oder Luftfahrzeug. Weiterhin ist es möglich, dass das erfindungsgemäße System in einer Automa- tisierungsanlage vorgesehen wird, wobei die Automatisierungs¬ anlage Aktuatoren steuert, und Sensordaten, die von Sensoren der Automatisierungsanlage geliefert werden, auswertet.
Das erfindungsgemäße Verfahren bzw. System kann beispielswei- se im Kontext von Fahrzeugsteuerungen, insbesondere bei
Elektrofahrzeugen, eingesetzt werden, insbesondere zum Testen von hardware-/softwarespezifischer nichtfunktionaler Sicherheitsservices, welche die redundant ausgelegte, zentrale Hardware-/Softwareplattform bzw. das System für Fahrzeugfunk- tionen automatisch erbringen soll. Zur Erkennung von Fehlern und Gewährleistung der Verfügbarkeit des Systems bzw. elekt¬ ronischen Systems ist die zentrale Hardware- /Softwareplattform des Elektrofahrzeugs redundant ausgelegt und überwacht und vergleicht die Zustände von redundanten Ka- nälen. Dies kann für jeden ebenfalls redundant ausgelegten
Rechner dieser Hardware-/Softwareplattform durchgeführt werden. Stellt beispielsweise die Integritätskomponente dieser Hardware-/Softwareplattform nicht tolerierbare Inkonsistenzen
oder Fehler fest, dann wird der betroffene Teil der Steuerung bzw. die betroffene Systemkomponente isoliert und anschlie¬ ßend übernimmt eine redundante Systemkomponente deren Funkti¬ onen, da kein sicherer Betrieb mit dem fehlerhaften Steue- rungsteil bzw. der fehlerhaften Systemkomponente mehr möglich ist. Mit dem erfindungsgemäßen Verfahren kann nicht nur das Verhalten einer Systemkomponente oder des Gesamtsystems bis zum Abschalten einer fehlerhaften Systemkomponente mitprotokolliert werden, sondern die fehlerhafte Systemkomponente wird zudem isoliert und steht dem Testsystem weiter zur Verfügung, sodass es analysiert und im operativen Einsatz, beispielsweise innerhalb eines Fahrzeuges, ggf. sogar repariert werden kann. Bei einer möglichen Ausführungsform kann im Fehlerfall nicht nur die fehlerhafte betroffene Systemkomponente des Systems, sondern das gesamte System in der beschriebenen Weise isoliert werden. Im Feldbetrieb, d.h. im operativen Einsatz des Systems, hängt es von der jeweiligen Anwendung ab, inwieweit das System bzw. die Systemkomponente isoliert werden kann.
Für den Einsatz in Serienfahrzeugen kann das erfindungsgemäße Verfahren wie folgt Verwendung finden. Nach der Isolierung einer fehlerhaften Systemkomponente bzw. eines fehlerhaften Teilsystems überträgt die Testkomponente selbstständig dem zum Fehlerzeitpunkt vorhandenen Systemzustand zu einem Daten¬ speicher, den später ein Fahrzeugservice in herkömmlicher Weise analysiert oder zu einer externen, vorzugsweise draht¬ los angeschlossenen Test- bzw. Analyseeinheit überträgt. Die- se Test- oder Analyseeinheit kann beispielsweise bei dem
Fahrzeughersteller installiert sein, um Diagnosen oder Reparaturen durchzuführen. Für die Datenübertragung steht bei dem erfindungsgemäßen Verfahren eine separate Kommunikationsverbindung zur Verfügung. Weiterhin kann die Testkomponente ent- weder selbständig oder auf Anweisung der Testeinheit einen
Neustart mit einem definierten Zustand vornehmen und prüfen, ob das Teilsystem bzw. die betroffene Systemkomponente nach
der durchgeführten Reinitialisierung des Systems wieder verwendbar ist.
Das erfindungsgemäße Verfahren und System eignet sich vor al- lern für hochverfügbare, sicherheitskritische und redundant ausgelegte verteilte Echtzeitsysteme . Diese stellen in Ent¬ wicklung und auch nach Entwicklung hohe Anforderungen an die Nachvollziehbarkeit und Nachstellung von Fehlern sowie an die Analyse von Fehlerursachen.
Das erfindungsgemäße Verfahren und System ist jedoch nicht auf den Einsatz in redundanten Systemen oder in Fahrzeugen beschränkt, sondern lässt sich in elektronischen Systemen unterschiedlichster Art integrieren. Sofern das System nicht redundant ausgelegt ist, stehen nach einer fehlerbedingten
Abschaltung die Systemfunktionen der betroffenen Systemkomponenten nicht mehr zur Verfügung. Der Systemzustand und auch der bisherige Systemablauf kann jedoch mit dem erfindungsge¬ mäßen Verfahren noch vollständig analysiert werden. Unter Um- ständen kann in Abhängigkeit von der Fehlerart des aufgetre¬ tenen Fehlers ein durch die Analyse wiederhergestelltes Sys¬ tem sogar seine Arbeit fortsetzen.
Bei einer weiteren möglichen Ausführungsform des erfindungs- gemäßen Verfahrens und des erfindungsgemäßen Systems können die Analyse- und/oder die Testkomponente sowie die zugehörige Kommunikationsverbindung zu der Test- und/oder Analyseeinheit ihrerseits redundant ausgelegt sein. Dies bietet den Vorteil, dass das erfindungsgemäße Verfahren und System weiterhin funktionieren, selbst wenn die Testkomponente bzw. Analyse¬ komponente und die zugehörige Test- bzw. Analyseeinheit selbst fehlerhaft sind.