DE102018210733A1 - Method for monitoring at least one computing unit - Google Patents

Method for monitoring at least one computing unit Download PDF

Info

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
Application number
DE102018210733.5A
Other languages
German (de)
Inventor
Alexander Maletz
Gunnar Piel
Mikkel Liisberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102018210733.5A priority Critical patent/DE102018210733A1/en
Publication of DE102018210733A1 publication Critical patent/DE102018210733A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial 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.

Figure DE102018210733A1_0000
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.
Figure DE102018210733A1_0000

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 DE 10 2009 038 434 A1 , der CN 104636212 A oder der CN 104199746 A beschrieben ist.So-called watchdogs can be provided for monitoring computing units or processes that are carried out by the computing unit, which can detect errors through data exchange, for example in the form of question / answer communication. For this purpose, for example, the watchdog checks whether the data exchange or the responses received are correct and whether they arrive at a correct point in time or within a predetermined time window. If this is not the case, an error in the computing unit or the respective process can also be inferred. Such watchdogs can be implemented in hardware as a separate hardware element or also in software that is executed by a processor unit, such as in FIG DE 10 2009 038 434 A1 , the CN 104636212 A or the CN 104199746 A is described.

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 bis 3 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 to 3 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 1 ist ein Steuergerät eines Fahrzeugs, beispielsweise für autonoms Fahren, schematisch in einem Blockschaltbild dargestellt und mit 100 bezeichnet.In 1 is a control device of a vehicle, for example for autonomous driving, shown schematically in a block diagram and designated 100.

Das Steuergerät 100 ist als ein System aus mehreren Recheneinheiten 110, 120, 130 ausgebildet. Die Recheneinheit 110 ist beispielsweise als ein Mikrocontroller ausgebildet, welcher einen Multicore-Prozessor aus einer Vielzahl von Prozessorkernen sowie weitere Peripherie umfasst, z.B. Analog-Digital-Wandler (ADC), Digital-Analog-Wandler (DAC) sowie Ein/-Ausgänge (E/A). Die Recheneinheiten 120 und 130 sind jeweils als Mikroprozessoren mit einer Vielzahl von Prozessorkernen ausgebildet.The control unit 100 is a system made up of several computing units 110 . 120 . 130 educated. The computing unit 110 is designed, for example, as a microcontroller, which comprises a multicore processor from a large number of processor cores and further peripherals, for example analog-digital converter (ADC), digital-analog converter (DAC) and inputs / outputs (I / O) , The computing units 120 and 130 are each designed as microprocessors with a large number of processor cores.

Ferner umfasst das Steuergerät einen Netzwerkverteiler bzw. Netzwerkswitch 150. Über ein Kommunikationssystem 101, beispielsweise Ethernet, sind die Recheneinheiten 110, 120, 130 an den Netzwerkverteiler 150 angebunden und stehen somit miteinander in Kommunikationsverbindung. Über den Netzwerkverteiler 150 ist das Steuergerät 100 ferner an einen Kommunikationsbus 103 des Kraftfahrzeugs, z.B. CAN oder Ethernet, angebunden, und steht somit mit weiteren Steuergeräten des Kraftfahrzeugs in Kommunikationsverbindung.The control unit also includes a network distributor or network switch 150 , Via a communication system 101 , for example Ethernet, are the computing units 110 . 120 . 130 to the network distributor 150 connected and are thus in communication with each other. Via the network distributor 150 is the control unit 100 also on a communication bus 103 of the motor vehicle, for example CAN or Ethernet, and is therefore in communication with other control devices of the motor vehicle.

Ferner ist eine Vielzahl von Sensoren 161, 162 und Aktoren 171, 172 an den Netzwerkverteiler 150 angebunden, beispielsweise ebenfalls über ein Ethernet-Kommunikationssystem 102. Das Steuergerät 100 kann somit Sensorwerte von Motorsensoren 161, 162 (beispielsweise Drehzahlsensor, Lambdasensor etc.) empfangen und über die Aktoren 171, 172 (z.B. Injektoren, Zündkerzen, Zylinderklappen etc.) den Motor ansteuern.Furthermore, a variety of sensors 161 . 162 and actuators 171 . 172 to the network distributor 150 connected, for example also via an Ethernet communication system 102 , The control unit 100 can therefore read sensor values from motor sensors 161 . 162 (e.g. speed sensor, lambda sensor etc.) received and via the actuators 171 . 172 (e.g. injectors, spark plugs, cylinder flaps etc.) control the engine.

