02.02.2013 Aufrufe

Entwurf sicherheitskritischer eingebetteter Systeme am Beispiel von ...

Entwurf sicherheitskritischer eingebetteter Systeme am Beispiel von ...

Entwurf sicherheitskritischer eingebetteter Systeme am Beispiel von ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Entwurf</strong> <strong>sicherheitskritischer</strong> <strong>eingebetteter</strong><br />

<strong>Systeme</strong> <strong>am</strong> <strong>Beispiel</strong> <strong>von</strong> Straßenfahrzeugen<br />

Dr.-Ing. Jürgen Nützel<br />

Dipl.-Inf. Daniel Gurovic<br />

Dipl.-Inf. Jörg Keßler<br />

Technische Universität Ilmenau<br />

Fakultät für Informatik und Automatisierung<br />

98684 Ilmenau/Thüringen<br />

Ilmenau Safety Critical Applications<br />

http://www.theoinf.tu-ilmenau.de/ISCRA/


ISCRA - Ilmenau Safety Critical Applications<br />

Am <strong>Beispiel</strong> eines Fahrzeugmodells erfolgt im Rahmen eines durch das Land<br />

Thüringen geförderten Projektes der systematische <strong>Entwurf</strong> <strong>eingebetteter</strong> <strong>Systeme</strong>, die<br />

eine hohe Sicherheitsrelevanz besitzen.<br />

Ziel ist es eine durchgängiges, werkzeugunterstütztes Vorgehensmodell zu entwickeln,<br />

mit dem verteilte, eingebettete Echtzeitsysteme modelliert, validiert und implementiert<br />

werden können. Im Vordergrund stehen hierbei ein frühzeitiger Nachweis der<br />

Korrektheit des <strong>Entwurf</strong>sergebnisses, eine Absicherung gegenüber sicherheitskritischen<br />

Ausnahmezuständen, sowie eine effektive Implementierung auf dem<br />

Zielsystem.<br />

2<br />

Institutsleiter:<br />

Prof. Dr.-Ing. habil. W. Fengler<br />

Tel.: +49 / 3677 / 69 2825<br />

Fax: +49 / 3677 / 69 1614<br />

Projektkoordination:<br />

Dr.-Ing. Jürgen Nützel<br />

Tel.: +49 / 3677 / 69 1433<br />

e-mail: nuetzel@theoinf.tu-ilmenau.de<br />

Fakultät für Informatik und Automatisierung<br />

Institut für Theoretische und Technische Informatik<br />

Dipl.-Inf. Jörg Keßler<br />

Tel.: +49 / 3677 / 69 1460; e-mail: jkessler@theoinf.tu-ilmenau.de<br />

Dipl.-Inf. Daniel Gurovic<br />

Tel.: +49 / 3677 / 69 1460; e-mail: gurovic@theoinf.tu-ilmenau.de<br />

ISCRA http://www.theoinf.tu-ilmenau.de/ISCRA/


3<br />

Modellfallstudie - RC-Modellauto<br />

Lastenheft/Aufgabenstellung<br />

Es ist ein Steuerung zu entwerfen, welche<br />

dem Fahrer eine sichere Bedienung des<br />

Autos ermöglicht. Mit dem Steuerknüppel<br />

gibt der Fahrer eine gewünschte<br />

Motorspannung vor. Diese Vorgabe darf<br />

<strong>von</strong> der Steuerung allerdings nicht direkt<br />

an den Fahrtregler übertragen werden. Es<br />

muss vermieden werden, dass ein zu hoher<br />

Schlupf der Antriebsräder das Fahrverhalten<br />

negativ beeinflusst. Mit dem<br />

Bremspedal wird die auf der Antriebsachse<br />

sitzende mechanische Bremse betätigt. Bei<br />

der Ansteuerung des Brems-Servos darf es<br />

allerdings nicht zum Blockieren der Räder<br />

kommen. Das ist durch eine geeignete<br />

Regelung der Bremskraft zu vermeiden.<br />

Anti-Schlupf-Regelung<br />

Zielplattform<br />

3*C164CI (Infinion)


4<br />

Modellfallstudie - RC-Modellauto<br />

Kanal1<br />

Fernsteuerung<br />

Kanal2 Kanal3<br />

Vorderradsensor<br />

Hinterradsensor<br />

