-
Stand der Technik
-
Die Erfindung betrifft ein Verfahren zum Verarbeiten eines Systemmodells eines technischen Systems. Die Erfindung betrifft ferner eine Vorrichtung zum Verarbeiten eines Systemmodells eines technischen Systems.
-
Vom Markt bekannt sind Hilfsprogramme („tools“) zur Ausführung einer Fehlerbaumanalyse (FTA, „fault tree analysis“) und einer Fehlermöglichkeits- und einflussanalyse (FMEA, Failure Mode and Effects Analysis), mit denen eine Sicherheitsanalyse von technischen Systemen gemacht werden kann. Zudem sind entsprechende Hilfsprogramme auch für die Analyse von Zeitabläufen („Timing“) in technischen Systemen bekannt. Derartige Analysen sind - auch unter Verwendung der derzeit erhältlichen konventionellen Hilfsprogramme - aufwendig und wenig flexibel.
-
Offenbarung der Erfindung
-
Daher ist es Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung der eingangs genannten Art dahingehend zu verbessern, dass die Nachteile des Stands der Technik vermieden werden und eine effiziente Verarbeitung von Systemmodellen und deren Analyse ermöglicht wird.
-
Diese Aufgabe wird bei dem Verfahren der eingangs genannten Art erfindungsgemäß durch die folgenden Schritte gelöst: Bereitstellen des Systemmodells, Bilden eines Sicherheitsmodells in Abhängigkeit des Systemmodells, Bilden eines Timingmodells in Abhängigkeit des Systemmodells, Bilden eines Leistungsmodells in Abhängigkeit des Timingmodells. Erfindungsgemäß ist erkannt worden, dass hierdurch eine effiziente Timinganalyse und gleichzeitig eine Sicherheitsanalyse ermöglicht sind. Der erfindungsgemäße Ansatz stellt gleichsam eine Dekomposition der Timinganalyse und der Sicherheitsanalyse bereit, wobei gleichzeitig vorteilhaft eine Konsistenz mit der Analyse des Gesamtsystems eingehalten wird.
-
Bei bevorzugten Ausführungsformen charakterisiert das Systemmodell Aspekte von Hardware und/oder von Software, die für eine technische Realisierung wenigstens einer Funktionalität des technischen Systems verwendbar und/oder erforderlich sind.
-
Bei weiteren bevorzugten Ausführungsformen charakterisiert das Sicherheitsmodell funktionale Sicherheitsaspekte, beispielsweise Sicherheitsziele und ggf. ihre Kritikalität. Bei weiteren bevorzugten Ausführungsformen charakterisiert das Sicherheitsmodell alternativ oder ergänzend zu den vorstehend genannten Elementen eine Fehlerausbreitung bzw. Fehlerfortpflanzung und/oder sicherheitsrelevante Vereinbarungen („safety contracts“) zwischen Komponenten des Modells, insbesondere zwischen verschiedenen Elementen des Systemmodells wie beispielsweise Softwarekomponenten und/oder Hardwarekomponenten einer zur Ausführung der Softwarekomponenten vorgesehenen Hardwareplattform.
-
Bei weiteren bevorzugten Ausführungsformen charakterisiert das Timingmodell Aspekte des Timings, also von Zeitabläufen, des Systemmodells oder einzelner Elemente hiervon.
-
Bei weiteren bevorzugten Ausführungsformen charakterisiert das Leistungsmodell sicherheitsbezogene Aspekte des Systemmodells oder einzelner Elemente hiervon und/oder Aspekte des Timings des Systemmodells oder einzelner Elemente hiervon.
-
Bei bevorzugten Ausführungsformen werden in Abhängigkeit des Sicherheitsmodells ein oder mehrere sicherheitsbezogene Randbedingungen („safety related deployment constraints“) ermittelt, die vorteilhaft beispielsweise bei der Auswertung des Timingmodells berücksichtigt werden können.
-
Bei weiteren Ausführungsformen wird insbesondere das Bilden des Timingmodells in Abhängigkeit des Systemmodells und der genannten sicherheitsbezogenen Randbedingungen ausgeführt, die beispielsweise zuvor in Abhängigkeit des Sicherheitsmodells ermittelt worden sind. Mit anderen Worten sind bei einigen Ausführungsformen sicherheitsbezogene Randbedingungen auf der Basis des Sicherheitsmodells ermittelbar, und diese sicherheitsbezogenen Randbedingungen können bei der Bildung des Timingmodells mit einbezogen werden, wodurch die sicherheitsbezogenen Randbedingungen gleichsam im Rahmen der Timinganalyse und gegebenenfalls auch einer nachgelagerten Leistungsoptimierung des Systemmodells nutzbar sind.
-
Untersuchungen der Anmelderin zufolge entsprechen manche Sicherheitsanforderungen (beispielsweise die Detektion eines Fehlers innerhalb von x vielen Millisekunden und das nachfolgende Wechseln zu einem sicheren Betriebszustand) Timinganforderungen, deren Einhaltung bei konventionellen Ansätzen durch eine ausführliche Timinganalyse nach der Ausbringung des technischen Systems überprüft bzw. garantiert werden muss. Unter Ausnutzung des erfindungsgemäßen Prinzips können derartige Sicherheitsanforderungen demgegenüber zumindest teilweise in entsprechende Timinganforderungen transformiert werden, sodass bereits vor der Ausbringung des technischen Systems eine entsprechende Optimierung bzw. Überprüfung auf die Einhaltung entsprechender Anforderungen hin möglich ist. Dadurch wird die Effizienz bei der Entwicklung von technischen Systemen unter Anwendung des erfindungsgemäßen Prinzips bedeutend gesteigert. Besonders bevorzugt kann das erfindungsgemäße Prinzip zur Verarbeitung von Systemmodellen von Echtzeitsystemen und/oder sicherheitskritischen Systemen genutzt werden. Beispiele hierfür sind Steuergeräte für Brennkraftmaschinen und/oder Bremseinrichtungen für Kraftfahrzeuge und dergleichen.
-
Bei weiteren bevorzugten Ausführungsformen werden bei dem Bilden des Leistungsmodells die ein oder mehreren sicherheitsbezogenen Randbedingungen und Timing-Randbedingungen berücksichtigt, sodass eine umfassende Analyse des Leistungsmodells die Überprüfung der Einhaltung von entsprechenden sicherheitsbezogenen Randbedingungen und Timing-Randbedingungen ermöglicht.
-
Besonders vorteilhaft kann bei weiteren Ausführungsformen das Leistungsmodell dazu verwendet werden, um eine Implementierung des technischen Systems auszuführen (beispielsweise Entwicklung eines Steuergeräts für eine Bremseinrichtung eines Kraftfahrzeugs) und/oder zu überprüfen.
-
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass in Abhängigkeit des Leistungsmodells geprüft wird, ob das technische System wenigstens eine vorgebbare Randbedingung (beispielsweise Timing-Randbedingung und/oder sicherheitsbezogene Randbedingung) erfüllt, wobei insbesondere dann, wenn die wenigstens eine vorgebbare Randbedingung nicht erfüllt ist, eine Modifizierung und/oder Optimierung des Systemmodells ausgeführt wird.
-
Bei weiteren vorteilhaften Ausführungsformen kann das vorstehend genannte Prinzip zur Entwicklung eines technischen Systems, insbesondere eines Steuergeräts, genutzt werden. Durch die Verwendung des erfindungsgemäß gebildeten Leistungsmodells kann eine effiziente Analyse beispielsweise auf die Einhaltung von Randbedingungen hin, ausgeführt werden, die Entwicklungs- und Testzyklen signifikant verkürzt und die Berücksichtigung von möglichen Fehlern bzw. Effekten vor einer Ausbringung des technischen Systems im Feld ermöglicht.
-
Weitere Ausführungsformen beziehen sich auf ein Computerprogrammprodukt zum Verarbeiten eines Systemmodells eines technischen Systems, das auf einem computerlesbaren Medium gespeichert ist und Instruktionen aufweist, die ausführbar sind, um Schritte des vorstehend beschriebenen Verfahrens auszuführen.
-
Weitere Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des erfindungsgemäßen Verfahrens.
-
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
-
In der Zeichnung zeigt:
- 1 schematisch ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens,
- 2 schematisch ein Betriebsszenario gemäß einer Ausführungsform,
- 3 schematisch ein Betriebsszenario gemäß einer weiteren Ausführungsform,
- 4 eine Vorrichtung gemäß einer weiteren Ausführungsform,
- 5A schematisch ein beispielhaftes Systemmodell gemäß einer Ausführungsform,
- 5B schematisch Softwarekomponenten gemäß einer weiteren Ausführungsform,
- 5C Aspekte eines Sicherheitsmodells gemäß einer Ausführungsform,
- 5D Aspekte eines Timingmodells gemäß einer Ausführungsform, und
- 5E Aspekte einer Ausführung von Softwarekomponenten in einem Timingmodell.
-
1 zeigt schematisch ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens. In einem ersten Schritt 100 wird ein Systemmodell SM eines technischen Systems TS, vergleiche auch das Betriebsszenario gemäß 2, bereitgestellt.
-
Bei bevorzugten Ausführungsformen kann das Systemmodell SM ein oder mehrere Hardwareaspekte und/oder Softwareaspekte des technischen Systems TS charakterisieren bzw. beschreiben, beispielsweise (insbesondere) alle Hardwareaspekte und Softwareaspekte des technischen Systems TS, die für die Realisierung einer bestimmten Funktionalität erforderlich sind.
-
Beispielsweise kann es sich bei dem technischen System TS um ein Steuergerät für eine Bremseinrichtung eines Kraftfahrzeugs handeln. Beispielsweise kann es sich bei den Hardwareaspekten um Teilmodelle des Systemmodells SM handeln, die einen Betrieb eines Aktors charakterisieren, welcher für einen Aufbau eines Bremsdrucks bei der Bremseinrichtung nutzbar ist (zum Beispiel Einlassventil eines hydraulischen Bremssystems), und beispielsweise kann es sich bei den Softwareaspekten um Teilmodelle des Systemmodells SM handeln, die einen Betrieb der Software charakterisieren, welche die Ansteuerung des Aktors vornimmt.
-
Bei bevorzugten Ausführungsformen kann zur Bereitstellung des Systemmodells SM eine, bevorzugt standardisierte, Modellierungssprache verwendet werden, die das Systemmodell SM beschreibt. Beispielsweise kann hierfür die sog. Systems Modeling Language („SysML“) verwendet werden.
-
Nach der Bereitstellung des Systemmodells SM, vergleiche Schritt 100 gemäß 1, wird in Schritt 110 ein Sicherheitsmodell SiM in Abhängigkeit des Systemmodells SM gebildet, vergleiche auch den Pfeil a1 aus 2. Bei bevorzugten Ausführungsformen kann das Systemmodell SM zur Bildung 110 des Sicherheitsmodells SiM ergänzt werden mit Teilmodellen bzw. Aspekten funktionaler Sicherheit („safety“), beispielsweise durch Definition von Sicherheitszielen und deren Kritikalität, und/oder Informationen, die eine Fehlerausbreitung in dem Systemmodell SM charakterisieren, und/oder sicherheitsrelevante Vereinbarungen („safety contracts“) zwischen verschiedenen Elementen des Systemmodells SM wie beispielsweise Softwarekomponenten und Hardwarekomponenten einer zur Ausführung der Softwarekomponenten vorgesehenen Hardwareplattform.
-
In einem weiteren Schritt 120 wird ein Timingmodell TM in Abhängigkeit des Systemmodells SM gebildet, vergleiche Pfeil a2 aus 2. Dazu können den einzelnen Funktionen der Softwarekomponenten Laufzeiten hinzugefügt werden, was weiter unten unter Bezugnahme auf 5D, 5E näher beschrieben ist.
-
Bei bevorzugten Ausführungsformen kann das Systemmodell SM zur Bildung 120 des Timingmodells TM um Timinginformationen ergänzt werden. Bei weiteren Ausführungsformen kann die Reihenfolge der Schritte 110, 120 auch umgekehrt sein bzw. können die Schritte 110, 120 zumindest teilweise einander zeitlich überlappen.
-
Bei weiteren bevorzugten Ausführungsformen können optional auch ein oder mehrere sicherheitsbezogene Randbedingungen srdc (2) in Abhängigkeit des Sicherheitsmodells SiM ermittelt und für die Bildung 120 des Timingmodells TM berücksichtigt werden. Bei manchen Ausführungsformen können die sicherheitsbezogenen Randbedingungen srdc einen Zustand charakterisieren, in dem keine Rückwirkungen zwischen verschiedenen Elementen des Systemmodells auftreten („Rückwirkungsfreiheit“).
-
Sodann wird in Schritt 130 (1) ein Leistungsmodell LM in Abhängigkeit des Timingmodells TM gebildet, vergleiche Pfeil a3. Sofern das Timingmodell TM in Abhängigkeit des Systemmodells SM und der optionalen sicherheitsbezogenen Randbedingungen srdc gebildet worden ist, deckt das Leistungsmodell LM vorteilhaft gleichzeitig Timing-Randbedingungen und sicherheitsbezogene Randbedingungen gemeinsam ab, wodurch effiziente Auswertungen, beispielsweise auf die Einhaltung entsprechender Randbedingungen hin, ermöglicht sind.
Zusätzlich zu den sicherheitsbezogenen Randbedingungen srdc kann das Timingmodell TM bei bevorzugten Ausführungsformen auch eine, vorzugsweise beste, Allokierung (Zuweisung zur Ausführung) (deployment/mapping) von Softwarekomponenten zu Prozessoren umfassen, z.B. um eine Effizienz zu erhöhen (Laufzeitverbrauch und/oder Kommunikationsaufwand minimieren), was auf das Leistungsmodell LM führt.
-
Bei weiteren bevorzugten Ausführungsformen kann das Leistungsmodell LM vorteilhaft als Ausgangsbasis für eine geplante Ausbringung bzw. einen geplanten Einsatz des technischen Systems TS genutzt werden. Insbesondere kann unter Verwendung des Leistungsmodells LM eine gültige Implementierung des technischen Systems TS effizient entwickelt werden.
-
5A zeigt schematisch ein beispielhaftes Systemmodell 400 (analog zu dem Systemmodell SM gemäß 2) gemäß einer Ausführungsform, wie es z.B. für Anwendungen im Bereich des hochautomatisierten Fahrens von Kraftfahrzeugen verwendbar ist. Zwei Sensoren 402, 404 liefern Daten an einen Verarbeitungsblock 406, der eine Verarbeitung der Daten von den Sensoren 402, 404 zum Gegenstand hat. In Abhängigkeit der Verarbeitung der Daten in Block 406 werden zwei Aktoren 408, 409 angesteuert.
-
5B zeigt schematisch zwei Softwarekomponenten 410, 411 gemäß einer weiteren Ausführungsform. Die Softwarekomponenten 410, 411 sind beispielsweise dazu ausgebildet, die Verarbeitung von Sensordaten gemäß Block 406 aus 5A auszuführen, dies ist durch Block 406' in 5B angedeutet. Als Beispiel für sicherheitsbezogene Randbedingungen srdc, vgl. auch 2., ist bei dem Diagramm aus 5B vorgesehen, dass beide Softwarekomponenten 410, 411 auf unterschiedlichen Prozessoren 410a, 411 a zur Ausführung kommen. Dadurch wird die Zuverlässigkeit erhöht und u.a. eine Rückwirkungsfreiheit erreicht.
-
5C zeigt schematisch Aspekte 430 eines Sicherheitsmodells gemäß einer Ausführungsform. Eine Softwarekomponente, beispielsweise eine der vorstehend unter Bezugnahme auf 5B erwähnten Softwarekomponenten, wird mit einem vorgebbaren Sicherheitsziel und insbesondere Automotive Safety Integrity Level (ASIL) verknüpft, vgl. Block 435. Weiter wird eine mögliche Fehlerfortpflanzung in der Softwarekomponente modelliert, vgl. Block 436. Hierin repräsentiert Pfeil 431 einen möglichen Eingangsfehler und Pfeil 432 einen möglichen internen Fehler, und Block 433 eine UND-Verknüpfung. Haben z.B. zwei Softwarekomponenten 410, 411 (5B) das gleiche Sicherheitsziel und den gleichen internen Fehler oder die gleichen Eingangsfehler, dürfen sie bei manchen Ausführungsformen z.B. nicht auf dem gleichen Prozessor ausgeführt werden um eine ausreichend große „freedom of interference“ (Rückwirkungsfreiheit) zu erzielen.
-
5D zeigt Aspekte 440 eines Timingmodells gemäß einer Ausführungsform (analog zu dem Timingmodell TM gemäß 2). Block 441 bezeichnet eine erste Softwarefunktion, der Laufzeiten gemäß einer Ausführungsform hinzugefügt worden sind. Die Laufzeiten können gemäß weiterer Ausführungsformen gemessen und/oder geschätzt und/oder berechnet werden, insbesondere je nach Verfügbarkeit. Optional können zusätzlich Prioritäten vergeben werden, insbesondere im Falle einer zyklischen Ausführung. Weiter optional können z.B. auch Variablenzugriffe hinzugefügt werden, da diese in einem Mehrkernsystem auch Auswirkungen auf eine Laufzeit der Funktion 441 haben. Block 442 bezeichnet in analoger Weise eine weitere Softwarefunktion mit zugefügter Laufzeit.
-
5E zeigt schematisch Aspekte 450 einer dynamischen Sicht auf eine Ausführung von Softwarekomponenten 441', 442' über der Zeit t in einem beispielhaften Timingmodell. Die Zeile 441' entspricht der vorstehend beschriebenen Funktion 441, die Zeile 442' der vorstehend beschriebenen Funktion 442. Es ist zu erkennen, dass die Funktionen 441, 442 i.d.R. zu unterschiedlichen Zeiten t ausgeführt werden.
-
3 zeigt schematisch ein Betriebsszenario gemäß einer weiteren Ausführungsform. Unter Verwendung des Leistungsmodells LM wird in Schritt 150 geprüft, ob ein oder mehrere vorgebbare Randbedingungen, die sich beispielsweise auf das Timing (zeitliche Verhalten von Elementen des Systemmodells SM bzw. Leistungsmodells LM) und/oder Sicherheitsaspekte beziehen, eingehalten werden. Wenn dies der Fall ist, vergleiche Pfeil 152, liegt eine gültige Implementierung vor. Ist dies nicht der Fall, wird von dem Schritt 150 zu dem Systemmodell SM verzweigt, vergleiche Pfeil 160, der eine Rückkopplung zu dem Systemmodell SM repräsentiert. Die Rückkopplung 160 kann bei manchen Ausführungsformen zu Dokumentationszwecken genutzt werden, beispielsweise kann bei manchen Ausführungsformen im Wege der Rückkopplung 160 das Systemmodell SM um solche Informationen ergänzt werden, die beschreiben, warum die Prüfung in dem Schritt 150 negativ verlaufen ist. Die Rückkopplung 160 kann bei weiteren Ausführungsformen alternativ oder ergänzend für eine Modifizierung bzw. Optimierung des Systemmodells SM auf Systemebene genutzt werden, beispielsweise mit dem Ziel, dass eine erneute Überprüfung in dem Schritt 150 positiv verläuft, mithin eine gültige Implementierung erreicht wird.
-
4 zeigt schematisch eine Vorrichtung 200 zur Ausführung des erfindungsgemäßen Verfahrens. Die Vorrichtung 200 weist eine Recheneinheit 210 auf, die beispielsweise einen Mikroprozessor oder Mikrocontroller umfasst. Alternativ oder ergänzend kann die Recheneinheit 210 auch einen digitalen Signalprozessor (DSP) und/oder programmierbaren Logikbaustein, insbesondere FPGA (field programmable gate array), und/oder eine anwendungsspezifische integrierte Schaltung (ASIC) oder dergleichen bzw. Kombinationen hieraus aufweisen.
-
Die Vorrichtung 200 weist zusätzlich eine Speichereinheit 220 auf, die wenigstens einen Arbeitsspeicher, zum Beispiel für die Recheneinheit 210, und/oder nichtflüchtigen Speicher aufweisen kann, beispielsweise einen Flash-EEPROM Speicher.
-
Ferner ist ein Computerprogrammprodukt 300 vorgesehen, das ein computerlesbaren Medium 302 sowie ein auf dem Medium 302 zumindest zeitweise gespeichertes Computerprogramm aufweist, das die Vorrichtung 200 zur Ausführung des erfindungsgemäßen Verfahrens steuert, wenn das Computerprogramm auf der Recheneinheit 210 ausgeführt wird, vgl. Blockpfeil 220a.
-
Die Ausführungsformen ermöglichen eine effiziente Modellierung von technischen Systemen TS insbesondere auch im Hinblick auf eine Analyse von Aspekten der funktionalen Sicherheit („safety“) und des Timings, was vorteilhaft insbesondere bei der Entwicklung von sicherheitskritischen Systemen und/oder Echtzeitsystemen genutzt werden kann. Insbesondere kann unter Verwendung der Ausführungsformen anhand eines Leistungsmodells LM des technischen Systems TS effizient überprüft werden, ob wichtige Eigenschaften bezüglich funktionaler Sicherheit und Timing gegeben sind bzw. eingehalten werden.