Zur Verarbeitung der Sensorwerte der Sensoren 161, 162 und zum Erstellen von Ansteuerbefehlen für die Aktoren 171, 172 basierend auf diesen Sensorwerten werden in den Recheneinheiten 110, 120 ,130 entsprechend Prozesse ausgeführt, welche sicherheitskritischer und nicht-sicherheitskritischer Natur sein können.For processing the sensor values of the sensors 161 . 162 and to create control commands for the actuators 171 . 172 based on these sensor values are in the computing units 110 . 120 . 130 accordingly executed processes, which can be safety-critical and non-safety-critical in nature.

Es ist von Bedeutung, Fehler der einzelnen Recheneinheiten 110, 120, 130 bzw. der von den Recheneinheiten 110, 120, 130 ausgeführten Prozesse frühzeitig zu erkennen, um rechtzeitig auf derartige Fehler reagieren und diese beheben zu können.It is important to have errors in the individual computing units 110 . 120 . 130 or that of the computing units 110 . 120 . 130 Identify executed processes at an early stage in order to react to such errors in time and to be able to remedy them

Das Steuergerät 100 ist daher dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen bzw. gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens überwacht zu werden.The control unit 100 is therefore set up to carry out a preferred embodiment of a method according to the invention or to be monitored according to a preferred embodiment of the method according to the invention.

Zu diesem Zweck ist ein System aus Überwachungsmodulen bzw. Watchdogs vorgesehen, die in verschiedene Hierarchieebenen eingeteilt sind. Dabei ist in dem Steuergerät 100 ein Hardwareüberwachungsmodul 140 bzw. ein Hardware-Watchdog vorgesehen, welcher über die Ethernet Verbindung 101 an den Netzwerkverteiler 150 angebunden und mit den Recheneinheiten 110, 120, 130 in Kommunikationsverbindung steht.For this purpose, a system of monitoring modules or watchdogs is provided, which are divided into different hierarchical levels. It is in the control unit 100 a hardware monitoring module 140 or a hardware watchdog is provided, which via the Ethernet connection 101 to the network distributor 150 connected and with the computing units 110 . 120 . 130 is in communication connection.

Ferner wird in jeder der Recheneinheiten 110, 120, 130 jeweils wenigstens ein Softwareüberwachungsmodul bzw. Software-Watchdog ausgeführt. Das Hardwareüberwachungsmodul 140 bzw. der Hardware-Watchdog ist dabei als ein oberstes Überwachungsmodul in einer obersten Hierarchieebene vorgesehen. Die in den Recheneinheiten 110, 120, 130 implementierten Softwareüberwachungsmodule bzw. Software-Watchdogs sind diesem Hardware-Watchdog 140 untergeordnet. Jedes der Softwareüberwachungsmodule überwacht jeweils wenigstens einen ihm zugewiesenen Prozess und wird dabei jeweils von einem übergeordneten Überwachungsmodul einer übergeordneten Hierarchieebene überwacht.Furthermore, in each of the computing units 110 . 120 . 130 each executed at least one software monitoring module or software watchdog. The hardware monitoring module 140 or the hardware watchdog is provided as an uppermost monitoring module in an uppermost hierarchy level. The in the computing units 110 . 120 . 130 implemented software monitoring modules or software watchdogs are this hardware watchdog 140 subordinate. Each of the software monitoring modules monitors at least one process assigned to it and is monitored by a higher-level monitoring module of a higher hierarchical level.

Eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens wird nachfolgend in Bezug auf 2 erläutert, in welcher Teile des Steuergeräts aus 1 schematisch in einem Blockschaltbild dargestellt sind. Identische Bezugszeichen in den Figuren beschreiben dabei gleiche oder baugleiche Elemente.A preferred embodiment of the method according to the invention is described below with reference to 2 explains in which parts of the control unit from 1 are shown schematically in a block diagram. Identical reference symbols in the figures describe identical or identical elements.

Wie in 2 dargestellt ist, wird in den Recheneinheiten 110, 120, 130 eine Vielzahl von Softwareüberwachungsmodulen 111, 122, 126, 132, 136 ausgeführt.As in 2 is shown is in the computing units 110 . 120 . 130 a variety of software monitoring modules 111 . 122 . 126 . 132 . 136 executed.

