DE102018210733A1 - Method for monitoring at least one computing unit - Google Patents
Method for monitoring at least one computing unit Download PDFInfo
- Publication number
- DE102018210733A1 DE102018210733A1 DE102018210733.5A DE102018210733A DE102018210733A1 DE 102018210733 A1 DE102018210733 A1 DE 102018210733A1 DE 102018210733 A DE102018210733 A DE 102018210733A DE 102018210733 A1 DE102018210733 A1 DE 102018210733A1
- Authority
- DE
- Germany
- Prior art keywords
- monitoring module
- software
- software monitoring
- processes
- computing unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0784—Routing of error reports, e.g. with a specific transmission path or data flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Abstract
Die Erfindung betrifft ein Verfahren zum Überwachen wenigstens einer Recheneinheit (110, 120, 130), in welcher eine Vielzahl von Prozessen (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) ausgeführt wird, mittels eines Systems aus Überwachungsmodulen (140, 111, 122, 126, 132, 136), die in verschiedene Hierarchieebenen eingeteilt sind, wobei in einer obersten Hierarchieebene ein oberstes Überwachungsmodul (140) als ein Hardwareüberwachungsmodul vorgesehen ist, wobei in wenigstens einer der obersten Hierarchieebene untergeordneten Hierarchieebene jeweils wenigstens ein Softwareüberwachungsmodul (111, 122, 126, 132, 136) vorgesehen ist, wobei jedes Softwareüberwachungsmodul (111, 122, 126, 132, 136) jeweils wenigstens einen zugewiesenen Prozess (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) überwacht und wobei jedes Softwareüberwachungsmodul (111, 122, 126, 132, 136) einer Hierarchieebene von einem übergeordneten Überwachungsmodul (140, 111, 122, 132) einer übergeordneten Hierarchieebene überwacht wird. The invention relates to a method for monitoring at least one computing unit (110, 120, 130), in which a multiplicity of processes (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139 ) is carried out by means of a system of monitoring modules (140, 111, 122, 126, 132, 136), which are divided into different hierarchical levels, an uppermost hierarchical level providing an uppermost monitoring module (140) as a hardware monitoring module, at least in at least one software monitoring module (111, 122, 126, 132, 136) is provided in a hierarchy level that is subordinate to the top hierarchical level, each software monitoring module (111, 122, 126, 132, 136) each having at least one assigned process (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) and each software monitoring module (111, 122, 126, 132, 136) of a hierarchical level is monitored by a higher-level monitoring module (140, 111, 122, 132) of a higher hierarchical level is monitored.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Überwachen wenigstens einer Recheneinheit sowie eine Recheneinheit und ein System aus wenigsten zwei Recheneinheiten.The present invention relates to a method for monitoring at least one computing unit as well as a computing unit and a system comprising at least two computing units.
Stand der TechnikState of the art
Moderne Recheneinheiten wie Steuergeräte, beispielsweise von Fahrzeugen, umfassen eine Prozessoreinheit zum Ausführen von Prozessen, welche einen zweckmäßigen Prozessor bzw. Prozessorkern (Core) oder auch einen Multicore-Prozessor umfassen kann. Multicore-Prozessoren umfassen dabei mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst dabei eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, und weiterhin einen lokalen Speicher. Ein derartiger lokaler Speicher ist insbesondere als ein Registersatz aus einem oder mehreren Registern ausgebildet.Modern computing units such as control devices, for example of vehicles, comprise a processor unit for executing processes, which can comprise an expedient processor or processor core (core) or a multicore processor. Multicore processors include several (at least two) processor cores. A processor core comprises an arithmetic-logic unit (ALU), which represents the actual electronic arithmetic unit for executing tasks, programs, arithmetic commands, etc., and also a local memory. Such a local memory is designed in particular as a register set consisting of one or more registers.
Recheneinheiten können in verschiedene Domänen unterteilt sein, wobei in diesen einzelnen Domänen jeweils Prozesse unabhängig voneinander durchgeführt werden können. Jeder Domäne sind dabei individuell Ressourcen zugeordnet z.B. in Form von Laufzeit, Rechenkapazität und Speicher, so dass die einzelnen Domänen voneinander logisch getrennt sind und als separate Recheneinheiten betrachtet werden können. Beispielsweise können derartige Domänen durch virtuelle Systeme bzw. virtuelle Maschinen realisiert sein, in welchen jeweils voneinander getrennte Betriebssysteme oder Anwendungen als Prozesse ausgeführt werden können. Auf diese Weise können in einer realen, physischen Prozessoreinheit beispielsweise eine Vielzahl von virtuellen Prozessoreinheiten simuliert werden.Computing units can be subdivided into different domains, whereby processes can be carried out independently of one another in these individual domains. Resources are individually assigned to each domain, e.g. in the form of runtime, computing capacity and memory, so that the individual domains are logically separated from one another and can be viewed as separate computing units. For example, such domains can be implemented by virtual systems or virtual machines, in each of which separate operating systems or applications can be executed as processes. In this way, for example, a multiplicity of virtual processor units can be simulated in a real, physical processor unit.
Zum Überwachen von Recheneinheiten bzw. von Prozessen, die von der Recheneinheit ausgeführt werden, können sog. Watchdogs vorgesehen sein, welche durch einen Datenaustausch beispielsweise in Form einer Frage-/Antwort-Kommunikation Fehler erkennen können. Beispielsweise wird von dem Watchdog zu diesem Zweck überprüft, ob der Datenaustausch bzw. die erhaltenen Antworten richtig sind und ob sie zu einem richtigen Zeitpunkt bzw. innerhalb eines vorgegebenen Zeitfensters eintreffen. Wenn dies nicht der Fall ist, kann auch einen Fehler der Recheneinheit bzw. des jeweiligen Prozesses rückgeschlossen werden. Derartige Watchdogs können in Hardware als ein separates Hardwareelement realisiert sein oder auch in Software, welche von einer Prozessoreinheit ausgeführt wird, wie beispielsweise in der
Offenbarung der ErfindungDisclosure of the invention
Erfindungsgemäß werden ein Verfahren zum Überwachen wenigstens einer Recheneinheit sowie eine Recheneinheit und ein System aus wenigsten zwei Recheneinheiten mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for monitoring at least one computing unit as well as a computing unit and a system comprising at least two computing units with the features of the independent claims are proposed. Advantageous embodiments are the subject of the subclaims and the following description.
Das vorliegende Verfahren eignet sich zur Überwachung einer einzelnen Recheneinheit oder zur Überwachung eines Systems aus mehreren Recheneinheiten, die miteinander in Kommunikationsverbindung stehen. In der wenigstens einen Recheneinheit wird eine Vielzahl von Prozessen ausgeführt. Diese verschiedenen Prozesse können somit beispielsweise in einer einzigen Recheneinheit oder insbesondere auch in verschiedenen Recheneinheiten ausgeführt werden. Durch das vorliegende Verfahren kann diese Vielzahl von Prozessen auf Fehler hin überwacht werden.The present method is suitable for monitoring a single computing unit or for monitoring a system comprising a plurality of computing units which are in communication with one another. A large number of processes are carried out in the at least one computing unit. These different processes can thus be carried out, for example, in a single computing unit or in particular also in different computing units. With the present method, this multitude of processes can be monitored for errors.
Im Rahmen des vorliegenden Verfahrens ist ein System aus Überwachungsmodulen bzw. Watchdogs vorgesehen, welche in verschiedene Hierarchieebenen eingeteilt sind. Die Überwachungsmodule sind also in wenigstens zwei Hierarchieebenen eingeteilt, wobei in jeder der Hierarchieebenen wenigstens ein Überwachungsmodul vorgesehen ist. Überwachungsmodule in einer höheren Hierarchieebene sind dabei Überwachungsmodulen in niedrigeren Hierarchieebenen übergeordnet. Zu diesem Zweck kann ein Überwachungsmodul einer höheren Hierarchieebene als ein Master vorgesehen sein und ein Überwachungsmodul einer niedrigeren Hierarchieebene als ein entsprechender Slave.In the context of the present method, a system of monitoring modules or watchdogs is provided, which are divided into different hierarchical levels. The monitoring modules are therefore divided into at least two hierarchy levels, with at least one monitoring module being provided in each of the hierarchy levels. Monitoring modules in a higher hierarchical level are superior to monitoring modules in lower hierarchical levels. For this purpose, a monitoring module of a higher hierarchical level can be provided as a master and a monitoring module of a lower hierarchical level than a corresponding slave.
In einer obersten Hierarchieebene ist ein oberstes Überwachungsmodul als ein Hardwareüberwachungsmodul bzw. als ein Hardware-Watchdog vorgesehen. In wenigstens einer der obersten Hierarchieebene untergeordneten Hierarchieebene ist jeweils wenigstens ein Softwareüberwachungsmodul bzw. Software-Watchdog vorgesehen. Das Hardwareüberwachungsmodul ist somit zweckmäßigerweise als ein eigenes Hardwareelement vorgesehen und kann beispielsweise als eine Komponente in eine der Recheneinheiten implementiert sein oder auch als ein externes Element vorgesehen sein, welches mit der wenigstens einen Recheneinheit in Kommunikationsverbindung steht. Die einzelnen Softwareüberwachungsmodule sind insbesondere in der wenigstens einen Recheneinheit jeweils als ausgeführte Software implementiert.
Dabei können beispielsweise von einer Prozessoreinheit einer Recheneinheit mehrere Softwareüberwachungsmodule ausgeführt werden, welche jeweils unterschiedlichen Hierarchieebenen zugewiesen sein können.In a top hierarchical level, a top monitoring module is provided as a hardware monitoring module or as a hardware watchdog. At least one software monitoring module or software watchdog is provided in at least one hierarchical level subordinate to the top hierarchical level. The hardware monitoring module is therefore expediently provided as a separate hardware element and can, for example, be implemented as a component in one of the computing units or can also be provided as an external element which is in communication with the at least one computing unit. The individual software monitoring modules are in each case implemented in the at least one computing unit as software.
In this case, for example, several software monitoring modules can be executed by a processor unit of a computing unit, which can be assigned to different hierarchy levels.
Somit ist insbesondere ein Hardwareüberwachungsmodul bzw. ein Hardware-Watchdog vorgesehen, welches einem System aus Softwareüberwachungsmodulen bzw. Software-Watchdogs übergeordnet ist und zur Überwachung der Softwareüberwachungsmodule bzw. Software-Watchdogs vorgesehen ist. Die Softwareüberwachungsmodule können somit insbesondere kaskadiert realisiert und zweckmäßigerweise auf eine Vielzahl von Hierarchieebenen verteilt sein.Thus, in particular, a hardware monitoring module or a hardware watchdog is provided, which is superior to a system of software monitoring modules or software watchdogs and is provided for monitoring the software monitoring modules or software watchdogs. The software monitoring modules can thus be implemented in a cascaded manner and expediently distributed over a large number of hierarchy levels.
Jedes Softwareüberwachungsmodul überwacht jeweils wenigstens einen zugewiesenen Prozess. Ferner wird jedes Softwareüberwachungsmodul einer Hierarchieebene von einem übergeordneten Überwachungsmodul einer übergeordneten Hierarchieebene überwacht, insbesondere von einem unmittelbar übergeordneten Überwachungsmodul einer unmittelbar übergeordneten Hierarchieebene. Somit überwacht jedes Softwareüberwachungsmodul ihm individuell zugewiesene Prozesse auf Fehler hin und wird wiederum selbst von einem ihm zugewiesenen übergeordneten Überwachungsmodul auf Fehler hin überwacht.Each software monitoring module monitors at least one assigned process. Furthermore, each software monitoring module of a hierarchy level is monitored by a superordinate monitoring module of a superordinate hierarchy level, in particular by a directly superordinate monitoring module of a directly superordinate hierarchy level. Each software monitoring module thus monitors individually assigned processes for errors and is itself monitored for errors by a higher-level monitoring module assigned to it.
Insbesondere überwachen somit übergeordnete Softwareüberwachungsmodule ihnen individuell zugewiesene untergeordnete Softwareüberwachungsmodule, insbesondere in der unmittelbar untergeordneten Hierarchieebene. Ein oberstes dieser Softwareüberwachungsmodule in einer obersten Hierarchieebene der Softwareüberwachungsmodule wird zweckmäßigerweise von dem Hardwareüberwachungsmodul in der obersten Hierarchieebene überwacht. Wenn ein Softwareüberwachungsmodul einen Fehler eines unterlagerten Softwareüberwachungsmodul erkennt, kann dieser erkannte Fehler insbesondere an das Hardwareüberwachungsmodul weitergeleitet werden, welches dann entscheidet, wie mit dem fehlerhaften Softwareüberwachungsmodul weiter verfahren wird.In particular, higher-level software monitoring modules thus monitor individually assigned lower-level software monitoring modules, in particular in the immediately lower hierarchical level. An uppermost of these software monitoring modules in a top hierarchy level of the software monitoring modules is expediently monitored by the hardware monitoring module in the top hierarchy level. If a software monitoring module detects an error in a subordinate software monitoring module, this detected error can in particular be forwarded to the hardware monitoring module, which then decides how to proceed with the defective software monitoring module.
Das vorliegende Verfahren ermöglicht somit ein dediziertes Überwachen von Prozessen in einer oder mehreren Recheneinheiten mit einem Hardware-Watchdog und einem System aus insbesondere kaskadierten Software-Watchdogs. Insbesondere kann somit ein effektives Überwachen der einzelnen Prozesse ermöglicht werden, wobei zweckmäßigerweise nur ein einziger Hardware-Watchdog und eine Vielzahl von kaskadierten Software-Watchdogs verwendet werden, um effektiv individuelle dedizierte Prozesse in der Recheneinheit bzw. in dem System aus Recheneinheiten zu überwachen.The present method thus enables dedicated monitoring of processes in one or more arithmetic units with a hardware watchdog and a system consisting in particular of cascaded software watchdogs. In particular, effective monitoring of the individual processes can thus be made possible, expediently using only a single hardware watchdog and a large number of cascaded software watchdogs in order to effectively monitor individual, dedicated processes in the computing unit or in the system of computing units.
Mit Hilfe des vorliegenden Verfahrens wird es zweckmäßigerweise ermöglicht, komplexe Systeme zu überwachen, in welchen Prozesse nicht strikt sequentiell als Programm ablaufen, sondern in welchen eine Vielzahl von Prozessen bzw. Threads unabhängig voneinander in einer oder mehreren Recheneinheiten ablaufen und auch selbständig Threads erzeugen können. Insbesondere weisen derartig komplexe Systeme einen Kernel und mehrere Prozesse und Threads auf, die im sog. Benutzerraum (engl. „user space“) ablaufen. Üblicherweise ist es nicht ohne weiteres möglich, derartige komplexe softwareintensive Systeme mit einem einzigen Hardware-Watchdog zu überwachen. Durch die spezielle Kombination eines Hardware-Watchdogs und einer Vielzahl von kaskadierten Software-Watchdogs kann im Rahmen des vorliegenden Verfahrens dennoch eine effektive und sichere Überwachung ermöglicht werden.With the help of the present method, it is expediently possible to monitor complex systems in which processes do not strictly run sequentially as a program, but in which a multiplicity of processes or threads run independently of one another in one or more computing units and can also independently generate threads. In particular, such complex systems have a kernel and several processes and threads that run in the so-called “user space”. Usually it is not readily possible to monitor such complex software-intensive systems with a single hardware watchdog. Due to the special combination of a hardware watchdog and a multitude of cascaded software watchdogs, effective and safe monitoring can nevertheless be made possible within the scope of the present method.
Insbesondere kann sich die auf derartig komplexen Systemen ausgeführte Software über die Lebenszeit ändern z.B. aufgrund von Updates, Programmverbesserungen oder Programmerweiterungen. Das System aus Überwachungsmodulen kann an veränderte Software auf einfache Weise angepasst werden, beispielsweise indem neue Softwareüberwachungsmodule im Zuge von Updates in das System implementiert werden oder indem neuen Softwarekomponenten bzw. neu implementierten Prozessen bereits im System vorhandene Softwareüberwachungsmodule zugewiesen werden.In particular, the software running on such complex systems can change over time, e.g. due to updates, program improvements or program extensions. The system of monitoring modules can be adapted to changed software in a simple manner, for example by implementing new software monitoring modules in the system in the course of updates or by assigning software monitoring modules already present in the system to new software components or newly implemented processes.
Besonders vorteilhaft eignet sich das vorliegen Verfahren für komplexe Systeme aus einer Vielzahl von Recheneinheiten, die z.B. jeweils als Mikroprozessor oder Mikrocontroller mit einer Vielzahl von Prozessorkernen (Multicore-Prozessoren) ausgebildet sein können, auf denen jeweils ein zweckmäßiges Betriebssystem (z.B. Linux) ausgeführt wird und die miteinander über ein zweckmäßiges Kommunikationssystem in Kommunikationsverbindung stehen, insbesondere über ein Bussystem wie CAN oder Ethernet. Die einzelnen Recheneinheiten können dabei beispielsweise unterschiedlich ausgestaltet sein und beispielsweise können auf den verschiedenen Recheneinheiten auch verschiedene Betriebssysteme ausgeführt werden.The present method is particularly advantageously suitable for complex systems comprising a multiplicity of computing units, which e.g. can each be designed as a microprocessor or microcontroller with a multiplicity of processor cores (multicore processors), on each of which a suitable operating system (for example Linux) is executed and which are in communication with one another via a suitable communication system, in particular via a bus system such as CAN or Ethernet , The individual computing units can, for example, be designed differently and, for example, different operating systems can also be executed on the different computing units.
Besonders bevorzugt umfasst das System wenigstens zwei Recheneinheiten, wobei eine der Recheneinheiten als eine Sicherheitsrecheneinheit („safety backbone“) vorgesehen ist, welche direkt mit dem externen Hardwareüberwachungsmodul kommuniziert. In dieser Sicherheitsrecheneinheit ist insbesondere ein in der Hierarchie oberstes der Softwareüberwachungsmodule vorgesehen, welchem nur noch das Hardwareüberwachungsmodul übergeordnet ist.The system particularly preferably comprises at least two computing units, one of the computing units being provided as a safety computing unit (“safety backbone”) which communicates directly with the external hardware monitoring module. In this security arithmetic unit, one of the topmost software monitoring modules in the hierarchy is provided, to which only the hardware monitoring module is superior.
Neben der Sicherheitsrecheneinheit umfasst das System ferner wenigstens eine weitere Recheneinheit, in welcher jeweils sicherheitskritische, nicht-sicherheitskritische, dynamische und/oder statische Prozesse ausgeführt werden. In jeder dieser weiteren Recheneinheiten ist zweckmäßigerweise wenigstens ein Softwareüberwachungsmodul vorgesehen. Ferner ist in jeder dieser Recheneinheiten jeweils ein in der jeweiligen Recheneinheit oberstes Softwareüberwachungsmodul als ein Master vorgesehen, welches die weiteren jeweils als Slave vorgesehenen Softwareüberwachungsmodule in der jeweiligen Recheneinheit überwacht. Dieses oberste Softwareüberwachungsmodul der jeweiligen Recheneinheit kommuniziert wiederum insbesondere direkt mit dem Softwareüberwachungsmodul der Sicherheitsrecheneinheit und wird zweckmäßigerweise von diesem überwacht.In addition to the security computing unit, the system further comprises at least one additional computing unit, in each of which security-critical, non- safety-critical, dynamic and / or static processes are carried out. At least one software monitoring module is expediently provided in each of these further computing units. Furthermore, in each of these computing units, a software monitoring module at the top in the respective computing unit is provided as a master, which monitors the further software monitoring modules, each provided as a slave, in the respective computing unit. This uppermost software monitoring module of the respective computing unit in turn communicates in particular directly with the software monitoring module of the security computing unit and is expediently monitored by the latter.
Ferner eignet sich das vorliegende Verfahren in besonders vorteilhafter Weise für Recheneinheiten, die als Multi-Domänen Recheneinheiten ausgebildet und in verschiedene Domänen unterteilt sind, in welchen also Prozesse jeweils unabhängig voneinander in voneinander unabhängigen, logisch getrennten Domänen durchgeführt werden. Somit ermöglicht das vorliegende Verfahren eine domänenübergreifende und ferner eine mehrere Recheneinheiten übergreifende Überwachung von Prozessen und kann zweckmäßigerweise an eine beliebige Software und Komplexität und Anzahl von Domänen angepasst werden.Furthermore, the present method is particularly advantageously suitable for computing units which are designed as multi-domain computing units and are divided into different domains, in which processes are therefore carried out independently of one another in logically separate domains which are independent of one another. Thus, the present method enables cross-domain and furthermore cross-unit monitoring of processes and can be expediently adapted to any software and complexity and number of domains.
Insbesondere ist für jede Domäne in einer Recheneinheit ein Softwareüberwachungsmodul vorgesehen, welches die in der jeweiligen Domäne ablaufenden Prozesse überwacht. In einer zentralen Domäne (sog. „Housekeeping-Domäne“) einer derartigen Multi-Domänen-Recheneinheit ist ein oberstes insbesondere als Master vorgesehenes Softwareüberwachungsmodul der jeweiligen Recheneinheit vorgesehen, welches die einzelnen in den übrigen Domänen vorgesehenen Softwareüberwachungsmodule überwacht und selbst wiederum zweckmäßigerweise von dem Softwareüberwachungsmodul der Sicherheitsrecheneinheit überwacht wird.In particular, a software monitoring module is provided for each domain in a computing unit, which monitors the processes running in the respective domain. In a central domain (so-called “housekeeping domain”) of such a multi-domain computing unit, an uppermost software monitoring module, in particular as a master, of the respective computing unit is provided, which monitors the individual software monitoring modules provided in the other domains and, in turn, expediently also by the software monitoring module the security computing unit is monitored.
Besonders bevorzugt eignet sich das Verfahren zur Anwendung im Fahrzeugbereich. Komplexe Systeme wie obig beschrieben aus verschiedenen Recheneinheiten, die jeweils insbesondere auch als Multi-Domänen-Recheneinheiten ausgebildet sein können, gewinnen im (Kraft-) Fahrzeugbereich stetig an Bedeutung und werden insbesondere in Steuergeräten verwendet. Ein solches System besitzt insbesondere ein Vielfaches der Rechenleistung eines herkömmlichen Steuergeräts und wird oftmals als eingebettetes Hochleistungssteuergerät (engl. „embedded high-performance control unit“) oder als Fahrzeugcomputer (engl. „vehicle computer“ oder „in-vehicle computer“) bezeichnet. Beispielsweise finden derartige Systeme im Bereich des hochautomatisierten Fahrens Anwendung, um die Durchführung von komplexen Berechnungen mit hoher Rechenleistung zu ermöglichen.The method is particularly preferably suitable for use in the vehicle sector. Complex systems, as described above, made up of various computing units, each of which can also be designed as a multi-domain computing unit, are becoming increasingly important in the (motor) vehicle sector and are used in particular in control units. Such a system in particular has a multiple of the computing power of a conventional control device and is often referred to as an embedded high-performance control unit or as a vehicle computer or in-vehicle computer. For example, such systems are used in the field of highly automated driving to enable complex calculations with high computing power to be carried out.
Ferner kann die Integration kommerzieller Softwareanteile von Drittanbietern z.B. auf der Basis des Linux-Betriebssystems ermöglicht werden. In derartigen Systemen kommen dann zweckmäßigerweise keine herkömmlichen eingebetteten Betriebssysteme wie z.B. Ercosek zum Einsatz, welche auf herkömmliche Weise für Steuerungsanwendungen insbesondere im Kraftfahrzeugbereich verwendet werden. Daher ist es zumeist nicht möglich, eine Überwachung derartiger Systeme mittels herkömmlicher Überwachungssysteme des Kraftfahrzeugbereichs durchzuführen, welche zumeist durch einen Hardware-Watchdog realisiert sind. Das vorliegende Verfahren bietet die Möglichkeit, derartige komplexe Systeme in einem Kraftfahrzeug, insbesondere in einem Steuergerät eines Kraftfahrzeugs, zuverlässig zu überwachen und somit eine hohe Sicherheitsintegrität zu schaffen.Furthermore, the integration of commercial software parts from third parties e.g. based on the Linux operating system. In such systems, no conventional embedded operating systems such as e.g. Ercosek are used, which are used in a conventional manner for control applications, in particular in the motor vehicle sector. It is therefore usually not possible to monitor such systems by means of conventional monitoring systems in the motor vehicle sector, which are mostly implemented by a hardware watchdog. The present method offers the possibility of reliably monitoring such complex systems in a motor vehicle, in particular in a control unit of a motor vehicle, and thus creating a high level of safety integrity.
Insbesondere ermöglicht das vorliegende Verfahren die Anbindung einer oder mehrerer Multi-Domänen-Recheneinheiten, in welchen statische und dynamische Prozesse sowie sicherheitskritische und nicht sicherheitskritische Prozesse ausgeführt werden, an ein bestehendes Überwachungs-Konzept, wie es im Kraftfahrzeugbereich üblicherweise umgesetzt wird, anzubinden. Fehlerhafte Prozesse können insbesondere explizit erkannt werden und eine dedizierte, lokale Fehlerbehandlung wird ermöglicht. Ferner kann insbesondere zwischen sicherheitskritischen und nicht-sicherheitskritischen Prozessen und im Fehlerfall zwischen Verfügbarkeits- und Sicherheitsmaßnahmen unterschieden werden.In particular, the present method enables the connection of one or more multi-domain computing units, in which static and dynamic processes, as well as safety-critical and non-safety-critical processes, are carried out to an existing monitoring concept, as is usually implemented in the motor vehicle sector. Faulty processes can in particular be explicitly recognized and dedicated, local error handling is made possible. Furthermore, a distinction can be made in particular between safety-critical and non-safety-critical processes and, in the event of an error, between availability and safety measures.
Vorteilhafterweise führt jedes Softwareüberwachungsmodul zur Überwachung des jeweiligen wenigstens einen zugewiesenen Prozesses eine Frage-/Antwort-Kommunikation und/oder eine Gut-/Schlecht-Prüfung durch. Insbesondere erfolgt die Kommunikation dabei geschützt mittels einer Ende-zu-Ende-Verschlüsselung. Die Kommunikation kann beispielsweise seriell oder paketorientiert erfolgen. Es ist insbesondere auch denkbar, dass nur Antworten zur Überprüfung übertragen werden. Beispielsweise können die Softwareüberwachungsmodule zur Überprüfung von sicherheitskritischen Prozessen eine Frage-/Antwort-Kommunikation durchführen und zur Überprüfung von nicht-sicherheitskritischen Prozessen eine Gut-/Schlecht-Prüfung. Alternativ können die Softwareüberwachungsmodule beispielsweise auch sowohl für sicherheitskritische als auch für nicht-sicherheitskritische Prozesse jeweils eine Gut-/Schlecht-Prüfung durchführen.Each software monitoring module advantageously carries out question / answer communication and / or a good / bad check for monitoring the respective at least one assigned process. In particular, the communication is protected by means of end-to-end encryption. Communication can be serial or packet-oriented, for example. In particular, it is also conceivable that only answers are transmitted for checking. For example, the software monitoring modules can carry out question / answer communication for checking safety-critical processes and a good / bad check for checking non-safety-critical processes. Alternatively, the software monitoring modules can also perform a good / bad check, for example, both for safety-critical and for non-safety-critical processes.
Vorzugsweise überwacht jedes Softwareüberwachungsmodul den jeweiligen wenigstens einen zugewiesenen Prozess im Hinblick auf Laufzeit, Lebendigkeit und/oder korrekte Ausführung hin. Somit wird von den Softwareüberwachungsmodulen insbesondere überwacht, ob die jeweiligen zugewiesenen Prozesse korrekt innerhalb zulässiger Laufzeiten ausgeführt werden oder ob die Prozesse beispielsweise abgestürzt oder eingefroren sind. Insbesondere wird von den Softwareüberwachungsmodulen somit jeweils eine Programmablaufkontrolle durchgeführt, besonders bevorzugt für sicherheitskritische Prozesse. Nicht-sicherheitskritische Prozesse können insbesondere auch dynamisch für eine Überwachung an- und abgemeldet werden, d.h. es kann insbesondere dynamisch eingestellt werden, ob ein Softwareüberwachungsmodul einen jeweiligen ihm zugewiesenen Prozess aktuell überwachen soll oder nicht.Each software monitoring module preferably monitors the respective at least one an assigned process in terms of runtime, liveliness and / or correct execution. The software monitoring modules thus monitor in particular whether the respective assigned processes are carried out correctly within permissible runtimes or whether the processes have crashed or frozen, for example. In particular, the software monitoring modules therefore carry out a program sequence check, particularly preferably for safety-critical processes. Processes that are not critical to safety can in particular also be dynamically registered and deregistered for monitoring, ie it can in particular be set dynamically whether a software monitoring module is to currently monitor a respective process assigned to it or not.
Bevorzugt führt jedes Softwareüberwachungsmodul bei einem erkannten Fehler des jeweiligen wenigstens einen zugewiesenen Prozesses eine vorgegebene Maßnahme durch. Insbesondere kann als derartige Maßnahme eine Fehlerreaktion durchgeführt werden, um den erkannten Fehler zu beheben. Bei einem Fehler eines sicherheitskritischen Prozesses kann diese Fehlerreaktion insbesondere in derselben Hierarchieebene durchgeführt werden, welcher das den Fehler erkannte Softwareüberwachungsmodul zugewiesen ist. Bei erkanntem Fehler eines nicht-sicherheitskritischen Prozesses kann die entsprechende Fehlerreaktion zweckmäßigerweise in einer nächsthöheren Hierarchieebene durchgeführt werden.Each software monitoring module preferably carries out a predetermined measure in the event of a detected error in the respective at least one assigned process. In particular, an error reaction can be carried out as such a measure in order to remedy the detected error. In the event of an error in a safety-critical process, this error reaction can be carried out in particular in the same hierarchy level to which the software monitoring module recognized the error is assigned. If an error of a non-safety-critical process is detected, the corresponding error reaction can expediently be carried out at a next higher hierarchical level.
Bei sicherheitskritischen Fehlern ist es oftmals notwendig, direkt und mit einer bestimmten Zeitvorgabe zu reagieren. In diesem Fall wird daher als entsprechende Maßnahme eine Fehlerreaktion zweckmäßigerweise in der Domäne ausgeführt, in welcher der jeweilige Fehler erkannt wird. Bei nicht-sicherheitskritischen Fehlern gibt es in der Regel eine Verfügbarkeits-Anforderung und daher wird die entsichernde Fehlerreaktion insbesondere auf einer höheren Ebene durchgeführt.In the case of safety-critical errors, it is often necessary to react directly and with a specific time. In this case, as a corresponding measure, an error reaction is expediently carried out in the domain in which the respective error is recognized. In the case of non-safety-critical errors, there is usually an availability request and therefore the unlocking error response is carried out, in particular, at a higher level.
Gemäß einer vorteilhaften Ausführung wird als vorgegebene Maßnahme eine Ersatzreaktion bzw. Fehlerreaktion durch das jeweilige Softwareüberwachungsmodul durchgeführt bzw. eingeleitet. Vorzugsweise wird als derartige Fehlerreaktion ein Reset oder ein Neustart oder ein Deaktivieren des jeweiligen Prozesses, der jeweiligen Domäne oder der jeweiligen Recheneinheit durchgeführt. Bei erkanntem Fehler reagiert das Softwareüberwachungsmodul somit selbst und führt eine entsprechende Maßnahme zur Behebung des Fehlers selbst durch.According to an advantageous embodiment, a substitute reaction or error reaction is carried out or initiated by the respective software monitoring module as a predetermined measure. A reset or a restart or a deactivation of the respective process, the respective domain or the respective computing unit is preferably carried out as such an error reaction. If an error is detected, the software monitoring module thus reacts itself and takes a corresponding measure to remedy the error itself.
Vorteilhafterweise wird als Maßnahme der erkannte Fehler von dem jeweiligen Softwareüberwachungsmodul an ein Fehlermodul (engl. „Error Management Module“) übermittelt. Zweckmäßigerweise führt das Fehlermodul daraufhin die entsprechende Fehlerreaktion durch, also insbesondere Reset, Neustart oder Deaktivieren des Prozesses, der Domäne oder der Recheneinheit. In diesem Fall führt somit nicht das jeweilige Softwareüberwachungsmodul selbst eine Fehlerreaktion durch, sondern das Fehlermodul.As a measure, the detected error is advantageously transmitted from the respective software monitoring module to an error module (“error management module”). The error module then expediently carries out the corresponding error reaction, in particular a reset, restart or deactivation of the process, the domain or the computing unit. In this case, it is not the respective software monitoring module itself that performs an error response, but the error module.
Vorzugsweise wird jedes Softwareüberwachungsmodul einer Hierarchieebene durch eine Frage-/Antwort-Kommunikation und/oder eine Gut-/Schlecht-Prüfung von dem jeweiligen übergeordneten Überwachungsmodul der übergeordneten Hierarchieebene überwacht. Insbesondere kann durch eine Frage-/Antwort-Kommunikation zwischen den einzelnen Software-Watchdogs innerhalb des kaskadierten Watchdog-Systems die korrekte Funktion der Kette zur Laufzeit geprüft werden. Die Kommunikation zwischen den Überwachungsmodulen verschiedener Hierarchieebenen erfolgt zweckmäßigerweise mittels einer Endezu-Ende-Verschlüsselung und kann ferner insbesondere über eine serielle oder eine paketorientierte Kommunikationsverbindung erfolgen, insbesondere über ein Bussystem wie CAN oder Ethernet.Each software monitoring module of a hierarchy level is preferably monitored by question / answer communication and / or a good / bad check by the respective higher-level monitoring module of the higher hierarchical level. In particular, the correct function of the chain can be checked at runtime by means of question / answer communication between the individual software watchdogs within the cascaded watchdog system. The communication between the monitoring modules of different hierarchy levels expediently takes place by means of end-to-end encryption and can also take place in particular via a serial or a packet-oriented communication link, in particular via a bus system such as CAN or Ethernet.
Vorteilhafterweise werden die einzelnen Prozesse im Zuge einer Konfiguration den jeweiligen Softwareüberwachungsmodulen zugewiesen. Beispielsweise kann diese Konfiguration durchgeführt werden, bevor die wenigstens eine Recheneinheit in Betrieb genommen wird. Besonders vorteilhaft kann diese Konfiguration bei Bedarf angepasst oder erweitert werden, d.h. Prozesse können zweckmäßigerweise auch anderen Softwareüberwachungsmodulen zugewiesen werden, insbesondere dynamisch während der Laufzeit der wenigstens einen Recheneinheit. Ferner können somit auch neue Prozesse, die beispielsweise im Zuge eines Updates neu eingebracht wurden, Softwareüberwachungsmodulen zugewiesen werden.The individual processes are advantageously assigned to the respective software monitoring modules in the course of a configuration. For example, this configuration can be carried out before the at least one computing unit is put into operation. This configuration can be adapted or expanded particularly advantageously if required, i.e. Processes can expediently also be assigned to other software monitoring modules, in particular dynamically during the running time of the at least one computing unit. Furthermore, new processes that have been introduced, for example in the course of an update, can also be assigned to software monitoring modules.
Eine erfindungsgemäße Recheneinheit bzw. ein erfindungsgemäßes System aus wenigstens zwei derartigen Recheneinheiten ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. Besonders bevorzugt ist die Recheneinheit bzw. das System aus Recheneinheiten in ein Steuergerät eines Kraftfahrzeugs implementiert.An arithmetic unit according to the invention or a system according to the invention comprising at least two such arithmetic units is, in particular in terms of programming, set up to carry out a method according to the invention. The computing unit or the system of computing units is particularly preferably implemented in a control unit of a motor vehicle.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the attached drawing.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is illustrated schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.
Figurenliste list of figures
-
1 bis3 zeigen jeweils schematisch ein Steuergerät eines Fahrzeugs in einem Blockschaltbild, das dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.1 to3 each schematically show a control unit of a vehicle in a block diagram, which is set up to carry out a preferred embodiment of a method according to the invention.
Ausführungsform(en) der ErfindungEmbodiment (s) of the invention
In
Das Steuergerät
Ferner umfasst das Steuergerät einen Netzwerkverteiler bzw. Netzwerkswitch
Ferner ist eine Vielzahl von Sensoren
Zur Verarbeitung der Sensorwerte der Sensoren
Es ist von Bedeutung, Fehler der einzelnen Recheneinheiten
Das Steuergerät
Zu diesem Zweck ist ein System aus Überwachungsmodulen bzw. Watchdogs vorgesehen, die in verschiedene Hierarchieebenen eingeteilt sind. Dabei ist in dem Steuergerät
Ferner wird in jeder der Recheneinheiten
Eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens wird nachfolgend in Bezug auf
Wie in
Die Recheneinheit
Das Softwareüberwachungsmodul
In der Recheneinheit
In der Domäne
Ferner ist das Softwareüberwachungsmodul
Weiterhin überwacht das Softwareüberwachungsmodul
Auf entsprechende Weise sind auch in der Recheneinheit
In einer Anwendungsdomäne
Die einzelnen Softwareüberwachungsmodule überwachen die jeweiligen ihnen zugewiesenen Prozesse und Softwareüberwachungsmodule jeweils beispielsweise mittels einer Frage-/Antwort-Kommunikation und insbesondere mittels einer Gut-/Schlecht-Prüfung.The individual software monitoring modules each monitor the processes and software monitoring modules assigned to them, for example by means of question / answer communication and in particular by means of a good / bad check.
Wenn nun eines der Softwareüberwachungsmodule einen Fehler eines Prozesses oder eines Softwareüberwachungsmoduls erkennt, wird eine vorgegebene Fehlerreaktion durchgeführt, beispielsweise ein Neustart des Prozesses.If one of the software monitoring modules now detects an error in a process or a software monitoring module, a predefined error reaction is carried out, for example a restart of the process.
In
In diesem Beispiel von
Auch die Recheneinheit
In den Domänen
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant has been generated automatically and is only included for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- DE 102009038434 A1 [0004]DE 102009038434 A1 [0004]
- CN 104636212 A [0004]CN 104636212 A [0004]
- CN 104199746 A [0004]CN 104199746 A [0004]
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018210733.5A DE102018210733A1 (en) | 2018-06-29 | 2018-06-29 | Method for monitoring at least one computing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018210733.5A DE102018210733A1 (en) | 2018-06-29 | 2018-06-29 | Method for monitoring at least one computing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102018210733A1 true DE102018210733A1 (en) | 2020-01-02 |
Family
ID=68886040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102018210733.5A Pending DE102018210733A1 (en) | 2018-06-29 | 2018-06-29 | Method for monitoring at least one computing unit |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102018210733A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020209228A1 (en) | 2020-07-22 | 2022-01-27 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method for monitoring at least one computing unit |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009038434A1 (en) | 2009-08-21 | 2011-02-24 | Delphi Delco Electronics Europe Gmbh | Processor system for controlling multiple functional components of vehicle, has processor for controlling functional components of component group and another processor for controlling functional components of another component group |
CN104199746A (en) | 2014-09-01 | 2014-12-10 | 中国东方电气集团有限公司 | Multitask software watchdog acquiring method |
CN104636212A (en) | 2014-12-29 | 2015-05-20 | 漳州科能电器有限公司 | Embedded operating system watchdog realizing method |
-
2018
- 2018-06-29 DE DE102018210733.5A patent/DE102018210733A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009038434A1 (en) | 2009-08-21 | 2011-02-24 | Delphi Delco Electronics Europe Gmbh | Processor system for controlling multiple functional components of vehicle, has processor for controlling functional components of component group and another processor for controlling functional components of another component group |
CN104199746A (en) | 2014-09-01 | 2014-12-10 | 中国东方电气集团有限公司 | Multitask software watchdog acquiring method |
CN104636212A (en) | 2014-12-29 | 2015-05-20 | 漳州科能电器有限公司 | Embedded operating system watchdog realizing method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020209228A1 (en) | 2020-07-22 | 2022-01-27 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method for monitoring at least one computing unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2641176B1 (en) | Microprocessorsystem with fault tolerant architecture | |
DE60019038T2 (en) | Intelligent error management | |
DE112018002176T5 (en) | Abnormality determination device, abnormality determination method and abnormality determination program | |
DE102014201682A1 (en) | Method for coexistence of software with different security levels in a multicore processor system | |
AT521713B1 (en) | Procedure for detecting security-relevant data flows | |
EP1639465B1 (en) | Method for monitoring the execution of a program in a micro-computer | |
CN111090915B (en) | Automatic driving simulation method, device and storage medium | |
EP1700211B1 (en) | Method of loading software modules | |
DE102017204745A1 (en) | Architecture and apparatus for advanced arbitration in integrated controllers | |
DE102005037403A1 (en) | Method for verifying the operability of the arithmetic logic unit (ALU) of a control module | |
DE102007006614A1 (en) | Application of a Distributed Diagnostic Architecture in AUTOSAR | |
DE102015202326A1 (en) | Method for operating a data processing unit of a driver assistance system and data processing unit | |
DE102019201607A1 (en) | Control system for a motor vehicle | |
EP2203795B1 (en) | Vehicle control unit having a microcontroller the supply voltage of which is monitored and associated method | |
DE102018210733A1 (en) | Method for monitoring at least one computing unit | |
DE102013021231A1 (en) | Method for operating an assistance system of a vehicle and vehicle control unit | |
EP3566398B1 (en) | Method and semiconductor circuit for protecting an operating system of a security system of a vehicle | |
DE102006006843B4 (en) | Method for responding to a control module failure | |
DE102011007467A1 (en) | Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components | |
DE10328059A1 (en) | Method and device for monitoring a distributed system | |
EP3705993B1 (en) | System and method for locating and identifying computing nodes in a network | |
DE102017201621A1 (en) | Integrated circuit for a control unit of a motor vehicle, method for producing an integrated circuit | |
DE102009002898A1 (en) | Method for actualizing controller of vehicle, involves providing comparative results based on comparison of two conditions, and accomplishing actualization of controller based on one of comparative results | |
DE102019111564A1 (en) | METHOD AND SYSTEM FOR CONFIGURING FILTER OBJECTS FOR A CONTROLLER AREA NETWORK CONTROL | |
WO2017153411A1 (en) | Method for operating a control device for a motor vehicle |