Modellbasierter Entwurf sicherheitskritischer Anwendungen Von Moritz Borgmann Für VL Eingebettete Systeme Sommer Semester 2009
Einführung Einführung Modellbasierter Entwurf und der IEC 61508 Ausblick Zusammenfassung, Fazit & Quellen 2
Abschnitt 1 EINFÜHRUNG 3
Einführung - Ausgangslage Eingebettete Systeme die auch umfangreiche, verantwortungsvolle Aufgaben übernehmen verbreiten sich immer weiter. Um die Qualität sicherheitskritischer Systeme zu gewährleisten und nachzuweisen ist die Einhaltung von Standards notwendig. IEC 61508 ist ein solcher Standard. Jedoch ist dieser eigentlich nicht für den Einsatz moderner Methoden wie modelbasiertem Entwurf und Codegenerierung gedacht. 4
Einführung Kein anderer Weg möglich? Modelbasierter Entwurf ist effizient. Entwicklungszeit und Kosten werden reduziert. Prinzipiell spricht nichts gegen den Einsatz, wurde schon erfolgreich erprobt. Wie aber soll mit etablierten Standards umgegangen werden, deren Einhaltung vom Kunden oder gesetzlich gefordert wird? 5
Abschnitt 2 MODELLBASIERTER ENTWURF UND DER IEC 61508 6
IEC 61508 Functional safety of electrical/ electronic/ programmable electronic safetyrelated systems Ist 1998 veröffentlicht worden, 2000 überarbeitete Fassung. Allgemeiner Sicherheitsstandard. Festgelegt werden Anforderungen an den Entwicklungsprozess, Verifikation und Tests. In EN und DIN übernommen. Enthält Listen von Vorschriften und Vorgehensweisen die je nach SIL(Security Integrity Level) anzuwenden sind. 7
IEC 61508 Gliederung 1. Allgemeine Anforderungen 2. Anforderungen an sicherheitsbezogene elektrische/elektronische/programmierbare elektronische Systeme 3. Anforderungen an Software 4. Begriffe und Abkürzungen 5. Beispiel zur Ermittlung der Stufe der Sicherheitsintegrität 6. Anwendungsrichtlinie für IEC 61508-2 und IEC 61508-3 7. Anwendungshinweise über Verfahren und Maßnahmen SIL reicht von 1 bis 4, wobei 4 die höchste Stufe ist. Die Bestimmung des SIL ist relativ kompliziert. 8
IEC 61508 Anwendung Nach Ermittlung des SIL kann in den Listen des IEC 61508 nachgeschlagen werden, wie man vorzugehen hat. Diese Tabellen werden auf das Projekt zugeschnitten und im Verlauf des Projekts wird dokumentiert, wie man den Standard berücksichtigt hat. Wird eine Vorgabe nicht umgesetzt, muss dies genau dokumentiert werden und mit den entsprechenden Verantwortlichen abgesprochen werden. Vorgaben sind je nach SIL in possible, recommended, highly recommended, mandatory und not recommended eingestuft. 9
IEC 61508 Ein Beispiel Eintrag, wie er im IEC 61508 zu finden ist 10
IEC 61508 Anwendung Das Zuschneiden der Anforderungen ist ebenfalls geregelt. (IEC 61508 6). In der Regel ist das ein Arbeits- und Zeitaufwendiger Prozess. Die entstandenen Dokumente dienen zum Nachweis der Einhaltung des Standards und sind unter Umständen für die Abnahme von hoher Bedeutung. 11
IEC 61508 Das wesentliche Problem Der Standard ist für handgeschriebenen Code gedacht und deshalb nicht ohne weiteres mit modernen Methoden wie Codegenerierung und modelbasiertem Entwurf umzusetzen. Beim Zuschnitten werfen sich viele Fragen auf und der Zeit- und Kostenaufwand wird riesig. Lösungsansatz: Templates 12
Modellbasierter Entwurf und der IEC 61508 Viele Projekt haben in weiten Teilen Ähnlichkeit. Schon durch Branchen gegeben: Luftfahrt, Automobilindustrie, Defense, Raumfahrt usw. Diese Ähnlichkeiten macht man sich zunutze: projektspezifische Templates, die nur gering angepasst werden. In Software Integrity Tables wird weitere Spalte Applicable Model-Based Design Tools and Processes eingefügt. Dort wird festgehalten, ob und wie Techniken und Werkzeuge eingesetzt werden können. Hierbei bietet sich eine Aufteilung in Code- und Modelebene an. 13
IEC 61508 Angepasste Vorlag 14
MAAB Style Guidelines Von 1998, ursprünglich Daimler und Toyota. Heute über 40 Teilnehmer aus der Automobilindustrie. Umfasst Simulation, Codegenerierung. Insbesondere für Simulink, Stateflow, und Real-Time Workshop. 15
MISRA C MISRA C ist ein Standard der Automobilindustrie von 1998, neueste Fassung von 2004. Ziel ist die Vermeidung unsicherer Konstrukte, Laufzeitfehler, das Verhindern von Missverständnissen zwischen Programmierern und die Gültigkeit von Ausdrücken zu gewährleisten. Über 100 Programmierregeln, Tools zur Überprüfung sind vorhanden. 16
17
Vorgehen während des Projekts 1. Bestimmung des SIL und alles aus den Tabellen entfernen, was nicht zum entsprechenden SIL gehört. 2. Auswahl zur Applikation passender Maßnahmen und Vorschriften. 3. Applicable Model-Based Design Tools und Processes wird zu Interpretation in this application 4. Dokumentieren, ob und in welchem Umfang die vorgeschlagenen Maßnahmen eingesetzt wurden ( used, used to a limited degree, not used. Wenn eine nicht eingesetzt wurde ist das genauestens zu begründen. Entsprechende Maßnahme wird aus der Tabelle gestrichen. 5. Maßnahmenspezifische Änderungen in der Tabelle dokumentieren. 18
IEC 61508 Tabelle nach Projektabschluss 19
Abschnitt 4 AUSBLICK 20
ISO 26262 Ableitung des IEC 61508 Wird gerade entwickelt, eine erste Veröffentlichung wird für August 2009 erwartet. Eine Ableitung des IEC 61508 für die Sicherheit in KFZ. Definiert ein Prozess-Rahmenwerk und Vorgehensmodell zusammen mit geforderten Aktivitäten und Arbeitsprodukten sowie anzuwendenden Methoden. Gefahrenstufen werden anders ermittelt als im IEC 61508. 21
Abschnitt 4 ZUSAMMENFASSUNG & FAZIT 22
Zusammenfassung An den modernen Methoden führt kein Weg vorbei. Diese fördern Effizienz und Qualität. Standards müssen eingehalten werden. Diese jedoch relativ alt. Tools und Konzepte müssen auf den IEC 61508 umgemünzt werden, damit man weiter mit diesem schnell und zuverlässig arbeiten kann. Um Mehrfacharbeit beim Zuschnitt der Tabellen zu sparen, werden Templates eingesetzt. Dokumente dienen später zum Nachweis der Einhaltung und der Qualität des entwickelten Systems. Aber Achtung: Es kann jedoch nur die Einhaltung des Standards und die Nutzung bewährter Methoden nachgewiesen werden, nicht aber die eigentliche Sicherheit des Systems. 23
Fazit Man sollte auch beim Template äußerste Sorgfalt walten lassen. Prinzipielle Fragestellung: Wer liefert das Template? Wer stellt die Qualität des Templates sicher? ISO 26262 macht sehr vielversprechenden Eindruck. 24
Quellen M. Conrad: Using Simulink and Real-Time Workshop Embedded Coder for IEC 61508 Applications. Safety Users group, 2007, revised from Proc MBEES 2007 M. Conrad: Einsatz von Modell-basierten Entwicklungstechniken in sicherheitsrelevanten Anwendungen: Herausforderungen und Lösungsansätze1. Tagungsband. Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme II Wikipedia: IEC_61508, Sicherheitsanforderungsstufe, ISO 26262 25