Die Recheneinheit 110 ist als eine Sicherheitsrecheneinheit ausgebildet, wobei das in der Recheneinheit 110 ausgeführte Softwareüberwachungsmodul 111 in einer insgesamt zweithöchsten Hierarchieebene angesiedelt und nur dem Hardwareüberwachungsmodul 140 in der obersten Hierarchieebene untergeordnet ist.The computing unit 110 is designed as a security computing unit, which in the computing unit 110 executed software monitoring module 111 located in a second highest hierarchical level and only the hardware monitoring module 140 is subordinate in the highest hierarchical level.

Das Softwareüberwachungsmodul 111 überwacht ihm zugewiesene, in der Recheneinheit 110 ausgeführte Prozesse 112, 113, 114 und ferner die Softwareüberwachungsmodule 122 und 132. Ferner wird das Softwareüberwachungsmodul 111 selbst von dem Hardwareüberwachungsmodul 140 überwacht.The software monitoring module 111 monitors assigned to him in the computing unit 110 executed processes 112 . 113 . 114 and also the software monitoring modules 122 and 132 , Furthermore, the software monitoring module 111 even from the hardware monitoring module 140 supervised.

In der Recheneinheit 120 sind zwei unabhängige, voneinander logisch getrennte Domänen 121 und 125 vorgesehen. In einer zentralen Domäne (sog. „Housekeeping Domäne“) 121 werden Prozesse 123 und 124 ausgeführt, die beispielsweise nicht-sicherheitskritisch und statisch sind, und in einer Anwendungsdomäne 125 werden Prozesse 127, 128, 129 ausgeführt, die beispielsweise sicherheitskritisch und dynamisch sind.In the computing unit 120 are two independent, logically separate domains 121 and 125 intended. In a central domain (so-called "housekeeping domain") 121 processes 123 and 124 which are, for example, non-safety-critical and static, and in an application domain 125 become processes 127 . 128 . 129 executed that are, for example, safety-critical and dynamic.

In der Domäne 121 ist das Softwareüberwachungsmodul 122 vorgesehen, welches die in dieser Domäne 121 ablaufenden Prozesse 123, 124 überwacht. Das in der Anwendungsdomäne 125 vorgesehene Softwareüberwachungsmodul 126 überwacht die dort ablaufenden Prozesse 127, 128, 129.In the domain 121 is the software monitoring module 122 provided which the in this domain 121 ongoing processes 123 . 124 supervised. That in the application domain 125 provided software monitoring module 126 monitors the processes running there 127 . 128 . 129 ,

Ferner ist das Softwareüberwachungsmodul 122 der zentralen Domäne 121 in einer dritthöchsten Hierarchieebene vorgesehen und somit dem Softwareüberwachungsmodul 111 der Sicherheitsrecheneinheit 110 untergeordnet und wird von diesem überwacht.Furthermore, the software monitoring module 122 the central domain 121 provided in a third highest hierarchical level and thus the software monitoring module 111 the security computing unit 110 subordinate and is monitored by this.

Weiterhin überwacht das Softwareüberwachungsmodul 122 der zentralen Domäne 121 das Softwareüberwachungsmodul 126 in der Anwendungsdomäne 125, welches in einer vierthöchsten Hierarchieebene vorgesehen und dem Softwareüberwachungsmodul 122 somit untergeordnet ist.The software monitoring module also monitors 122 the central domain 121 the software monitoring module 126 in the application domain 125 , which is provided in a fourth highest hierarchical level and the software monitoring module 122 is therefore subordinate.

Auf entsprechende Weise sind auch in der Recheneinheit 130 zwei voneinander logisch getrennte Domänen 131 und 135 vorgesehen. Auch dort werden in einer zentralen Domäne 131 Prozesse 133 und 134 ausgeführt und von dem Softwareüberwachungsmodul 132 überwacht. Auch dieses Softwareüberwachungsmodul 132 ist in der dritthöchsten Hierarchieebene vorgesehen und wird von dem Softwareüberwachungsmodul 111 der Sicherheitsrecheneinheit 110 überwacht.In a corresponding way are also in the computing unit 130 two domains logically separated from each other 131 and 135 intended. There too are in a central domain 131 processes 133 and 134 executed and by the software monitoring module 132 supervised. This software monitoring module too 132 is provided in the third highest hierarchical level and is provided by the software monitoring module 111 the security computing unit 110 supervised.

In einer Anwendungsdomäne 135 werden Prozesse 137, 138, 139 ausgeführt und von dem Softwareüberwachungsmodul 136 überwacht. Das Softwareüberwachungsmodul 136 ist wiederum in der vierthöchsten Hierarchieebene vorgesehen und wird von dem übergeordneten Softwareüberwachungsmodul 132 der dritthöchsten Hierarchieebene überwacht.In an application domain 135 become processes 137 . 138 . 139 executed and by the software monitoring module 136 supervised. The software monitoring module 136 is in turn provided in the fourth highest hierarchy level and is provided by the higher-level software monitoring module 132 monitors the third highest hierarchical level.

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 3 ist gemäß einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ein Teil eines Steuergeräts schematisch in einem Blockschaltbild dargestellt.In 3 According to a further preferred embodiment of the method according to the invention, part of a control device is shown schematically in a block diagram.

In diesem Beispiel von 3 ist eine neben dem Mikrocontroller 110 eine weitere beispielsweise als Mikroprozessor ausgebildete Recheneinheit 200 vorgesehen, welche alternativ oder zusätzlich zu den als Mikroprozessor ausgebildeten Recheneinheiten 120, 130 aus den 1 und 2 vorgesehen sein kann.In this example from 3 is one next to the microcontroller 110 a further computing unit designed, for example, as a microprocessor 200 provided which alternatively or in addition to the computing units designed as a microprocessor 120 . 130 from the 1 and 2 can be provided.

Auch die Recheneinheit 200 ist in mehrere Domänen 210, 220, 230, 240 unterteilt. In einer zentralen Domäne 210 ist ein Software-Watchdog bzw. Softwareüberwachungsmodul 211 vorgesehen, welches in einer dritthöchsten Hierarchieebene vorgesehen ist und von dem ihm übergeordneten Softwareüberwachungsmodul 111 der Sicherheitsrecheneinheit 110 überwacht wird.The computing unit too 200 is in multiple domains 210 . 220 . 230 . 240 divided. In a central domain 210 is a software watchdog or software monitoring module 211 provided, which is provided in a third highest hierarchical level and by the higher-level software monitoring module 111 the security computing unit 110 is monitored.