Rechtecksignal <strong>von</strong><br />

Gabellichtschranke<br />

Empfänger<br />

Kanal1 Kanal2 Kanal3<br />

in4<br />

in5<br />

in1 in2 in3<br />

verteiltes<br />

eingebettetes<br />

Rechnersystem<br />

(3*C164CI)<br />

out1<br />

Lenk-<br />

Servo<br />

out2<br />

Brems-<br />

Servo<br />

out3<br />

PWM-Signale<br />

PWM-Signale<br />

uP-gesteuerter<br />

Fahrtregler<br />

geregelte<br />

Spannung<br />

Flug-<br />

Elektromotor<br />

ca. 200W


5<br />

Warum Hazard-Analyse ?<br />

� Eingebettete <strong>Systeme</strong> werden in immer öfters in<br />

sicherheitskritischen Bereichen (z.B. Airbag) eingesetzt !<br />

� Ein Hazard ist eine Situation, in welcher eine akute oder<br />

potentielle Gefahr für Mensch und Umgebung besteht<br />

Beifahrer-Airbag<br />

wurde<br />

elektronisch<br />

deaktiviert<br />

Unfall ereignet<br />

sich - Kind sitzt<br />

im Reboard-<br />

Kindersitz<br />

Spezifiziertes Szenario<br />

Test-Routine<br />

erkennt im<br />

Betrieb einen<br />

Speicherfehler<br />

Beifahrer-Airbag<br />

löst aus<br />

Grundeinstellungen<br />

ohne<br />

Deaktivierung<br />

wird eingenommen<br />

Kind tot<br />

Nicht berücksichtige Folgen eines Unfalls


Kanal1<br />

Hazard-Analyse:<br />

Fehler können überall auftreten<br />

6<br />

Fernsteuerung<br />

Kanal2 Kanal3<br />

Vorderradsensor<br />

Hinterradsensor<br />

Empfänger<br />

Kanal1 Kanal2 Kanal3<br />

in4<br />

in5<br />

in1 in2 in3<br />

verteiltes<br />

eingebettetes<br />

Rechnersystem<br />

(3*C164CI)<br />

Lenk-<br />

Servo<br />

out3<br />

PWM-Signale<br />

out1 out2<br />

Rechtecksignal <strong>von</strong><br />

Gabellichtschranke PWM-Signale<br />

Fehleranfällig<br />

Brems-<br />

Servo<br />

� Quelle: Entwicklung/Laufzeit<br />

� Art: Permanent/Sporadisch/Bedingt<br />

� Bereich:<br />

Wert/Zeit/unaufgeforderte Aktionen<br />

uP-gesteuerter<br />

Fahrtregler<br />

geregelte<br />

Spannung<br />

Flug-<br />

Elektromotor<br />

ca. 200W<br />

� „an alles denken !!!! “


Hazard-Analyse:<br />

Suche nach den Ursachen<br />

7<br />

� Failure Tree Analysis - FTA<br />

(Fehlerbaumanalyse DIN 25 424)<br />

� Rückwärts-Suche<br />

� Eine identifizierte Gefahr bildet den<br />

Ausgangspunkt für die Analyse<br />

Kommunikation zwischen<br />

Steuerung und Sensoren gestört<br />

Fehlerhafte<br />

Sensordaten<br />

>1<br />

Radsensor_VR<br />

defekt<br />

Berechnungsalgorithmus<br />

fehlerhaft<br />

Radsensor_HR<br />

defekt<br />

Schlupfwert<br />

falsch<br />

>1<br />

Motorstellwert<br />

falsch<br />

>1<br />

Berechnungsalgorithmus<br />

fehlerhaft<br />

Schlupf<br />

zu hoch<br />

>1<br />

Kommunikation zwischen<br />

Steuerung und Motor gestört


Hazard-Analyse:<br />

Suche nach den Auswirkungen/Folgen<br />

8<br />

� Event Tree Analysis - ETA<br />

(Ereignisfolgenanalyse DIN 25 419)<br />

� Vorwärts-Suche<br />

� Es werden ausgehend <strong>von</strong> einem identifizierten Ereignis dessen<br />

Folgen analysiert<br />

Radsensor Steuerung Motor Auswirkung<br />

Radsensor_VR<br />

defekt<br />

OK<br />

