Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 14.7.2009
War wir bislang hatten Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering Anforderungsdefinition und -artefakte Modellierung physikalische Modellierung Anwendungs- und Verhaltensmodellierung Berechnungsmodelle, zeitabhängige & hybride Automaten Datenflussmodelle (Katze und Maus) Regelungstechnik PID-Regelung HW für Regelungsaufgaben speicherprogrammierbare Steuerungen Fehler und Fehlertoleranz Qualitätsnormen 14.7.2009
Sicherheits-Lebenszyklus Analyse der Bedrohung durch das EUC Ableitung von Sicherheitsanforderungen Planung und Realisierung von Sicherheitsmechanismen Validierung und Betrieb der Systeme 14.7.2009
Gefährdungs- und Risikoanalyse Gefährdung: potentielle Schadensquelle Risiko: Verbindung / Kombination der Auftretenswahrscheinlichkeit eines Schadens und des zugehörigen Schadensausmaßes Auftretenswahrscheinlichkeit: der Parameter des Risikos, der Auskunft über die Wahrscheinlichkeit gibt, mit der eine identifizierte Gefährdung bzw. ihre Ursache in der Praxis tatsächlich auftreten könnte. Eintrittswahrscheinlichkeit Entdeckungswahrscheinlichkeit Möglichkeit zur Gefahrenabwendung Schadensausmaß: quantitatives Maß für die möglichen Folgen / Konsequenzen einer Gefährdung Sicherheit: Freiheit von nicht akzeptablen Risiken Risiko = Eintrittswahrscheinlichkeit * Schadensausmaß 14.7.2009
IEC 61508 Prozess 14.7.2009
Risikoanalyse Risiko = Eintrittswahrscheinlichkeit * Schadensausmaß z.B. Aktienkursverlust Problem bei sehr kleinen und sehr großen Zahlen sehr großer Schaden bei sehr geringer Wahrscheinlichkeit Problem der numerischen Einschätzung Kosten bei Personenschaden? Wahrscheinlichkeit von Katastrophen? akzeptabeles Risiko? abhängig vom persönlichen Einfluss 14.7.2009
ALARP ALARP-Prinzip: „As Low As Reasonably Possible“ Wenn ein Risiko mit vertretbarem Aufwand reduziert werden kann, sollte dies getan werden Oft auch: Wenn das Risiko nicht reduziert werden kann, muss der Nutzen des Systems (Nutzungsdauer * Gewinn) den Schaden übersteigen “Cost per life saved” 14.7.2009
Automobil- versus Luftfahrtsicherheit Katastrophen werden subjektiv höher gewichtet 14.7.2009
Planes, Trains and Automobiles E. Schnieder: 4. Bieleschweig Workshop, 14.-15.9.04: NEUE UND HERKÖMMLICHE MAßE ZUR QUANTIFIZIERUNG DES RISIKOS IM EISENBAHNVERKEHR Quelle: http://www.ifev.bau.tu-bs.de/Workshops_Tagungen/Bieleschweig/bieleschweig4/pdf/Bieleschweig4_Folien_Schnieder.pdf 14.7.2009
quantitative Abschätzung Eintrittswahrscheinlichkeitsklassen Schadensauswirkungsklassen 14.7.2009
Risikomatrix I: Unakzeptabel II:Unerwünscht; nur tolerierbar falls Risikoverminderung nicht oder nicht mit vertretbarem Aufwand möglich III: Tolerierbar falls die Kosten die Verbesserungen übersteigen IV: Akzeptierbar, sollte möglicherweise überwacht werden 14.7.2009
14.7.2009
Sicherheitsanforderungsstufen SIL: Safety Integrity Level 14.7.2009
Beispiel Sicherheitsanforderung: When the hinged cover is lifted by 5 mm or more, the motor shall be de-energised and the brake activated so that the blade is stopped within 1 second. The safety integrity level of this safety function shall be SIL2. Trennung von sicherheitsgerichteten und nicht sicherheitsrelevanten Forderungen! Architekturprinzip! Einfluss auf die SW-Architektur 14.7.2009
IEC Software safety lifecycle requirements 7.1.2.1 A safety lifecycle for the development of software shall be selected and specified during safety planning NOTE – A safety lifecycle model which satisfies the requirements of clause 7 of IEC 61508-1 may be suitably customised for the particular needs of the project or organisation 7.2.2.2 The specification of the requirements for software safety shall be derived from the specified safety requirements of the E/E/PE safety-related system, and any requirements of safety planning (see clause 6). This information shall be made available to the software developer. 7.2.2.8 The software safety requirements specification shall specify and document any safetyrelated or relevant constraints between the hardware and the software. 7.3.2.1 Planning shall be carried out to specify the steps, both procedural and technical, that will be used to demonstrate that the software satisfies its safety requirements 14.7.2009
14.7.2009
Software design and development 7.4.2.2 In accordance with the required safety integrity level, the design method chosen shall possess features that facilitate: a) abstraction, modularity and other features which control complexity; b) the expression of: – functionality, – information flow between components, – sequencing and time related information, – timing constraints, – concurrency, – data structures and their properties, – design assumptions and their dependencies; c) comprehension by developers and others who need to understand the design; d) verification and validation. 14.7.2009
Softwarearchitektur-Forderungen muss explizit dargestellt werden muss in den Entwicklungszyklus eingebunden sein muss zu den einzelnen Komponenten Erklärungen liefern neu, reimplementiert, verifiziert, sicherheitsrelevant etc. muss alle Schnittstellen enthalten muss beschreiben wie die Datenintegrität gesichert wird muss Integrationstests spezifizieren kann werkzeugunterstützt verwaltet werden („To the extent required by the safety integrity level, …“) 14.7.2009
weiterer Aufbau der Forderungen 7 Software safety lifecycle requirements .......................................... 23 7.1 General ................................................................................... 23 7.2 Software safety requirements specification ................................ 35 7.3 Software safety validation planning ........................................... 39 7.4 Software design and development ............................................. 43 7.5 Programmable electronics integration (hardware and software) ... 55 7.6 Software operation and modification procedures.......................... 57 7.7 Software safety validation ......................................................... 57 7.8 Software modification................................................................ 61 7.9 Software verification ................................................................. 65 Anforderungsklassen M = mandatory HR = highly recommended R = recommended -- = no recommendation NR= not recommended 14.7.2009
14.7.2009
14.7.2009
14.7.2009
Wrap-Up Eingebettete Systeme als Forschungsfragen gesellschaftlich enorm bedeutend wirtschaftlich spannend Motor der aktuellen Informatik-Entwicklung Forschungsfragen Multi-Core, Many-Core, SoC, NoC neue Sensorik, Aktuatorik, Kommunikationswege (Zigbee) Designprozesse, MBD, MBT, UML, OCL Validierung, MBT, Analyse, Debugging Zulassung & Zertifizierung, Reengineering, Security, gesellschaftliche Verantwortung 14.7.2009