In den Domänen 220, 230 und 240 werden jeweils unabhängig voneinander Prozesse 222, 223 bzw. 232, 233 bzw. 242, 243 ausgeführt. In jeder Domäne 220, 230, 240 ist ferner jeweils ein Softwareüberwachungsmodul 221, 231, 241 zur Überwachung der in der jeweiligen Domäne ablaufenden Prozesse vorgesehen. Diese Softwareüberwachungsmodule 221, 231, 241 sind beispielsweise jeweils als Slaves implementiert und in einer vierthöchsten Hierarchieebene vorgesehen. Somit sind die Softwareüberwachungsmodule 221, 231, 241 dem Softwareüberwachungsmodul 211 der dritthöchsten Hierarchieebene, welches beispielsweise als Master vorgesehen ist, untergeordnet und werden von diesem überwacht.In the domains 220 . 230 and 240 processes are independent of each other 222 . 223 respectively. 232 . 233 respectively. 242 . 243 executed. In every domain 220 . 230 . 240 is also a software monitoring module 221 . 231 . 241 to monitor the processes running in the respective domain. These software monitoring modules 221 . 231 . 241 are implemented as slaves, for example, and are provided in a fourth highest hierarchical level. So the software monitoring modules 221 . 231 . 241 the software monitoring module 211 the third highest hierarchy level, which is intended as a master, for example, and is monitored by it.

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)

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.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, a top monitoring module (140) being provided as a hardware monitoring module in a top hierarchical level, At least one software monitoring module (111, 122, 126, 132, 136) is provided in at least one hierarchical level subordinate to the highest hierarchical level, wherein each software monitoring module (111, 122, 126, 132, 136) each monitors at least one assigned process (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) and wherein 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. Verfahren nach Anspruch 1, wobei jedes Softwareüberwachungsmodul (111, 122, 126, 132, 136) zur Überwachung des jeweiligen wenigstens einen zugewiesenen Prozesses (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) eine Frage-/Antwort-Kommunikation und/oder eine Gut-/Schlecht-Prüfung durchführt.Procedure according to Claim 1 , wherein each software monitoring module (111, 122, 126, 132, 136) for monitoring the respective at least one assigned process (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) carries out question / answer communication and / or a good / bad check. Verfahren nach Anspruch 1 oder 2, wobei jedes Softwareüberwachungsmodul (111, 122, 126, 132, 136) den jeweiligen wenigstens einen zugewiesenen Prozess (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) im Hinblick auf Laufzeit, Lebendigkeit und/oder korrekte Ausführung hin überwacht.Procedure according to Claim 1 or 2 , wherein each software monitoring module (111, 122, 126, 132, 136) the respective at least one assigned process (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) in view monitored for runtime, liveliness and / or correct execution. Verfahren nach einem der vorstehenden Ansprüche, wobei jedes Softwareüberwachungsmodul (111, 122, 126, 132, 136) bei einem erkannten Fehler des jeweiligen wenigstens einen zugewiesenen Prozesses (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) eine vorgegebene Maßnahme durchführt.Method according to one of the preceding claims, wherein each software monitoring module (111, 122, 126, 132, 136) upon detection of an error in the respective at least one assigned process (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) carries out a predetermined measure. Verfahren nach Anspruch 4, wobei als vorgegebene Maßnahme eine Fehlerreaktion durch das jeweilige Softwareüberwachungsmodul (111, 122, 126, 132, 136) durchgeführt wird.Procedure according to Claim 4 , a fault response being carried out by the respective software monitoring module (111, 122, 126, 132, 136) as a predetermined measure. Verfahren nach Anspruch 4 oder 5, wobei als vorgegebene Maßnahme der erkannte Fehler von dem jeweiligen Softwareüberwachungsmodul (111, 122, 126, 132, 136) an ein Fehlermodul übermittelt wird.Procedure according to Claim 4 or 5 , wherein the detected error is transmitted from the respective software monitoring module (111, 122, 126, 132, 136) to an error module as a predetermined measure. Verfahren nach einem der vorstehenden Ansprüche, wobei jedes Softwareüberwachungsmodul (111, 122, 126, 132, 136) einer Hierarchieebene durch eine Frage-/Antwort-Kommunikation und/oder eine Gut-/Schlecht-Prüfung von dem jeweiligen übergeordneten Überwachungsmodul (140, 111, 122, 132) der übergeordneten Hierarchieebene überwacht wird.Method according to one of the preceding claims, wherein each software monitoring module (111, 122, 126, 132, 136) of a hierarchical level by means of question / answer communication and / or a good / bad check from the respective higher-level monitoring module (140, 111 , 122, 132) of the higher hierarchical level is monitored. Verfahren nach einem der vorstehenden Ansprüche, wobei die einzelnen Prozesse (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) im Zuge einer Konfiguration den jeweiligen Softwareüberwachungsmodulen (111, 122, 126, 132, 136) zugewiesen werden.Method according to one of the preceding claims, wherein the individual processes (112, 113, 114, 123, 124, 127, 128, 129, 133, 134, 137, 138, 139) in the course of a configuration of the respective software monitoring modules (111, 122, 126, 132, 136) can be assigned. Verfahren nach einem der vorstehenden Ansprüche, wobei Prozesse (123, 124, 127, 128, 129, 133, 134, 137, 138, 139) in der wenigstens einen Recheneinheit (120, 130) jeweils in voneinander unabhängigen Domänen (121, 125, 131, 135) ausgeführt werden.Method according to one of the preceding claims, wherein processes (123, 124, 127, 128, 129, 133, 134, 137, 138, 139) in the at least one computing unit (120, 130) each in mutually independent domains (121, 125, 131, 135). Verfahren nach einem der vorstehenden Ansprüche, wobei ein System aus wenigstens zwei Recheneinheiten (110, 120, 130) überwacht wird, die miteinander in Kommunikationsverbindung stehen.Method according to one of the preceding claims, wherein a system of at least two computing units (110, 120, 130) is monitored, which are in communication with each other. Recheneinheit oder System aus wenigstens zwei Recheneinheiten (110, 120, 130), mit Mitteln, um ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.Computing unit or system comprising at least two computing units (110, 120, 130), with means for carrying out a method according to one of the preceding claims.
DE102018210733.5A 2018-06-29 2018-06-29 Method for monitoring at least one computing unit Pending DE102018210733A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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