defekt<br />

OK<br />

defekt<br />

OK<br />

defekt<br />

Fahr verhalten<br />

negativ beeinflusst<br />

Fahr verhalten<br />

negativ beeinflusst<br />

Fahr verhalten<br />

negativ beeinflusst<br />

Fahr verhalten<br />

negativ beeinflusst


9<br />

Das ISCRA-Vorgehensmodell<br />

Lastenheft<br />

...vom Auftraggeber<br />

durch den<br />

Entwicklungsingenieur<br />

Formalisierung der<br />

Anforderungen durch das<br />

Entwicklungste<strong>am</strong><br />

Objektnetze, SDL, Statecharts<br />

Formale Spezifikation<br />

Sequenz-Diagr<strong>am</strong>me (Z.120)<br />

Anforderungsanalyse<br />

mit der UML und<br />

MSCs nach Z.120<br />

Modellbasierter-<strong>Entwurf</strong> Hazard-Analyse<br />

Simulation<br />

Code-Generierung für<br />

OSEK-Betriebssystem<br />

FTA, ETA<br />

und FMEA<br />

Dokumentation<br />

Sicherheitsinformationen<br />

durch den<br />

Sicherheitsexperten


Ziele<br />

� Industrienahe Forschung<br />

� Zus<strong>am</strong>menarbeit mit der Automobil- und der<br />

10<br />

Automobilzulieferindustrie<br />

� Moderne Software-Technologien in der Anwendung<br />

� Neue Aufgaben, wie z.B. X-by-Wire<br />

� Hochschulmitarbeiter im Einsatz Vorort


Teil 2:<br />

Modellbasierte Analyse und <strong>Entwurf</strong><br />

<strong>sicherheitskritischer</strong> <strong>Systeme</strong><br />

Technische Universität Ilmenau<br />

Fakultät für Informatik und Automatisierung<br />

98684 Ilmenau/Thüringen<br />

Ilmenau Safety Critical Applications<br />

http://www.theoinf.tu-ilmenau.de/ISCRA/


Gliederung<br />

� Einleitung<br />

� Designflow<br />

� <strong>Beispiel</strong> für <strong>Systeme</strong>ntwicklung<br />

� Anwendung <strong>von</strong> Methoden für<br />

12<br />

�Anforderungsanalyse<br />

�<strong>Systeme</strong>ntwurf<br />

�Validierung/Verifikation<br />

�Codegenerierung<br />

� Zus<strong>am</strong>menfassung


Problem<br />

13<br />

Idee<br />

Aufgabe<br />

Problem<br />

Entwicklungste<strong>am</strong><br />

Lösung


Problem<br />

13<br />

Idee<br />

Aufgabe<br />

Problem<br />

Was ?<br />

Entwicklungste<strong>am</strong><br />

Wie ?<br />

Ist es Sicher?<br />

Funktioniert das ?<br />

Lösung


Problem<br />

13<br />

Idee<br />

Aufgabe<br />

Problem<br />

Funktioniert das ?<br />

Was ?<br />

Entwicklungste<strong>am</strong><br />

Wie ?<br />

modellbasierter<br />

<strong>Systeme</strong>ntwurf<br />

Ist es Sicher?<br />

Lösung


Problem<br />

13<br />

Idee<br />

Aufgabe<br />

Problem<br />

Was ?<br />

Was?<br />

Funktioniert das ?<br />

Entwicklungste<strong>am</strong><br />

Wie ?<br />

modellbasierter<br />

OK ?<br />

<strong>Systeme</strong>ntwurf<br />

Ist es Sicher?<br />

Wie?<br />

Lösung


Formale Modelle<br />

� Warum formale Modelle<br />

14<br />

� eindeutig definiert<br />

� erleichtern die Verständlichkeit<br />

� fördern die Kommunikation im Te<strong>am</strong><br />

� unabhängig <strong>von</strong> der Implementierung<br />

� nachvollziehbarer Entwicklungsweg<br />

� Wiederverwendbarkeit<br />

� frühe Erkennung <strong>von</strong> Entwicklungsfehlern<br />

� Warum Toolunterstüzung<br />

� zentrale Speicherung aller Daten<br />

� Wiederverwendung<br />

� bessere Te<strong>am</strong>unterstützung<br />

� rechnergestützte Korrektheitsnachweise


Designflow (Übersicht)<br />

� Anforderungsanalyse<br />

� Was ?<br />

� Design<br />

� Wie ?<br />

� Validierung/Verifikation<br />

� Erfüllt das Design die<br />

Anforderungen ?<br />

� Codierung<br />

� Manuell<br />

15<br />

� Automatisch<br />

� Konfiguration des OS<br />

Verifikation/<br />

Verifikation/<br />

Validierung<br />

Validierung<br />

Aufgabe<br />

Aufgabe<br />

Anforderungs-<br />

Anforderungsanalyse<br />

analyse<br />

Analyse<br />

Analyse<br />

Modelle<br />

Modelle<br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong><br />

Design<br />

Design<br />

Modell<br />

Modell<br />

Text<br />

Codierung<br />

Codierung<br />

ImplemenImplementationtation


Designflow (Anforderungsanalyse)<br />

� Analyse<br />

� Formalisierung der<br />

Aufgabenstellung mit<br />

grafischen Methoden (UML)<br />

16<br />

� Klassendiagr<strong>am</strong>me<br />

� Use-Case Diagr<strong>am</strong>me<br />

� HMSC/MSC<br />

� Analyse der Systemsicherheit<br />

� Ziel<br />

� Gefahren analysieren<br />

� Risiko einschätzen<br />

� Aufgabenstellung<br />

präzisieren<br />

�Aufgabe vollständig und<br />

widerspruchsfrei formal<br />

notieren<br />

Verifikation/<br />

Verifikation/<br />

Validierung<br />

Validierung<br />

Aufgabe<br />

Aufgabe<br />

Anforderungs-<br />

Anforderungsanalyse<br />

analyse<br />

Analyse<br />

Analyse<br />

Modelle<br />

Modelle<br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong><br />

Design<br />

Design<br />

Modell<br />

Modell<br />

Text<br />

UML<br />

SDL<br />

Codierung<br />

Codierung<br />

ImplemenImplementationtation


Unified Modeling Language (UML)<br />

� OMG(Object Managment Group) Standard für<br />

Modellierungssprachen<br />

� S<strong>am</strong>mlung <strong>von</strong> Diagr<strong>am</strong>men welche verschiedene<br />

Sichten auf ein System ermöglichen (Struktur,<br />

Verhalten,Zustände....)<br />

� Diagr<strong>am</strong>me/Darstellungsmittel<br />

17<br />

� Class Diagr<strong>am</strong> (Struktur, Rollen, Zus<strong>am</strong>menhänge)<br />

� Use-Case Diagr<strong>am</strong> (Beschreibung <strong>von</strong> Anwendungsfällen)<br />

� Sequence Diagr<strong>am</strong> (Beschreibung seq. Informationsflüsse)


Anforderungsanalyse (Struktur)<br />

Für das Projekt ist ein Modellauto (Maßstab<br />

1:7) mit einem Elektromotor ausgestattet<br />

worden. Das Modellauto wird vom Fahrer über<br />

eine Fernsteuerung (Sender, Empfänger)<br />

bedient. Es ist jeweils ein Kanal für Bremse,<br />

Lenkung und Motor-Steuerung vorhanden.<br />

Als Aktoren für Bremse und Lenkung dienen<br />

zwei Servos. Der Motor wird über einen<br />

Fahrtregler angesteuert. Durch die<br />

Eigenschaften des Elektromotors und die<br />

direkte Kopplung zwischen Motor<br />

und Antriebsachse haben sich die<br />

Fahreigenschaften......<br />

18<br />

Bremse<br />

BremsServo<br />

HinterradSensor<br />

Sensoren<br />

VorderradSensor<br />

Modellauto<br />

Fahrtregler<br />

Empfaenger<br />

Steuerungssystem<br />

Lenkung<br />

LenkServo<br />

Elektromotor


Anforderungsanalyse (Rollen)<br />

Für das Projekt ist ein Modellauto (Maßstab<br />

1:7) mit einem Elektromotor ausgestattet<br />

worden. Das Modellauto wird vom Fahrer über<br />

eine Fernsteuerung (Sender, Empfänger)<br />

bedient. Es ist jeweils ein Kanal für Bremse,<br />

Lenkung und Motor-Steuerung vorhanden.<br />

