Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellbasierte Software-Entwicklung eingebetteter Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software-Entwicklung eingebetteter Systeme"—  Präsentation transkript:

1 Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS

2 Wiederholung in Fragen?
Was versteht man unter SIL? Wie bestimmt man SIL eines Systems? Unterschied SIL – ASIL? Wofür steht 61508? Was ist Risiko? Wie funktioniert Risikobegrenzung? Beispiele für Maßnahmen?

3 DO-178 C (2011-12) Luftfahrt-Standard vergleichbar zu EN 50128
“Software Considerations in Airborne Systems and Equipment Certification” Design Assurance Level (DAL) A – E A – Catastrophic, B – Hazardous, C – Major, D – Minor, E - No Safety Effect (Achtung: A ist höchste Sicherheitsstufe) Inhalt Software Life Cycle Software Planning Processes Software Development Processes Software Verification Processes Configuration Management, Quality Assurance, Certification Beispiele auf P12, P13

4 Supplemente DO-330 Software Tool Qualification Considerations
DO-331 Model-Based Development and Verification DO-332 Object-Oriented Technology DO-333 Formal Methods DO-331 ist die erste Norm, die den Gebrauch modellbasierter Entwicklungsmethoden explizit erlaubt und reglementiert (vorher: Spezialfall allgemeiner Entwicklungsmethodik) Aussagen zur Codegenerierung, Coverage, Verifikation usw.

5 DO-331 Definition Modell: “abstrakte Repräsentation einer Menge von Softwareaspekten, die verwendet wird um den Software-Entwicklungs- oder –verifikationsprozess zu unterstützen” graphische oder textuelle Modellierungsnotation enthält Anforderungen an die Software direkt für Analyse und Auswertung verwendbar Verwndung von Modellen im Entwicklungszyklus Formalisierung von Anforderungen Codegenerierung, Testgenerierung Analyse, Simulation und (partielle) Verifikation Aufbau gemäß DO 178 C Änderung falls durch modellbasierte Entwicklung erforderlich

6 Spezifikations- und Designmodelle
Spezifikationsmodell Formalisierung abstrakter Anforderungen, eindeutige Beschreibung der Software-Funktionalität, keine Implementierungsdetails Designmodell Beschreibung von internen Datenstrukturen, Daten- und Kontrollfluss; Spezifikation von Architektur und Implementierung Ein Modell kann nicht gleichzeitig Spezifikations- und Designmodell sein jedes Modell muss als Spezifikations- oder Designmodell gekennzeichnet werden Auswirkungen auf Verwendung und Modellvalidierung “it may be difficult to separate system and software life cycle data”

7 Beispiel für DO-331 Anforderungen
Erforderliche Informationen im Lebenszyklus Systemanforderungen Sicherheitsanforderungen ... (8 Punkte) Zusätzlich erforderliche Daten für Modelle Verlinkung zu Anforderungen Modell-Konfigurationsmöglichkeiten Modellierungssprachenbeschreibung Modellelementbibliothek Modellschnittstellenbeschreibung Modellentwicklungsumgebungsbeschreibung Systemverfikationsdaten zur Modellvalidierung

8 Simulationsumgebung muss ggf. qualifiziert werden
Analyse der Fähigkeiten und Grenzen welche Fehler können bzw. können nicht gefunden werden welche Teile tragen bei bzw. sind nur informativ Kennzeichnung der Realisierung von Anforderungen im Modell Bi-direktionale Traceability Konformität zu Modellierungsstandards Simulation zum Nachweis der Vollständigkeit und Korrektheit der Anforderungen erlaubt “Verifikationsfälle” statt “Testfälle” Nachweis der Übereinstimmung von Anforderungen und Modell

9 Modellüberdeckungsanalyse

10 Simulation und Test Modellsimulation ergänzt den Test
aber: ersetzt nicht Test und strukturelle Codeüberdeckung! “partially satisfy ... testing objectives”, z.B. Robustheit, High-Level-Anforderungen, Softwarestruktur Simulation statt Test von generiertem Code Unterschied Simulations- und Zielplattform muss dargestellt werden Nachweis, dass Fehler bereits im Modell gefunden werden zusätzliche Test auf der Zielplattform sind immer erforderlich

11 Kap. 6.2 Fehlertoleranz Thanks for the pictures: © Prof. Sergio Montenegro, U Würzburg

12 Redundanz und Fehlertoleranz
Redundanz: Das Vorhandensein mehrerer Möglichkeiten, um eine gegebene Funktion zu erbringen Strukturelle Redundanz Vervielfältigung von Komponenten baugleich oder alternative Entwürfe (Replikation / Diversität) Zeitliche Redundanz Zusätzliche Zeit für wiederholte Ausführungen (Retry) Funktionale Redundanz zusätzliche, unterstützende Komponenten Test, Konfiguration, Sensoren Informationsredundanz Zusätzliche Informationen Prüfbits, zusätzliche Zeiger, Zähler

13 Fehlertoleranz Fehlertoleranz: Die Fähigkeit eines Systems, trotz aufgetretener Fehler die vorgesehene Funktion zu erbringen Ziel: Verringerung der Ausfallwahrscheinlichkeit durch Redundanz Komponentenausfälle müssen unabhängige Ereignisse sein („single faults“) Einzelne Komponente hat Ausfallwahrscheinlichkeit p; Gesamtausfallwahrscheinlichkeit? Notwendiger Replikationsgrad für geforderte Verfügbarkeit?

14 Warum Fehlertoleranz? Steuerungscomputer Aktuatoren Sensoren
Technischer Prozeß

15

16 FT-Kenngrößen Zuverlässigkeit (reliability)
Grad der Fähigkeit einer Betrachtungseinheit, die geforderte Leistung während einer vorgegebenen Zeitspanne zu erbringen Wahrscheinlichkeit der Abwesenheit von Ausfällen über dem Beobachtungszeitraum gleichzusetzen mit Überlebenswahrscheinlichkeit R(t)=Wahrscheinlichkeit, dass das System im Zeitraum [0,t] fehlerfrei ist; oft R(t)=e-t Ausfallwahrscheinlichkeit F(t) = Wahrscheinlichkeit (mindestens) eines Ausfalls im Beobachtungszeitraum; F(t) = 1 - R(t) Verfügbarkeit (availability) Maß für die Wahrscheinlichkeit, dass die geforderte Leistung zu einem Zeitpunkt erbracht werden kann A(t) = Wahrscheinlichkeit, dass das System zum Zeitpunkt t intakt ist (MTBF / (MTBF+MTTR)) Verlässlichkeit (dependability) Maß für das gerechtfertigte Vertrauen in die Leistung eines Systems

17 RAMS(S) Dependability Mean Time to Failure (MTTF) Verlässlichkeit
Mittlere Laufzeit vor Ausfall Reliability Zuverlässigkeit Availability Verfügbarkeit Mean Time To Repair (MTTR) Maintainability Wartbarkeit Instandhaltbarkeit Safety Sicherheit Risikobehandlung: erkennen, eliminieren, reduzieren, Folgen minimieren Security Sicherheit


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen