Verfahren zu Überprüfung der Sicherheit und Zuverlässigkeit softwarebasierter elektronischer SystemeProcedure for checking the security and reliability of software-based electronic systems
Die Erfindung betrifft ein Verfahren zur Überprüfung der Sicherheit und Zuverlässigkeit softwarebasierter elektronischer Systeme unter Verwendung einer Zuverlässigkeitsfunktion zur Überprüfung der geforderten Funktionen des Systems auf der Grundlage der hierfür notwendigen Hardware-Komponenten des Systems. Weiterhin betrifft die Erfindung Verwendungen dieses Verfahrens sowie ein Computerprogramm und Computerprogrammprodukt zur Implementierung des Verfahrens.The invention relates to a method for checking the security and reliability of software-based electronic systems using a reliability function for checking the required functions of the system on the basis of the hardware components of the system required for this. Furthermore, the invention relates to uses of this method and to a computer program and computer program product for implementing the method.
Stand der TechnikState of the art
Zuverlässigkeits- und Sicherheitsanforderungen bspw. an Fahrzeugfunktionen ergeben sich aus den Kundenwünschen unter Berücksichtigung der technischen, gesetzlichen und finanziellen Randbedingungen. Zuverlässigkeitsanforderungen an Fahrzeugfunktionen werden beispielsweise in Form von kurzen Reparaturzeiten oder langen Serviceintervallen vorgegeben. Sicherheitsanforderungen legen dagegen das sichere Verhalten des Fahrzeugs im Falle von Ausfällen und
Störungen von Komponenten des Fahrzeugs fest. Die an Fahrzeugfunktionen gestellten Zuverlässigkeits- und Sicherheitsanforderungen legen von Anfang an auch Anforderungen an die technische Realisierung und Nachweispflichten fest. Eine der mächtigsten Maßnahmen zur Erhöhung der Sicherheit und Zuverlässigkeit ist Redundanz. Da zunehmend Fahrzeugfunktionen oder Teile von Fahrzeugfunktionen durch Software realisiert werden, haben systematische Methoden zur Zuverlässigkeits- und Sicherheitsanalyse auch zunehmenden Einfluss auf dieReliability and safety requirements, for example on vehicle functions, result from customer requirements, taking into account the technical, legal and financial constraints. Reliability requirements for vehicle functions are specified, for example, in the form of short repair times or long service intervals. Safety requirements, on the other hand, determine the safe behavior of the vehicle in the event of failures and Faults in components of the vehicle. The reliability and safety requirements placed on vehicle functions also set requirements for technical implementation and verification requirements from the start. One of the most powerful measures to increase security and reliability is redundancy. As vehicle functions or parts of vehicle functions are increasingly implemented by software, systematic methods for reliability and safety analysis also have an increasing influence on the
Software-Entwicklung für elektronische Steuergeräte, etwa auf die Realisierung der Überwachungs-, Diagnose- und Sicherheitskonzepte .Software development for electronic control units, for example for the implementation of monitoring, diagnostic and safety concepts.
Für komplexe elektronische Systeme müssen die Aktivitäten zur Absicherung der Zuverlässigkeit und Sicherheit frühzeitig geplant und in den gesamten Projektplan integriert werden.For complex electronic systems, the activities to ensure reliability and security must be planned in advance and integrated into the overall project plan.
Unter dem Begriff „System" soll im Rahmen vorliegenderThe term "system" is intended in the context of the present
Anmeldung je nach Kontext das Folgende verstanden werden: Der zum Erreichen einer bestimmten Funktion notwendige kleinste Systemabschnitt, zusammenwirkende Systemabschnitte bis hin zum Gesamtsystem oder - noch weiter gefasst - das Gesamtsystem unter Einschluss der Bedienpersonen oder anderer auf das Gesamtsystem wirkender Elemente. Zur Erläuterung der Erfindung wird im Rahmen vorliegender Anmeldung im Wesentlichen auf Systeme Bezug genommen, die Bestandteil von Fahrzeugsteuerungen sind. Diese Bezugnahme hat rein erläuternden Charakter und soll die Erfindung in keiner Weise auf solche Systeme beschränken. Die Erfindung besitzt vielmehr generell in Bezug auf softwarebasierte elektronische Systeme Gültigkeit.
Zur Überprüfung der Sicherheit und Zuverlässigkeit solcher Systeme ist die Verwendung von Zuverlässigkeitsfunktionen bekannt, mit Hilfe derer der Grad der Zuverlässigkeit für geforderte Funktionen des Systems angegeben werden kann. Zum Bestimmen einer solchen Zuverlässigkeitsfunktion kann von den Zuverlässigkeiten der für die geforderten Systemfunktionen notwendigen Hardwarekomponenten des Systems ausgegangen werden. Zuverlässigkeitsanalysen umfassen z.B. Ausfallraten- und Ausfallartenanalysen, wie die Ausfallarten- und Wirkungsanalyse (FMIA) oder die Fehlerbaumanalyse (FTA) . Im Folgenden soll eine Zuverlässigkeitsanalyse anhand einer Ausfallratenanalyse unter Berechnung der Zuverlässigkeitsfunktion anhand eines Zuverlässigkeitsblockdiagramms für ein betrachtetes System näher erläutert werden.Depending on the context, the following can be understood: the smallest system section required to achieve a specific function, interacting system sections up to the overall system or - even more broadly - the overall system including the operator or other elements that affect the overall system. To explain the invention, reference is made in the context of the present application essentially to systems which are part of vehicle controls. This reference is purely illustrative and is in no way intended to limit the invention to such systems. Rather, the invention is generally valid in relation to software-based electronic systems. To check the security and reliability of such systems, the use of reliability functions is known, with the aid of which the degree of reliability for required functions of the system can be specified. To determine such a reliability function, the reliability of the hardware components of the system necessary for the required system functions can be assumed. Reliability analyzes include, for example, failure rate and failure type analyzes, such as failure type and impact analysis (FMIA) or fault tree analysis (FTA). A reliability analysis based on a failure rate analysis while calculating the reliability function based on a reliability block diagram for a system under consideration is to be explained in more detail below.
Die systematische Untersuchung der Ausfallrate einer Betrachtungseinheit ermöglicht die Voraussage der Zuverlässigkeit für die Betrachtungseinheit durch Berechnung. Diese Voraussage ist wichtig, um Schwachstellen frühzeitig zu erkennen, Alternativlösungen zu bewerten und Zusammenhänge zwischen Zuverlässigkeit, Sicherheit und Verfügbarkeit quantitativ erfassen zu können. Außerdem sind Untersuchungen dieser Art notwendig, um Zuverlässigkeitsanforderungen etwa an Systemkomponenten stellen zu können.The systematic examination of the failure rate of a viewing unit enables the reliability of the viewing unit to be predicted by calculation. This prediction is important in order to identify weaknesses at an early stage, to evaluate alternative solutions and to be able to quantitatively determine relationships between reliability, security and availability. In addition, studies of this type are necessary in order to be able to place reliability requirements on system components, for example.
Infolge von Vernachlässigungen und Vereinfachungen, sowie der Unsicherheit der verwendeten Eingangsdaten kann die berechnete, vorausgesagte Zuverlässigkeit nur einAs a result of neglect and simplification, as well as the uncertainty of the input data used, the calculated, predicted reliability can only be one
Schätzwert für die wahre Zuverlässigkeit sein, die nur mit Zuverlässigkeitsprüfungen und Feldbeobachtungen zu ermitteln ist. Im Rahmen von Vergleichsuntersuchungen in der Analysephase spielt jedoch die absolute Genauigkeit
keine Rolle, so dass besonders bei der Bewertung von Realisierungsalternativen die Berechnung der vorausgesagten Zuverlässigkeit nützlich ist.Be an estimate of the true reliability, which can only be determined with reliability tests and field observations. In the context of comparative investigations in the analysis phase, however, absolute accuracy plays a role not matter, so that the calculation of the predicted reliability is particularly useful when evaluating implementation alternatives.
In den folgenden Abschnitten ist die Betrachtungseinheit immer ein technisches System oder eine Systemkomponente des Fahrzeugs. Im allgemeinen Fall kann die Betrachtungseinheit auch weiter gefasst werden und beispielsweise auch den Fahrer des Fahrzeugs mit einschließen.In the following sections, the observation unit is always a technical system or a system component of the vehicle. In the general case, the observation unit can also be expanded and, for example, also include the driver of the vehicle.
Die Ausfallratenanalyse (siehe hierzu Alessandro Birolini: Zuverlässigkeit von Geräten und Systemen. Springer Verlag, 1997) unterscheidet die folgenden Schritte:The failure rate analysis (see Alessandro Birolini: Reliability of devices and systems. Springer Verlag, 1997) distinguishes the following steps:
• Definition der Grenzen und Komponenten des technischen Systems, der geforderten Funktionen und des Anforderungsprofils• Definition of the limits and components of the technical system, the required functions and the requirement profile
• Aufstellen des Zuverlässigkeitsblockdiagramms (engl. Reliability Block Diagram) • Bestimmung der Belastungsbedingungen für jede Komponente• Set up the Reliability Block Diagram. • Determine the load conditions for each component
• Bestimmung von Zuverlässigkeitsfunktion oder Ausfallrate für jede Komponente• Determine reliability function or failure rate for each component
• Berechnung der Zuverlässigkeitsfunktion für das System • Behebung der Schwachstellen• Calculation of the reliability function for the system. • Elimination of the weak points
Die Ausfallratenanalyse ist ein mehrstufiges Verfahren und kann „top downλλ von der Systemebene über die verschiedenenThe failure rate analysis is a multi-stage process and can be "top down λλ from the system level to the various
Subsystemebenen bis zur Komponentenebene der technischen Systemarchitektur durchgeführt werden. DieSubsystem levels down to the component level of the technical system architecture. The
Ausfallratenanalyse muss nach Änderungen der technischen Systemarchitektur wiederholt werden.
Im Folgenden soll der erste Schritt der Ausfallratenanalyse näher erläutert werden.Failure rate analysis must be repeated after changes to the technical system architecture. The first step of the failure rate analysis will be explained in more detail below.
Für die theoretischen Überlegungen, die zur Voraussage der Zuverlässigkeit notwendig sind, sollten eingehendeFor the theoretical considerations necessary to predict reliability, detailed considerations should be made
Kenntnisse des Systems und seiner Funktionen, sowie der konkreten Möglichkeiten zur Verbesserung der Zuverlässigkeit und Sicherheit vorausgesetzt werden. Zum Systemverständnis zählt die Kenntnis der Architektur des Systems und seiner Wirkungsweise, die Arbeits- undKnowledge of the system and its functions, as well as the specific possibilities to improve reliability and security are required. Understanding the system includes knowledge of the architecture of the system and its mode of operation, the work and
Belastungsbedingungen für alle Systemkomponenten, sowie die gegenseitigen Wechselwirkungen zwischen den Komponenten, etwa in Form von Signalflüssen und der Eingangs- und Ausgangssicht aller Komponenten. Zu den Verbesserungsmöglichkeiten gehören die Begrenzung oder die Verringerung der Belastung der Komponenten im Betrieb, etwa der statischen oder dynamischen Belastungen, der Belastung der Schnittstellen, der Einsatz besser geeigneter Komponenten, die Vereinfachung des System- oder Komponentenentwurfs, die Vorbehandlung kritischer Komponenten, sowie der Einsatz von Redundanz.Load conditions for all system components, as well as the mutual interactions between the components, for example in the form of signal flows and the input and output view of all components. Possible improvements include limiting or reducing the load on the components during operation, such as static or dynamic loads, the load on the interfaces, the use of more suitable components, the simplification of the system or component design, the pretreatment of critical components, and the use of redundancy.
Die geforderte Funktion spezifiziert die Aufgabe des Systems. Die Festlegung der Systemgrenzen und der geforderten Funktionen bildet den Ausgangspunkt jeder Zuverlässigkeitsanalyse, weil damit auch der Ausfall definiert wird.The required function specifies the task of the system. The definition of the system limits and the required functions forms the starting point of every reliability analysis because this also defines the failure.
Zusätzlich müssen die Umweltbedingungen für alle Komponenten des Systems definiert werden, da dadurch dieIn addition, the environmental conditions for all components of the system must be defined, as this will result in
Zuverlässigkeit der Komponenten beeinflusst wird. So hat z. B. der Temperaturbereich großen Einfluss auf die Ausfallrate von Hardware-Komponenten. Im Fahrzeug gehören z. B. der geforderte Temperaturbereich, der Einsatz unter
Feuchtigkeit, Staub oder korrosiver Atmosphäre, oder Belastungen durch Vibrationen, Schocks oder Schwankungen, wie etwa der Versorgungsspannung zu den Umweltbedingungen. Hängen die geforderten Funktionen und die Umweltbedingungen außerdem von der Zeit ab, muss ein Anforderungsprofil festgelegt werden. Ein Beispiel für gesetzlich vorgeschriebene Anforderungsprofile im Fahrzeug sind die Fahrzyklen zum Nachweis der Einhaltung der Abgasvorschriften. In diesem Fall spricht man auch von repräsentativen Anforderungsprofilen.Component reliability is affected. So z. B. the temperature range has a major impact on the failure rate of hardware components. In the vehicle include B. the required temperature range, use under Moisture, dust or corrosive atmosphere, or exposure to vibrations, shocks or fluctuations, such as the supply voltage to the environmental conditions. If the required functions and environmental conditions also depend on the time, a requirement profile must be defined. An example of legally required requirement profiles in the vehicle are the driving cycles to demonstrate compliance with the exhaust gas regulations. In this case one speaks of representative requirement profiles.
Nachstehend wird der zweite Schritt der Ausfallratenanalyse näher erläutert.The second step of the failure rate analysis is explained in more detail below.
Das Zuverlässigkeitsblockdiagramm gibt Antwort auf die Fragen, welche Hardware-Komponenten ■ eines Systems zur Erfüllung der geforderten Funktion grundsätzlich funktionieren müssen und welche Hardware-Komponenten im Falle ihres Ausfalls die Funktion nicht grundsätzlich beeinträchtigen, da sie redundant vorhanden sind. Die Aufstellung des Zuverlässigkeitsblockdiagramms erfolgt, indem man die Komponenten der technischen Systemarchitektur betrachtet. Diese Komponenten werden in einem Blockdiagramm so verbunden, dass die zur Funktionserfüllung notwendigen Komponenten in Reihe geschaltet werden und redundanteThe reliability block diagram provides answers to the questions as to which hardware components ■ of a system must fundamentally function in order to fulfill the required function and which hardware components do not fundamentally impair the function in the event of a failure because they are redundant. The reliability block diagram is prepared by looking at the components of the technical system architecture. These components are connected in a block diagram in such a way that the components required to fulfill the function are connected in series and redundant
Komponenten in einer Parallelschaltung verbunden werden.Components are connected in a parallel connection.
Figur 1 stellt schematisch ein so genanntes Brake-By-Wire- System 1 dar, wobei das Bremspedal 2, das Steuergerät 3 sowie die vier Bremseinheiten, nämlich die Bremseinheit 4 vorne links, die Bremseinheit 5 hinten links, die Bremseinheit 6 vorne rechts sowie die Bremseinheit 7 hinten rechts, dargestellt sind. Die für eine Funktion des Systems 1 notwendigen Hardware-Komponenten sind mit K bezeichnet.
Für ein fiktives Brake-By-Wire-Syste 1, wie in Figur 1 dargestellt, wird zunächst die Systemgrenze festgelegt. Das System besteht aus den Komponenten Bremspedaleinheit (Ki ) , Steuergerät (K2) , den Radbremseinheiten (K5, , K7, K9 ,Kπ) und den elektrischen Verbindungen (K3,, K , K6, K8, Kio) •Figure 1 schematically represents a so-called brake-by-wire system 1, the brake pedal 2, the control unit 3 and the four brake units, namely the brake unit 4 front left, the brake unit 5 rear left, the brake unit 6 front right and the Brake unit 7 rear right, are shown. The hardware components required for a function of the system 1 are denoted by K. For a fictitious brake-by-wire system 1, as shown in FIG. 1, the system limit is first defined. The system consists of the components of the brake pedal unit (Ki), the control unit (K 2 ), the wheel brake units (K 5 ,, K 7 , K 9 , Kπ) and the electrical connections (K 3 ,, K, K 6 , K 8 , Kio ) •
Bei Brake-By-Wire-Syste en besteht zwischen dem Bremspedal und den Radbremsen keine hydraulische, sondern eine elektrische Verbindung. Beim Bremsen wird der Fahrerbefehl, der durch die Bremspedaleinheit Ki vorgegeben und im Steuergerät K2 verarbeitet wird, und die zum Bremsen notwendige Energie „by wire" zu den Radbremseinheiten K5, K7, K9 und K3.1 übertragen. Dabei muss sichergestellt werden, dass die Übernahme der Funktionen „Informations- und Energieübertragung" zwischen Pedaleinheit und Radbremseinheiten, die bei konventionellen Bremssystemen mechanisch-hydraulisch realisiert sind, durch die elektrischen und elektronischen Komponenten K2, K3, K4, Kβ, Ks und Kio kein zusätzliches Sicherheitsrisiko, sondern einen Sicherheitsgewinn bringt. Die vorhersagbare Übertragung der Bremsbefehle ist deshalb eine zwingende Voraussetzung. Ebenso muss die Sicherheit auch bei Störungen und Ausfällen von Komponenten gewährleistet sein.In brake-by-wire systems, there is no hydraulic but electrical connection between the brake pedal and the wheel brakes. When braking, the driver command, which is specified by the brake pedal unit Ki and processed in the control unit K 2 , and the energy required for braking are transmitted “by wire” to the wheel brake units K 5 , K 7 , K 9 and K 3.1 . This must be ensured that the takeover of the "information and energy transfer" functions between the pedal unit and wheel brake units, which are implemented mechanically and hydraulically in conventional brake systems, by the electrical and electronic components K 2 , K 3 , K 4 , Kβ, Ks and Kio no additional safety risk , but brings a security gain. The predictable transmission of the brake commands is therefore an essential requirement. Likewise, safety must also be guaranteed in the event of malfunctions and component failures.
Es soll die Funktion „Bremsen" betrachtet werden. Dafür soll die GesamtZuverlässigkeit des Systems bestimmt werden. Es wird angenommen, dass die Ausfallraten λi bis λπ der Komponenten _χ bis Kn bekannt sind.The function "braking" should be considered. For this purpose, the overall reliability of the system should be determined. It is assumed that the failure rates λi to λπ of the components _χ to Kn are known.
Dieses Beispiel wird im weiteren sehr stark vereinfacht. Es soll nur die prinzipielle Vorgehensweise bei der Zuverlässigkeitsanalyse verdeutlichen. Deshalb wird nur die Informationsübertragung betrachtet, während die Aspekte der
Energieversorgung und der Energieübertragung, sowie fahrdynamische Randbedingungen, wie die geforderte Bremskraftverteilung auf Vorder- und Hinterachse, die selbstverständlich auch bei der Zuverlässigkeitsanalyse berücksichtigt werden müssen, vernachlässigt werden.This example will be greatly simplified in the following. It should only clarify the basic procedure for the reliability analysis. Therefore only the transmission of information is considered, while the aspects of Energy supply and energy transmission, as well as driving dynamics, such as the required brake force distribution on the front and rear axles, which of course also have to be taken into account in the reliability analysis, are neglected.
Für die Erfüllung der Funktion „Bremsen" sind bei dieser vereinfachten Sicht das Funktionieren der Komponenten Bremspedaleinheit Ki, Steuergerät K2, sowie der Verbindungen zwischen Bremspedaleinheit und Steuergerät K3 zwingend notwendig.In this simplified view, the functioning of the components of the brake pedal unit Ki, control unit K 2 and the connections between the brake pedal unit and control unit K 3 are absolutely necessary for the fulfillment of the “braking” function.
Bei den Radbremseinheiten und den Verbindungen zwischen Steuergerät und Radbremseinheiten ist Redundanz vorhanden. Unter der stark vereinfachten Annahme, dass eine ausreichende Hilfsbremswirkung für das Fahrzeug mit nur einer Radbremseinheit erzielt werden kann, sind dann beispielsweise die Komponenten K4 und K5 notwendig, während die Komponenten Kβ und K7, Kg und K9 bzw. Kχ0 und Ku redundant vorhanden sind. Eine derartige Anordnung wird auch als l-aus-4-Redundanz bezeichnet.There is redundancy in the wheel brake units and the connections between the control unit and the wheel brake units. Under the greatly simplified assumption that a sufficient auxiliary braking effect for the vehicle can be achieved with only one wheel brake unit, components K 4 and K5 are then necessary, for example, while components Kβ and K 7 , Kg and K 9 or Kχ 0 and Ku are redundant. Such an arrangement is also referred to as 1-out-of-4 redundancy.
Das Zuverlässigkeitsblockdiagramm für die Funktion „Bremsen" sieht dann wie in Figur 2 dargestellt aus.The reliability block diagram for the “braking” function then looks as shown in FIG. 2.
Nach Festlegung der Belastungsbedingungen und der Bestimmung der Zuverlässigkeitsfunktionen R±(t) für alle Komponenten Ki, kann unter Berücksichtigung der in nachstehender Tabelle 3 dargestellten Grundregeln für Zuverlässigkeitsblockdiagramme die Zuverlässigkeitsfunktion des Systems Rs(t) berechnet werden.
Tabelle 3: Einige Grundregeln zur Berechnung der Zuverlässigkeitsfunktion für das SystemAfter determining the load conditions and determining the reliability functions R ± (t) for all components Ki, the reliability function of the system R s (t) can be calculated taking into account the basic rules for reliability block diagrams shown in Table 3 below. Table 3: Some basic rules for calculating the reliability function for the system
Für das Beispiel in Figur 2 kann damit die Zuverlässigkeitsfunktion des Systems Rs berechnet werden. Mit den Annahmen R4 = R6 = Rs = Rio und R5 = R7 = R9 = Ru folgt für Rs:For the example in FIG. 2, the reliability function of the system R s can thus be calculated. With the assumptions R 4 = R 6 = Rs = Rio and R 5 = R 7 = R 9 = Ru it follows for R s :
Rs Ri R2 Rs [1- d-R4 Rs)4]Rs Ri R 2 Rs [1- dR 4 Rs) 4 ]
Wie dieses vereinfachte Beispiel zeigt, erhöht sich die Systemzuverlässigkeit für eine Funktion durch redundante Komponenten im Zuverlässigkeitsblockdiagramm gegenüber der
Komponentenzuverlässigkeit. Dagegen verringert sich bei den seriell dargestellten Komponenten die Systemzuverlässigkeit gegenüber der Komponentenzuverlässigkeit. Man wird daher für die seriellen Komponenten im Zuverlässigkeitsblockdiagramm bereits eine hoheAs this simplified example shows, the system reliability for a function increases due to redundant components in the reliability block diagram compared to that Component reliability. In contrast, in the case of the components shown in series, the system reliability is reduced compared to the component reliability. One therefore already gets a high one for the serial components in the reliability block diagram
Zuverlässigkeit von den Komponenten fordern müssen oder eine technische Systemarchitektur einführen, die auch hier redundante Strukturen vorsieht.Require reliability from the components or introduce a technical system architecture that also provides redundant structures.
Während oben die Berechnung der Zuverlässigkeitsfunktion für ein System für eine bestimmte geforderte Systemfunktion exemplarisch und stark vereinfacht dargelegt worden ist, ist es in ähnlicher Weise erstrebenswert, Aussagen über die Sicherheit eines Systems treffen zu können. Für die Sicherheit eines Systems ist es häufig irrelevant, ob dieWhile the calculation of the reliability function for a system for a specific required system function has been set out above in an exemplary and greatly simplified manner, it is similarly desirable to be able to make statements about the security of a system. For the security of a system, it is often irrelevant whether the
Betrachtungseinheit die geforderten Funktionen erfüllt oder nicht, sofern damit kein nicht vertretbar hohes Risiko eintritt. Softwarebasierte elektronische Systeme, wie sie in vorliegender Anmeldung betrachtet werden, bestehen hauptsächlich aus Hardware-Komponenten sowie Software- Komponenten, wobei die Software-Komponenten meist auf einige der Hardwarekomponenten des Systems verteilt sein können. Es besteht ein starkes Bedürfnis, sowohl die Sicherheit als auch die Zuverlässigkeit solcher softwarebasierter elektronischer System verlässlich überprüfen zu können.Unit fulfills the required functions or not, provided that there is no unacceptably high risk. Software-based electronic systems, as they are considered in the present application, consist mainly of hardware components and software components, whereby the software components can usually be distributed over some of the hardware components of the system. There is a strong need to be able to reliably check both the security and the reliability of such software-based electronic systems.
Beschreibung der Erfindung und VorteileDescription of the invention and advantages
Erfindungsgemäß wird eine Zuverlässigkeitsfunktion zur Berechnung der Zuverlässigkeit mindestens einer der geforderten Funktionen des Systems und eine weitere Zuverlässigkeitsfunktion zur Berechnung der Zuverlässigkeit mindestens einer der
Sicherheitsfunktionen des Systems bestimmt, wobei bei der Bestimmung dieser Zuverlässigkeitsfunktionen auch Software-Komponenten des Systems mit berücksichtigt werden. Die Software-Komponenten werden dabei anhand der Hardware-Komponenten, auf die dieseAccording to the invention, a reliability function for calculating the reliability of at least one of the required functions of the system and a further reliability function for calculating the reliability of at least one of the Security functions of the system are determined, software components of the system also being taken into account when determining these reliability functions. The software components are based on the hardware components on which they are based
Softwarekomponenten verteilt sind, mit berücksichtigt. Diese Berücksichtigung kann sich dabei auf die Hardware-Komponente (n) selbst sowie auch auf die entsprechenden Hardware-Verbindungen erstrecken, die von der jeweiligen Software-Komponente (z.B. durch Abgabe eines Ausgangssignals) beeinflusst werden. Hierdurch ist es erstmals möglich, Aussagen über die Sicherheit und Zuverlässigkeit eines softwarebasierten elektronischen Systems zu treffen, wobei diese Aussagen das aus Hardware- und Software-Komponenten einschließlich der jeweiligen Verbindungen bestehende System betreffen und sich nicht nur auf die Hardware- Komponenten beschränken.Software components are distributed, taken into account. This consideration can extend to the hardware component (s) themselves and also to the corresponding hardware connections that are influenced by the respective software component (e.g. by outputting an output signal). This makes it possible for the first time to make statements about the security and reliability of a software-based electronic system, these statements relating to the system consisting of hardware and software components, including the respective connections, and not limited to the hardware components.
Sicherheit und Zuverlässigkeit des Hardware- undSecurity and reliability of the hardware and
Software-Komponenten umfassenden Systems werden unter Verweridung einer Zuverlässigkeitsfunktion überprüft, die bspw. anhand des eingangs erläuterten Zuverlässigkeitsblockdiagramms für das System bestimmt werden kann. Wie nachstehend erläutert wird, werden erfindungsgemäß die Software-Komponenten des Systems bei der Bestimmung der Zuverlässigkeitsfunktion mit berücksichtigt. Dies kommt einer neuen Systemdefinition gleich, da bisher für Zuverlässigkeitsanalysen nur ein aus Hardware-Komponenten bestehendes System betrachtet wurde und die Software-Komponenten - wenn überhaupt - einer eigenen gesonderten Analyse unterzogen wurden.
Mit der Erfindung ist die frühzeitige Bewertung unterschiedlicher Überwachungskonzepte elektronischer Steuergeräte im Besonderen und von Funktionen elektronischer Systeme im Allgemeinen, die durch Software und Hardware realisiert werden, hinsichtlich der erreichbaren Systemsicherheit und der Systemzuverlässigkeit möglich. Die Ergebnisse beeinflussen insbesondere die Verteilung von Software- Funktionen auf die MikroController vernetzter Steuergeräte und damit die Entwicklung von Software für verteilte und vernetzte Steuergeräte.Systems comprising software components are checked using a reliability function, which can be determined for the system, for example, using the reliability block diagram explained at the beginning. As will be explained below, the software components of the system are also taken into account when determining the reliability function. This is equivalent to a new system definition, since previously only a system consisting of hardware components was considered for reliability analyzes and the software components were subjected to their own separate analysis, if at all. With the invention, the early evaluation of different monitoring concepts of electronic control units in particular and of functions of electronic systems in general, which are implemented by software and hardware, is possible with regard to the achievable system security and system reliability. The results particularly influence the distribution of software functions on the microcontrollers of networked control units and thus the development of software for distributed and networked control units.
Um Aussagen über das System im Gesamten treffen zu können, ist es sinnvoll, alle Funktionen des Systems, also alle geforderten Systemfunktionen als auch alle Sicherheitsfunktionen des Systems mittels Bestimmung entsprechender Zuverlässigkeitsfunktionen zu überprüfen.In order to be able to make statements about the system as a whole, it makes sense to check all functions of the system, that is to say all the system functions required, and also all the safety functions of the system by determining appropriate reliability functions.
Zuverlässigkeitsfunktionen nehmen in der Regel einen bestimmten Wertebereich, bspw. von 0 bis 1, ein, wobei im Folgenden ohne Beschränkung der Allgemeingültigkeit davon ausgegangen werden soll, dass ein hoher Wert (1) für eine hohe, ein niedriger Wert (0) für eine niedrige Zuverlässigkeit stehen soll. Die erfindungsgemäßenReliability functions generally take up a certain range of values, for example from 0 to 1, it being assumed in the following without restricting the general applicability that a high value (1) for a high value, a low value (0) for a low value Reliability should stand. The invention
Zuverlässigkeitsfunktionen beziehen sich zum einen auf die Zuverlässigkeit der geforderten Systemfunktionen, zum anderen auf die Zuverlässigkeit der Sicherheitsfunktionen des Systems. Nach der Bestimmung der entsprechenden Zuverlässigkeitsfunktionen ist es vorteilhaft, die konkreten Werte dieser Zuverlässigkeitsfunktionen für die gewählte Systemarchitektur (oder Systemkonfiguration) zu berechnen, um konkrete Aussagen über die
Zuverlässigkeit der Systemfunktionen bzw. der Sicherheitsfunktionen zu erhalten.Reliability functions relate on the one hand to the reliability of the required system functions, and on the other hand to the reliability of the safety functions of the system. After determining the corresponding reliability functions, it is advantageous to calculate the concrete values of these reliability functions for the selected system architecture (or system configuration) in order to make concrete statements about the Maintain reliability of the system functions and the safety functions.
In der Regel sind neben der gewählten Systemarchitektur auch andere Konfigurationen realisierbar, die zu denselben geforderten Systemfunktionen führen. Gleiches gilt für die geforderten Sicherheitsfunktionen. Es ist daher für die Wahl einer geeigneten Systemarchitektur von Vorteil, wenn die erfindungsgemäß bestimmten Zuverlässigkeitsfunktionen für verschiedene Systemarchitekturen bestimmt werden. Die Systemarchitektur kann dabei wie folgt verändert werden: durch Festlegung der für die Realisierung der geforderten Systemfunktionen sowie Sicherheitsfunktionen notwendigen Hardware-Komponenten (Art der Hardware-Komponenten, Anordnung und Redundanzen dieser Komponenten) ; Festlegung der für die Realisierung der geforderten Systemfunktionen sowie Sicherheitsfunktionen notwendigen Softwarekomponenten und schließlich die Zuordnung der Softwarekomponenten zu bestimmten Hardwarekomponenten. Durch Variation einer oder mehrerer dieser Festlegungen bzw. Zuordnungen lässt sich die Systemarchitektur verändern.As a rule, in addition to the selected system architecture, other configurations can be implemented that lead to the same required system functions. The same applies to the required safety functions. It is therefore advantageous for the selection of a suitable system architecture if the reliability functions determined according to the invention are determined for different system architectures. The system architecture can be changed as follows: by specifying the hardware components necessary for the implementation of the required system functions and security functions (type of hardware components, arrangement and redundancies of these components); Definition of the software components necessary for the implementation of the required system functions and security functions and finally the assignment of the software components to specific hardware components. The system architecture can be changed by varying one or more of these specifications or assignments.
Hierbei ist es sinnvoll, für die sich ergebendenHere it makes sense for the resulting ones
Systemarchitekturen die Zuverlässigkeiten (Werte der Zuverlässigkeitsfunktionen) zu berechnen und Konfigurationen mit hoher Zuverlässigkeit den Vorzug zu geben. Die berechneten Zuverlässigkeiten können sich hierbei entweder auf die geforderten Systemfunktionen oder auf die Sicherheitsfunktionen des Systems beziehen. Es ist jedoch von Vorteil beide Zuverlässigkeiten zu maximieren, um eine Systemarchitektur zu finden, die sowohl hinsichtlich
Zuverlässigkeit als auch hinsichtlich Sicherheit hohe Werte erzielt.System architectures to calculate the reliabilities (values of the reliability functions) and to give preference to configurations with high reliability. The calculated reliabilities can refer either to the required system functions or to the safety functions of the system. However, it is advantageous to maximize both reliabilities in order to find a system architecture that is both regarding Reliability and security achieved high values.
Zur Erhöhung der Systemsicherheit ist es sinnvoll, die geforderten Systemfunktionen durchTo increase system security, it makes sense to perform the required system functions
Überwachungsfunktionen zu kontrollieren. Hierdurch können rechtzeitig Maßnahmen ergriffen werden, falls eine bestimmte Systemfunktion vom System nicht mehr geliefert werden kann. Diese Maßnahmen reichen vom Abgeben einer entsprechenden Information bis hin zum Abschalten des gesamten Systems, um etwaige Risiken zu minimieren.Control functions. In this way, measures can be taken in good time if a certain system function can no longer be delivered by the system. These measures range from providing the appropriate information to switching off the entire system in order to minimize any risks.
Die Sicherheit lässt sich weiter dadurch erhöhen, dass die Überwachungsfunktionen zur Überwachung der Systemfunktionen ihrerseits durch Systemüberwachungsfunktionen überwacht werden.Security can be further increased in that the monitoring functions for monitoring the system functions are in turn monitored by system monitoring functions.
Weiterhin ist es von Vorteil, wenn die Systemüberwachungsfunktionen wenigstens zum Teil den Systemabschnitt überwachen, der die Überwachungsfunktionen zur Überwachung der Systemfunktionen enthält. Hierdurch lassen sich nicht nur die Überwachungsfunktionen, sondern der gesamte Systemabschnitt (bspw. Mikrocontroller) kontrollieren und ein Ausfall dieses Systemabschnitts detektieren.Furthermore, it is advantageous if the system monitoring functions at least partially monitor the system section that contains the monitoring functions for monitoring the system functions. As a result, not only the monitoring functions but also the entire system section (for example a microcontroller) can be checked and a failure of this system section can be detected.
Weiterhin ist von Vorteil, wenn dieIt is also advantageous if the
Systemüberwachungsfunktionen auf zwei Systemabschnitte verteilt werden, von denen ein Systemabschnitt die besagten Überwachungsfunktionen sowie die geforderten Systemfunktionen, die von diesen Überwachungsfunktionen kontrolliert werden, enthält. Eine solche Konfiguration ermöglicht nämlich die Überwachung der beiden
Systemabschnitte in jedwede Richtung, insbesondere eine gegenseitige Überwachung dieser Systemabschnitte.System monitoring functions are divided into two system sections, one system section of which contains the said monitoring functions and the required system functions which are controlled by these monitoring functions. Such a configuration enables the two to be monitored System sections in any direction, especially mutual monitoring of these system sections.
Das erfindungsgemäße Verfahren lässt sich, wie im Folgenden näher erläutert wird, mit Vorteil dazu verwenden, in einem verteilten und vernetzten System (Steuergerät) Software-Komponenten zu Hardware- Komponenten (wie Mikrocontroller) optimal zuzuordnen. Weiterhin eignet sich das erfindungsgemäße Verfahren mit Vorteil zur Festlegung der Systemarchitektur eines softwarebasierten elektronischen Systems, insbesondere eines Steuergeräts, wie ein Motorsteuergerät.As will be explained in more detail below, the method according to the invention can advantageously be used to optimally assign software components to hardware components (such as microcontrollers) in a distributed and networked system (control device). Furthermore, the method according to the invention is advantageously suitable for determining the system architecture of a software-based electronic system, in particular a control device, such as an engine control device.
Das erfindungsgemäße Verfahren lässt sich in der Praxis für die zumeist vorkommenden komplexen elektronischen Systeme zweckmäßig mittels eines Computerprogramms implementieren. Dieses Computerprogramm bestimmt die zugehörigen Zuverlässigkeitsfunktionen bei einer gegebenen Systemarchitektur und berechnet hieraus die entsprechenden Werte für die Zuverlässigkeit und Sicherheit des Systems. Bei Implementierung über ein Computerprogramm lässt sich insbesondere die Systemarchitektur effizient optimieren, wobei bekannte Optimierungsverfahren (wie Monte-Carlo- Verfahren) zum Einsatz kommen können. Bei Verwendung eines Zuverlässigkeitsblockdiagramms zur Bestimmung derIn practice, the method according to the invention can expediently be implemented for the mostly occurring complex electronic systems by means of a computer program. This computer program determines the associated reliability functions in a given system architecture and uses this to calculate the corresponding values for the reliability and security of the system. When implemented via a computer program, the system architecture in particular can be efficiently optimized, whereby known optimization methods (such as Monte Carlo methods) can be used. When using a reliability block diagram to determine the
Zuverlässigkeitsfunktion kann das Computerprogramm unter Verwendung der eingangs dargestellten Grundregeln (vergleiche Tabelle oben) schnell die entsprechende Zuverlässigkeitsfunktion ermitteln.Reliability function, the computer program can quickly determine the corresponding reliability function using the basic rules described at the beginning (see table above).
Das Computerprogramm kann auf geeigneten Datenträgern, wie EEPROMs, Flash-Memories, aber auch DVDs, CD-ROMs, Disketten oder Festplattenlaufwerken gespeichert sein. Auch das Herunterladen des Computerprogramms über interne oder
öffentlich nutzbare Netze (Intranet bzw. Internet) ist möglich.The computer program can be stored on suitable data carriers, such as EEPROMs, flash memories, but also DVDs, CD-ROMs, floppy disks or hard disk drives. Also downloading the computer program via internal or publicly usable networks (intranet or internet) is possible.
Figurenbeschreibungfigure description
Figur 1 zeigt eine schematische Darstellung eines Brake- By-Wire-Syste s als Beispiel eines elektronischen Systems;FIG. 1 shows a schematic illustration of a brake-by-wire system as an example of an electronic system;
Figur 2 zeigt das zum in Figur 1 dargestellten System zugehörige Zuverlässigkeitsblockdiagramm für die Funktion „Bremsen";FIG. 2 shows the reliability block diagram associated with the system shown in FIG. 1 for the “braking” function;
Figur 3 zeigt das Beispiel einer Abfolge von Schritten bei der Zuverlässigkeits- und Sicherheitsanalyse und der Spezifikation zuverlässiger und sicherer Systeme;FIG. 3 shows the example of a sequence of steps in the reliability and security analysis and the specification of reliable and safe systems;
Figur 4 zeigt schematisch Komponenten eines Steuergeräts als Beispiel eines verteilten und vernetzten Systems, das erfindungsgemäß hinsichtlich Sicherheit und Zuverlässigkeit überwacht wird;FIG. 4 schematically shows components of a control unit as an example of a distributed and networked system which is monitored according to the invention with regard to security and reliability;
Figur 5 zeigt verschiedene Zuverlässigkeitsblockdiagramme für Funktionen des in Figur 4 dargestellten Systems .FIG. 5 shows various reliability block diagrams for functions of the system shown in FIG. 4.
Beschreibung der bevorzugten AusführungsformenDescription of the preferred embodiments
Die Figuren 1 und 2 wurden in der Beschreibungseinleitung bereits ausführlich behandelt.Figures 1 and 2 have already been dealt with in detail in the introduction to the description.
Zunächst sollen anhand der Darstellung in Figur 3 die Schritte einer Zuverlässigkeits- und Sicherheitsanalyse
dargelegt werden. Es handelt sich dabei und iterative und zusammenhängende Prozesse mit mehreren Schritten. Sie haben Einfluss auf Anforderungen an die Hardware, Software und den Software-Entwicklungsprozess für elektronische Systeme. Auch für die Sicherheitsanalyse eines Systems werden hier Methoden zur Ausfallartenanalyse, wie FMEA oder FTA, eingesetzt. Die Ausfallartenanalyse liefert eine Bewertung des Risikos für alle Funktionen des Systems. Das zulässige Grenzrisiko wird in der Regel durch sicherheitstechnische Festlegungen, wie Gesetze, Normen oder Verordnungen, implizit vorgegeben. Aus dem ermittelten Risiko für die Funktionen des Systems und dem zulässigen Grenzrisiko werden dann - beispielsweise anhand von Normen wie der IEC 61508 - sicherheitstechnische Anforderungen an das System abgeleitet, die oft großen Einfluss auf den System-, den Hardware- und Software-Entwurf in der Elektronikentwicklung haben.First, the steps of a reliability and security analysis are to be based on the illustration in FIG be presented. These are iterative and coherent processes with several steps. They have an impact on hardware, software and software development process requirements for electronic systems. Methods for failure type analysis, such as FMEA or FTA, are also used here for the security analysis of a system. The failure mode analysis provides an assessment of the risk for all functions of the system. The permissible limit risk is usually implicitly specified by safety-related stipulations such as laws, standards or ordinances. The determined risk for the functions of the system and the permissible limit risk are then used to derive safety requirements for the system, for example based on standards such as IEC 61508, which often have a major influence on the system, hardware and software design in the Have electronics development.
Für die durch die Ausfallartenanalyse bestimmten und abgegrenzten, so genannten sicherheitsrelevanten Funktionen des Systems müssen besondere Schutzmaßnahmen getroffen werden, die beispielsweise in Hardware und Software realisiert werden können.For the so-called safety-relevant functions of the system that are determined and delimited by the failure mode analysis, special protective measures must be taken, which can be implemented in hardware and software, for example.
Im einzelnen zeigt Figur 3 zwei Hauptblöcke 9 und 10, wobei der erste Hauptblock 9 die Zuverlässigkeits- und Sicherheitsanalyse, der zweite Hauptblock 10 die Spezifikation zuverlässiger und sicherer Systeme betrifft. In die Zuverlässigkeits- und Sicherheitsanalyse (Hauptblock 9) geht zum einen die logische Systemarchitektur 11 als auch zum anderen die technische Systemarchitektur 12 ein. Die technische Systemarchitektur 12 ist ihrerseits ein Ergebnis der Systemspezifikation, wobei eine geänderte
Systemspezifikation (Systemarchitektur) eine erneute Zuverlässigkeits- und Sicherheitsanalyse bedingt.In particular, FIG. 3 shows two main blocks 9 and 10, the first main block 9 relating to reliability and security analysis, the second main block 10 relating to the specification of reliable and safe systems. The reliability and security analysis (main block 9) includes the logical system architecture 11 as well as the technical system architecture 12. The technical system architecture 12 is in turn a result of the system specification, one being changed System specification (system architecture) requires a new reliability and security analysis.
Am Anfang der Zuverlässigkeits- und Sicherheitsanalyse steht zum einen die Gefahrenanalyse 13, zum anderen die Identifikation relevanter Komponenten und Subsysteme (mit 14 bezeichneter Block) . Aus der Gefahrenanalyse 13 ergeben sich die konkreten gefährlichen Situationen 15 und damit verbunden die Risiko-Ausfallarten- und Ausfallratenanalyse 17, wie sie eingangs in der Beschreibungseinleitung ausführlich geschildert wurde. Ergebnis dieser Analyse 17 sind die Zuverlässigkeits- und Sicherheitsanforderungen 18 an das System. Auf der anderen Seite ergibt sich als Ergebnis der Identifikation 14 relevanter Komponenten und Subsysteme die zuverlässigkeits- und sicherheitsrelevanten Komponenten und Subsysteme 16 des Systems.At the beginning of the reliability and security analysis is on the one hand the hazard analysis 13, on the other hand the identification of relevant components and subsystems (block labeled 14). The hazard analysis 13 results in the specific dangerous situations 15 and, in connection therewith, the risk failure types and failure rate analysis 17, as described in detail at the beginning of the description. The result of this analysis 17 is the reliability and security requirements 18 for the system. On the other hand, the result of the identification 14 of relevant components and subsystems is the reliability and security-relevant components and subsystems 16 of the system.
Aus den beiden Ergebnissen der Zuverlässigkeits- und Sicherheitsanalyse, nämlich die zuverlässigkeits- und sicherheitsrelevanten Komponenten und Subsysteme 16 sowie die Zuverlässigkeits- und Sicherheitsanforderungen 18 an das System, wird eine notwendige und mögliche Systemspezifikation (Hauptblock 10) abgeleitet. Die relevanten Komponenten und Subsysteme beeinflussen die Definition 19 des Verifikations- und Validationsprozesses sowie die Definition 20 der Anforderungen an technische Komponenten und Subsysteme. Die Zuverlässigkeits- und Sicherheitsanforderungen 18 an das System beeinflussen die Definition des Softwareentwicklungsprozesses (Block 21) .A necessary and possible system specification (main block 10) is derived from the two results of the reliability and security analysis, namely the reliability and security-relevant components and subsystems 16 and the reliability and security requirements 18 for the system. The relevant components and subsystems influence definition 19 of the verification and validation process and definition 20 of the requirements for technical components and subsystems. The reliability and security requirements 18 on the system influence the definition of the software development process (block 21).
Konkrete Ergebnisse sind hier der Verifikations- und Validationsprozess 22, die Zuverlässigkeits- und Sicherheitsanforderungen 23 an die Hardware, die Zuverlässigkeits- und Sicherheitsanforderungen 24 an die
Software sowie der eigentliche Software-Entwicklungsprozess 25.Concrete results are the verification and validation process 22, the reliability and security requirements 23 for the hardware, the reliability and security requirements 24 for the Software and the actual software development process 25.
Diese vier Ergebnisse führen zum Gesamtergebnis der technischen Systemarchitektur 12. Diese technische Systemarchitektur kann unter Umständen korrigiert werden und die genannten Schritte daraufhin wiederholt werden, um zu überprüfen, ob die geänderte Systemarchitektur zu einem System höherer Zuverlässigkeit und Sicherheit führt.These four results lead to the overall result of the technical system architecture 12. This technical system architecture can possibly be corrected and the steps mentioned can then be repeated in order to check whether the changed system architecture leads to a system of higher reliability and security.
Der Nachweis der Sicherheit und Zuverlässigkeit dieser Überwachungskonzepte ist Voraussetzung für die Zulassung von Fahrzeugen zum Straßenverkehr. Im folgenden wird am Beispiel des Überwachungskonzeptes für ein E-Gas-System das Verfahren zur Beurteilung der Zuverlässigkeit undProof of the safety and reliability of these monitoring concepts is a prerequisite for the approval of vehicles for road traffic. The following is an example of the monitoring concept for an E-gas system, the procedure for assessing the reliability and
Sicherheit des Überwachungskonzeptes unter Einsatz von Zuverlässigkeitsblockdiagrammen dargestellt .Security of the surveillance concept is shown using reliability block diagrams.
Als mögliche Gefahr für ein E-Gas-System wird ungewolltes Gasgeben und ein daraus folgender Unfall angenommen. Für das Motorsteuergerät bedeutet dies, dass alle diejenigen Steuerungs- und Regelungsfunktionen fn sicherheitsrelevant sind, die zu einer unbeabsichtigten Erhöhung des Motordrehmoments führen können. Für diese Funktionen ist deshalb ein Überwachungskonzept notwendig.Unintentionally accelerating and a resulting accident is assumed to be a possible danger for an e-gas system. For the engine control unit, this means that all those control and regulating functions f n are safety-relevant that can lead to an unintentional increase in the engine torque. A monitoring concept is therefore necessary for these functions.
In diesem Beispiel soll das etwas vereinfachte Überwachungskonzept, wie es seit Jahren in Motorsteuergeräten eingesetzt wird, bezüglich der Sicherheit und Zuverlässigkeit anhand des erfindungsgemäßen Verfahrens untersucht werden. Im Rahmen des Arbeitskreises „E-Gas" des Verbandes der Automobilindustrie (VDA) wird dieses von der Robert Bosch GmbH entwickelte Basiskonzept derzeit zu einem standardisierten Überwachungskonzept für
Motorsteuerungen von Otto- und Dieselmotoren weiterentwickelt .In this example, the somewhat simplified monitoring concept, as has been used in engine control units for years, is to be examined with regard to safety and reliability using the method according to the invention. As part of the "E-Gas" working group of the Association of the Automotive Industry (VDA), this basic concept developed by Robert Bosch GmbH is currently becoming a standardized monitoring concept for Engine controls of petrol and diesel engines further developed.
In Figur 4 ist das Uberwachungskonzept für sicherheitsrelevante Steuerungs- und Regelungsfunktionen fn dargestellt.FIG. 4 shows the monitoring concept for safety-related control functions f n .
In Figur 4 ist als softwarebasiertes elektronisches System ein Steuergerat 30 dargestellt. Ein erster Mikrocontroller 31 dient als Funktionsrechner, wahrend ein zweiterFIG. 4 shows a control device 30 as a software-based electronic system. A first microcontroller 31 serves as a functional computer, while a second one
Mikrocontroller 32 als Uberwachungsrechner eingesetzt wird. Signale gelangen in die Eingangsstufe 33 des Steuergeräts 30 und werden von dort dem A/D-Wandler 34 im Mikrocontroller 31 zugeführt. Das digitalisierte Signal lost die eigentlichen Steuerungs- und Regelungsfunktionen fn (Block 41) aus. Parallel werden die Signale dem Block 42 zugeführt, der die Funktionen zur Überwachung der Steuerungs- und Regelungsfunktionen fon enthalt. Zur Überwachung der Steuerungs- und Regelungsfunktionen ist der Block 41 mit dem Block 42 verbunden. Die genanntenMicrocontroller 32 is used as a monitoring computer. Signals reach the input stage 33 of the control unit 30 and are fed from there to the A / D converter 34 in the microcontroller 31. The digitized signal triggers the actual control and regulation functions f n (block 41). In parallel, the signals are fed to block 42, which contains the functions for monitoring the control and regulation functions fo n . Block 41 is connected to block 42 to monitor the control functions. The above
Uberwachungsfunktionen f0n werden ihrerseits von Funktionen zur Überwachung der Mikrocontroller, d. h. den so genannten Systemuberwachungsfunktionen, überprüft. Hierzu ist der Block 42 mit dem Block 43 verbunden. Die Blocke 41, 42 und 43 sind Bestandteil der Software 45 des Mikrocontrollers 31. Die Blocke 42 und 43 haben reine Uberwachungsfunktionen .Monitoring functions f 0n are in turn checked by functions for monitoring the microcontrollers, ie the so-called system monitoring functions. For this purpose, block 42 is connected to block 43. The blocks 41, 42 and 43 are part of the software 45 of the microcontroller 31. The blocks 42 and 43 have pure monitoring functions.
Weiterhin in Figur 4 dargestellt ist der als Uberwachungsrechner dienende Mikrocontroller 32, zu dessen Software 46 die Funktionen zur Überwachung der Mikrocontroller (Block 44) gehören. Hieraus ist ersichtlich, dass diese Funktionen zur Überwachung der Mikrocontroller (Systemuberwachungsfunktionen) auf die
beiden Mikrocontroller 31 und 32 verteilt sind. Hierauf wird später eingegangen. Die Blöcke 42, 43 und 44 repräsentieren die Überwachungsfunktionen 29.Also shown in FIG. 4 is the microcontroller 32 serving as the monitoring computer, the software 46 of which includes the functions for monitoring the microcontrollers (block 44). From this it can be seen that these functions for monitoring the microcontrollers (system monitoring functions) on the two microcontrollers 31 and 32 are distributed. This will be discussed later. Blocks 42, 43 and 44 represent monitoring functions 29.
Die vom Steuergerät ausgeführten Steuerungs- undThe control and executed by the control unit
Regelungsfunktionen fn (Block 41) werden in Form eines Ausgangssignales an einen D/A-Wandler 35 gelegt, dessen Ausgang an der Endstufe 40 liegt. Die Ausgänge 36, 37 und 38 der die Überwachung wahrnehmenden Blöcke 42, 43 bzw. 44 werden einem Addierglied 39 zugeführt, so dass das Erkennen eines Fehlers durch einen der drei Blöcke 42, 43 oder 44 zu einem entsprechenden Ausgangssignal des Addiergliedes 39 führt. Letzteres ist mit der Endstufe 40 verbunden, wodurch je nach Art des Fehlers auf die Endstufe definiert Einfluss genommen werden kann.Control functions f n (block 41) are applied in the form of an output signal to a D / A converter 35, the output of which is at the output stage 40. The outputs 36, 37 and 38 of the monitoring blocks 42, 43 and 44 are fed to an adder 39, so that the detection of an error by one of the three blocks 42, 43 or 44 leads to a corresponding output signal of the adder 39. The latter is connected to the output stage 40, so that depending on the type of error, the output stage can be influenced in a defined manner.
Im Folgenden soll auf die Funktion des in Figur 4 dargestellten Überwachungskonzepts näher eingegangen werden.The function of the monitoring concept shown in FIG. 4 will be discussed in more detail below.
Die sicherheitsrelevanten Steuerungs- und Regelungsfunktionen fn werden durch die Überwachungsfunktionen fUn ständig überwacht. Die Überwachungsfunktionen f0n verwenden die gleichen Eingangsgrößen wie die Steuerungs- und Regelungsfunktionen fn, arbeiten aber mit unterschiedlichen Daten und mit unterschiedlichen Algorithmen.The safety-related control functions f n are continuously monitored by the monitoring functions f Un . The monitoring functions f 0n use the same input variables as the control and regulation functions f n , but work with different data and with different algorithms.
Die Funktionen zur Überwachung der Mikrocontroller (=Systemüberwachungsfunktionen) prüfen neben RAM-, ROM- und Mikroprozessorfunktionen beispielsweise auch, ob die Steuerungs- und Regelungsfunktionen fn und die Überwachungsfunktionen fUn überhaupt ausgeführt werden. Dies macht in diesem Beispiel den Einsatz eines zweiten
Mikrocontrollers 32 im Motorsteuergerät 30, eines so genannten Überwachungsrechners, notwendig. Die Funktionen zur Überwachung der Mikrocontroller 31, 32 werden auf den Funktionsrechner und den Überwachungsrechner verteilt. Beide überwachen sich bevorzugt in einem Frage-Antwort- Spiel gegenseitig.In addition to RAM, ROM and microprocessor functions, the functions for monitoring the microcontrollers (= system monitoring functions) also check, for example, whether the control and regulation functions f n and the monitoring functions f Un are carried out at all. This makes the use of a second one in this example Microcontroller 32 in the engine control unit 30, a so-called monitoring computer, is necessary. The functions for monitoring the microcontrollers 31, 32 are distributed to the function computer and the monitoring computer. Both prefer to monitor each other in a question-answer game.
Als sicherer Zustand ist in diesem Ausführungsbeispiel die Stromabschaltung für die elektromechanische Drosselklappe festgelegt. Die Drosselklappe ist so konstruiert, dass sie nach einer Stromabschaltung selbsttätig die Leerlaufposition einnimmt. Der Übergang in den sicheren Zustand kann deshalb dadurch eingeleitet werden, dass eine Abschaltung der Endstufen 40 des Steuergeräts, die die Drosselklappe ansteuern, erfolgt. Der Motor kann so im Notlauf weiterbetrieben werden.In this exemplary embodiment, the current cutoff for the electromechanical throttle valve is defined as a safe state. The throttle valve is designed so that it automatically assumes the idle position after a power cut. The transition to the safe state can therefore be initiated by switching off the output stages 40 of the control unit, which control the throttle valve. The engine can thus continue to be operated in emergency operation.
Sowohl die Überwachungsfunktionen fün als auch die Funktionen zur Überwachung der Mikrocontroller auf dem Funktions- und auf dem Überwachungsrechner können also die Drosselklappenendstufen des Steuergeräts 30 abschalten. Im Falle eines erkannten Fehlers wird neben dieser Sicherheitsreaktion auch ein Eintrag im Fehlerspeicher vorgenommen. Außerdem wird meist auch eine Information an den Fahrer etwa über eine Anzeige im Kombiinstrument ausgegeben.Both the monitoring functions f u n and the functions for monitoring the microcontroller on the function and on the monitoring computer can switch off so the throttle output stages of the controller 30th If a fault is detected, an entry is made in the fault memory in addition to this safety response. In addition, information is usually also given to the driver, for example via a display in the instrument cluster.
Soll die Zuverlässigkeit dieses Überwachungskonzepts beurteilt werden, so sind zunächst drei Arten von Funktionen zu unterscheiden:If the reliability of this monitoring concept is to be assessed, three types of functions must first be distinguished:
• die Steuerungs- und Regelungsfunktionen fn • the control functions f n
• die Überwachungsfunktionen fr)n
• die Funktionen zur Überwachung der Mikrocontroller (=Systemüberwachungsfunktionen) Die Zuverlässigkeitsblockdiagramme 45, 46, 47 für diese verschiedenen Funktionen lassen sich dann recht einfach bestimmen und sind in Figur 5 dargestellt.• the monitoring functions fr) n • The functions for monitoring the microcontrollers (= system monitoring functions). The reliability block diagrams 45, 46, 47 for these different functions can then be determined quite easily and are shown in FIG. 5.
Um die Systemzuverlässigkeit zu bestimmen, wird man alle drei Arten von Funktionen gleichzeitig fordern. Dann ergibt sich die Systemzuverlässigkeit durch eine Reihenschaltung dieser Blockdiagramme. Zusätzlich müssen auch dieTo determine system reliability, all three types of functions will be required at the same time. Then the system reliability results from a series connection of these block diagrams. In addition, the
Komponenten K7 und K8 (Verbindung der Blöcke 43 und 44 in Fig. 4), die in den Blockdiagrammen der einzelnen Funktionen nicht vorkommen, in Reihe geschaltet werden.Components K 7 and K 8 (connection of blocks 43 and 44 in FIG. 4) which do not appear in the block diagrams of the individual functions are connected in series.
Die Systemzuverlässigkeit Rs Zuverlässigeit ergibt sich durch Multiplikation der Zuverlässigkeit der drei Funktionen Rx ; x = A, B, c mit der Zuverlässigkeit der Komponenten K7 RD und K8 RE und ist wegen Rx < 1 in jedem Fall geringer als die jeweilige Zuverlässigkeit der Funktionen Rx. Bei der Berechnung der Systemzuverlässigkeit müssen die Regeln für das Rechnen mit mehrfach auftretenden Elementen im Zuverlässigkeitsblockdiagrammen beachtet werden (vgl. Alessandro Birolini: Zuverlässigkeit von Geräten und Systemen, Anmerkungen oben) . s Zuverlässigkeit _ A Rß RC RD REThe system reliability R s reliability is obtained by multiplying the reliability of the three functions R x; x = A , B , c with the reliability of the components K 7 R D and K 8 R E and is in any case lower than the respective reliability of the functions R x because of R x <1. When calculating the system reliability, the rules for computing with multiple elements in the reliability block diagrams must be observed (see Alessandro Birolini: Reliability of devices and systems, comments above). s Reliability _ A Rß RC RD RE
Dagegen ist für die Sicherheit lediglich das zuverlässige Erkennen eines Ausfalls und der zuverlässige Übergang in den sicheren Zustand notwendig. Die Zuverlässigkeit Rs Sicherheit dieser Sicherheitsreaktion wird durch die Zuverlässigkeit der Überwachungsfunktionen fün oder der Funktionen zur Überwachung der Mikrocontroller vorgegeben und ist deshalb höher als die Zuverlässigkeit der
Funktionen Rx. Zudem geht die Zuverlässigkeit der ■ Komponenten K R und Ks RE n die Berechnung von Rs Sicherheit nicht ein. Die Zuverlässigkeitsfunktion für die Zuverlässigkeit der Sicherheitsfunktion (-reaktion) ist wie folgt:In contrast, only the reliable detection of a failure and the reliable transition to the safe state are necessary for security. The reliability R s, it standardize these safety reaction is the reliability of the monitoring functions f ün or functions specified for monitoring the microcontroller and is therefore higher than the reliability of the Functions R x . In addition, the reliability of the ■ components KR and Ks RE n is not included in the calculation of R s safety. The reliability function for the reliability of the safety function (reaction) is as follows:
Rs Sicherheit = 1 _ (1 - Rß ) (1 _ Rr) Wie dieses Beispiel zeigt, können Maßnahmen zur Erhöhung der Sicherheit die Zuverlässigkeit des Systems verringern. Außerdem ist ersichtlich, dass Maßnahmen zur Erhöhung der Zuverlässigkeit zu einer Reduzierung der Sicherheit eines Systems führen können.Rs security = 1 _ (1 - Rß) (1 _ Rr) As this example shows, measures to increase security can reduce the reliability of the system. It can also be seen that measures to increase reliability can reduce the security of a system.
Obwohl beim erfindungsgemäßen Verfahren im Grunde nur Hardware-Komponenten und -Verbindungen betrachtet werden, haben die Zuverlässigkeits- und Sicherheitsanalysen großen Einfluss auf die Software-Entwicklung. Wie am Beispiel der Bewertung des Überwachungskonzeptes gezeigt, beeinflussen sie etwa die Zuordnung der Software-Funktionen zu den Mikrocontrollern in einem verteilten und vernetzten System oder die notwendigen Qualitätssicherungsmaßnahmen in der Software-Entwicklung. Dies ist gegenüber dem Stand der Technik ein enormer Fortschritt und führt zu großen Vorteilen bei der Systementwicklung.Although basically only hardware components and connections are considered in the method according to the invention, the reliability and security analyzes have a major influence on software development. As shown in the example of the evaluation of the monitoring concept, they influence, for example, the assignment of the software functions to the microcontrollers in a distributed and networked system or the necessary quality assurance measures in software development. This is an enormous advance over the state of the art and leads to great advantages in system development.
Das erfindungsgemäße Verfahren ermöglicht die folgende Vorgehensweise zur Überprüfung der Sicherheit und Zuverlässigkeit softwarebasierter elektronischer Systeme (vgl. Figuren 4 und 5) :
Schritt 1: Festlegung des Hardware-Netzwerks des elektronischen Systems, d. h. insbesondere Spezifikation der Mikrocontroller 31, 32 und ihrer Vernetzung; Schritt 2: Festlegung der Software-Komponenten 41 - 44, die für die Realisierung der Funktionen des elektronischen Systems erforderlich sind und Spezifikation der Kommunikation zwischen den Software-Komponenten 41 - 44; Schritt 3: Zuordnung der Software-Komponenten 41 - 44 zu den MikroControllern 31, 32 des Hardware-Netzwerks; Schritt 4: Aufstellen derThe method according to the invention enables the following procedure for checking the security and reliability of software-based electronic systems (cf. FIGS. 4 and 5): Step 1: definition of the hardware network of the electronic system, ie in particular specification of the microcontrollers 31, 32 and their networking; Step 2: Definition of the software components 41-44, which are necessary for the implementation of the functions of the electronic system, and specification of the communication between the software components 41-44; Step 3: Assignment of the software components 41-44 to the microcontrollers 31, 32 of the hardware network; Step 4: setting up the
Zuverlässigkeitsblockdiagramme 45 - 47 für die geforderten Funktionen des elektronischen Systems 30 ausgehend von den Hardware-Komponenten und Hardware-Verbindungen Ki,Reliability block diagrams 45-47 for the required functions of the electronic system 30 based on the hardware components and hardware connections Ki,
Schritt 5: Nachweis der Sicherheit und Zuverlässigkeit durch Berechnung der Zuverlässigkeit für die Sicherheitsfunktionen und der Zuverlässigkeit für die gesamten geforderten Funktionen des elektronischen Systems (30); Schritt 6: ggf- Wiederholung der Schritte 1 bis 5 und Korrektur der Systemarchitektur, d. h. des Software- und Hardware-Netzwerks, sowie der Zuordnung der Software-Komponenten zu Hardware-Komponenten.
Step 5: Proof of security and reliability by calculating the reliability for the security functions and the reliability for the entire required functions of the electronic system (30); Step 6: Repeat steps 1 to 5 and correct the system architecture, if necessary. H. of the software and hardware network, as well as the assignment of the software components to hardware components.