Als Aktoren für Bremse und Lenkung dienen<br />

zwei Servos. Der Motor wird über einen<br />

Fahrtregler angesteuert. Durch die<br />

Eigenschaften des Elektromotors und die<br />

direkte Kopplung zwischen Motor<br />

und Antriebsachse haben sich die<br />

Fahreigenschaften....<br />

....<br />

19<br />

Fahrtregler<br />

gibt Sollwerte<br />

Empfaenger<br />

Fahrdatenquelle<br />

Steuerungssystem<br />

Regler<br />

regelt<br />

Elektromotor<br />

regelt<br />

Bremse<br />

Regler<br />

liefert Geschwindigkeit<br />

liefert Geschwindigkeit<br />

Bremsservo<br />

VorderradSensor<br />

HinterradSensor


Anforderungsanalyse (Use-Cases)<br />

20<br />

Fahrer<br />

Was soll das System können?<br />

bremsen<br />

beschleunigen<br />

lenken<br />

<br />

Auto


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

decompos ed


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert<br />

)<br />

decompos ed


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

V_Vorderrad<br />

(V)


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

V_Vorderrad<br />

(V)<br />

V_Hinterrad<br />

(V)


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

T_Steuerung<br />

(10)<br />

V_Vorderrad<br />

(V)<br />

V_Hinterrad<br />

(V)


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

T_Steuerung<br />

(10)<br />

Bremskraft<br />

(Brems_Wert )<br />

V_Vorderrad<br />

(V)<br />

V_Hinterrad<br />

(V)


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

T_Steuerung<br />

(10)<br />

Bremskraft<br />

V_Vorderrad<br />

(V)<br />

V_Hinterrad<br />

(Brems_Wert ) Servo_Stellzeit<br />

(V)<br />

(10)


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

21<br />

bremsen<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

T_Steuerung<br />

(10)<br />

Bremskraft<br />

V_Vorderrad<br />

(V)<br />

V_Hinterrad<br />

(Brems_Wert ) Servo_Stellzeit<br />

(V)<br />

(10)<br />

Mechan_Bremskraft<br />

(N)


Designflow (<strong>Entwurf</strong>)<br />

� Design<br />

� Umsetzung der<br />

Anforderungen in eine<br />

formale, implementationsunabhängige<br />

Sprache<br />

22<br />

� Verhaltensbeschreibung auf<br />

Basis <strong>von</strong> EFSM<br />

�z.B. SDL, Statecharts,...<br />

� <strong>Entwurf</strong> der System- und<br />

Kommunikationsstruktur<br />

� Iterativer<br />

Verfeinerungsprozeß<br />

Verifikation/<br />

Verifikation/<br />

Validierung<br />

Validierung<br />

Aufgabe<br />

Aufgabe<br />

Anforderungs-<br />

Anforderungsanalyse<br />

analyse<br />

Analyse<br />

Analyse<br />

Modelle<br />

Modelle<br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong><br />

Design<br />

Design<br />

Modell<br />

Modell<br />

Text<br />

UML<br />

SDL<br />

Codierung<br />

Codierung<br />

ImplemenImplementationtation


SDL (Specification and Description Language)<br />

� ITU-T standardisiert (Z.100)<br />

� Etabliert in der Telekommunikation<br />

� Formale Sprache<br />

� Grafische Repräsentation<br />

23<br />

� hierarchisch<br />

� leicht zu lesen - überschaubar<br />

� Objektorientierung<br />

� Klassifikation (Klassen, SDL-Typen)<br />

� Identitäten (Objekte, SDL-Instanzen)<br />

� Polymorphismus (formale Kontextpar<strong>am</strong>eter)<br />

� Vererbung (Konkretisierung <strong>von</strong> Struktur und Verhalten)


SDL-System<br />

� Oberste Ebene der<br />

Beschreibung<br />

� Kapselt den ges<strong>am</strong>ten<br />

<strong>Systeme</strong>ntwurf<br />

� Kommunikation<br />

zwischen Blöcken und<br />

der Umgebung<br />

24<br />

system Steuerungssystem<br />

Bremskraft<br />

V_Hinterrad<br />

V_Vorderrad<br />

Bremsen<br />

Anschl_Bremsservo<br />

Anschl_Hinterradsensor_ABS<br />

Anschl_Vorderradsensor_ABS<br />

Anschl_Fahrtregler<br />

Wert_Fahrtregler<br />

Anschl_Empf_Bremse<br />

Anschl_Hinterradsensor_ASR<br />

V_Hinterrad<br />

Anschl_Vorderradsensor_ASR<br />

V_Vorderrad<br />

Anschl_Empf_FR<br />

Beschleunigen<br />

ABS<br />

ASR<br />

Motor_Brems_OK<br />

ABS_ASR_COM<br />

Beschleunigen<br />

SIGNAL<br />

Bremskraft,V_Hinterrad,<br />

V_Vorderrad,Bremsen,<br />

Wert_Fahrtregler,<br />

Beschleunigen;


SDL-Block ABS<br />

� Beschreibt Interaktion<br />

zwischen weiteren Blöcken<br />

oder Prozessen<br />

� Blöcke können mit Blöcken<br />

weiter verfeinert werden<br />

� Prozesse kapseln<br />

Zustandsmaschinen<br />

25<br />

Anschl_Empf_Bremse<br />

Anschl_Hinterradsensor_ABS<br />

Anschl_Vorderradsensor_ABS<br />

Anschl_Bremsservo<br />

block ABS 1(1)<br />

R1<br />

R2<br />

R3<br />

Bremskraft<br />

Bremsen<br />

V_Hinterrad<br />

V_Vorderrad<br />

R4<br />

ABS_Process(1,1)<br />

Motor_Brems_OK<br />

R5<br />

Bremsregler<br />

Beschleunigen<br />

ABS_ASR_COM


SDL-Process<br />

� Elementare Zustandsmaschine<br />

� Verarbeitung der Signale<br />

� Nutzung <strong>von</strong> Timern, um<br />

zeitliche Bedingungen zu<br />

beschreiben<br />

� Möglichkeit der<br />

Strukturierung durch<br />

Prozedurrufe<br />

26<br />

OK<br />

Beschleunigen<br />

Beschl_Inp_OK<br />

V_Vorderrad<br />

V_VR_OK<br />

V_Hinterrad<br />

SET(Now+9,<br />

T)<br />

ASR_Regler(Schlupf_OK)<br />

FRW_OK<br />

T<br />

FRW_OK<br />

Schlupf_OK<br />

Wert_Fahrtregler<br />

OK<br />

false<br />

TIMER<br />

T;<br />

DCL Schlupf_OK Boolean;<br />

Wert_Fahrtregler Fahrtregler auf Null<br />

Motor_Brems_OK<br />

OK<br />

true


Designflow (Validierung/Verifikation)<br />

27<br />

Erfüllt der <strong>Entwurf</strong> die<br />

Anforderung ?<br />

� Simulation des <strong>Entwurf</strong>s<br />

� Test bestimmter<br />

Sytemfunktionen<br />

� Verifikation durch Nachweis,<br />

dass der <strong>Entwurf</strong> die<br />

Anforderung erfüllt:<br />

� Wird die Anforderung in<br />

allen Systemzuständen<br />

erfüllt ?<br />

� Aufwendig bei großen<br />

<strong>Systeme</strong>n<br />

Verifikation/<br />

Verifikation/<br />

Validierung<br />

Validierung<br />

Aufgabe<br />

Aufgabe<br />

Anforderungs-<br />

Anforderungsanalyse<br />

analyse<br />

Analyse<br />

Analyse<br />

Modelle<br />

Modelle<br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong><br />

Design<br />

Design<br />

Modell<br />

Modell<br />

Text<br />

UML<br />

SDL<br />

Codierung<br />

Codierung<br />

ImplemenImplementationtation


Verifikation<br />

� Umwandlung der formal<br />

spezifizierten Anforderungen<br />

in Überwachungsautomaten<br />

(Observer)<br />

� Untersuchung des<br />

Zustandsraumes<br />

� Generierung <strong>von</strong> Reports über<br />

über die Ursachen für ein<br />

mögliches Fehlverhalten des<br />

Systems<br />

� Kann sehr Zeit- und<br />

Ressourcen-aufwendig sein<br />

� Forschung<br />

28<br />

� kompositionale Ansatz<br />

� Verifikation nach jeder<br />

Verfeinerung<br />

Teststruktur<br />

Teststruktur<br />

Observer<br />

Observer<br />

(MSC/SDL)<br />

(MSC/SDL)<br />

Reports<br />

(MSC)<br />

Analyse<br />

Analyse<br />

Analyse<br />

Analyse<br />

Modell<br />

Modell<br />

Verifikation/<br />

Verifikation/<br />

Validierung<br />

Validierung<br />

<strong>Entwurf</strong>s<strong>Entwurf</strong>sfehlerfehler<br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong>s-<br />

<strong>Entwurf</strong>smodell<br />

modell


Anforderungsanalyse (Sequenzdiagr<strong>am</strong>m)<br />

29<br />

environment Steuerungssystem VorderradSensor HinterradSensor Bremsservo Bremse<br />

Bremsen<br />

(Brems_Wert )<br />

decompos ed<br />

T_Steuerung<br />

(10)<br />

Bremskraft<br />

(Brems_Wert )<br />

V_Vorderrad<br />

(V)<br />

V_Hinterrad<br />

(V)<br />

Servo_Stellzeit<br />

Mechan_Bremskraft<br />

(N)<br />

(10)


Observer<br />

� Überwachungsautomaten<br />

entworfen aus<br />

MSCs (use-cases)<br />

� Beobachten das<br />

Systemverhalten<br />

� Überwachung interner<br />

Zustände und Verhalten an<br />

der Schnittstelle<br />

30<br />

I:=GetPiD('ABS_Process',1)<br />

Begin_Observation<br />

InQueue(I,'Bremsen');<br />

priority 1<br />

Sig_Brems_OK<br />

InQueue(I,'V_Vorderrad');<br />

priority 1<br />

V_VH_OK<br />

InQueue(I,'V_Hinterrad');<br />

priority 1<br />

SET(Now+Zeit,<br />

Brems_Obs_Timer)<br />

Beg_Berechnung<br />

GetState(I)='OK';<br />

priority 1<br />

RESET<br />

(Brems_Obs_Timer)<br />

Report('ABS_Success') Report('ABS_Error')<br />

Begin_Observation<br />

true;<br />

priority 2<br />

-<br />

true;<br />

priority 2<br />

-<br />

true;<br />

priority 2<br />

-<br />

true;<br />

priority 2<br />

-<br />

Brems_Obs_Timer


Designflow (Codierung)<br />

� manuell oder automatisch<br />

� Mapping des <strong>Entwurf</strong>s auf die<br />

Architektur der Hardware<br />

� Verteilen <strong>von</strong> Prozessen auf<br />

Rechnerknoten<br />

31<br />

� Festlegung der<br />

Kommunikationsmedien<br />

� Codeerzeugung für<br />

Zielplattform<br />

� Konfiguration <strong>von</strong><br />

Betriebssystemen<br />

� Problem:<br />

� Erfüllt das System nach<br />

Codierung noch die<br />

Anforderungen<br />

� Forschung<br />

Verifikation/<br />

Verifikation/<br />

Validierung<br />

Validierung<br />

Aufgabe<br />

Aufgabe<br />

Anforderungs-<br />

Anforderungsanalyse<br />

analyse<br />

Analyse<br />

Analyse<br />

Modelle<br />

Modelle<br />

<strong>Entwurf</strong><br />

<strong>Entwurf</strong><br />

Design<br />

Design<br />

Modell<br />

Modell<br />

Text<br />

UML<br />

SDL<br />

Codierung<br />

Codierung<br />

ImplemenImplementationtation


Zus<strong>am</strong>menfassung<br />

� Für sicherheitskritische <strong>Systeme</strong> ist ein modellbasierter<br />

<strong>Entwurf</strong> unumgänglich<br />

� Formale Darstellungen unterstützen die Verständlichkeit<br />

und bieten die Grundlage für rechnergestützte<br />

Korrektheitsbeweise<br />

� Toolunterstützung sichert einen konsistenten<br />

<strong>Systeme</strong>ntwurf, erleichtert die Wiederverwendung und<br />

die Erweiterung <strong>von</strong> bestehenden <strong>Systeme</strong>n<br />

� Ziele in Forschung:<br />

32<br />

� Nachweis der korrekten Codegenerierung<br />

� Formalisierung der Hazard-Analysemethoden für die<br />

Überprüfung der Anforderungsanalyse

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!