Python für sicherheitskritische Systeme?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo disaster
disaster hat geschrieben: Python für ein sicherheitskritisches System
Meine Frage: Um was für ein sicherheitskritische System handelt es sich genau?

a) Drogenverwaltungsprogramm?
b) Medizinische Messgeräte?
c) Geräte für den Einsatz im OP-Saal?

Übrigens: Keine Programmiersprache kann als sicher bezeichnet werden. Hingegen wenn die gleiche Software in zwei verschiedenen Sprachen (egal in welcher) geschrieben wird, welche sich gegenseitig überwacht und auf zwei getrennten Hardare-Plattformen läüft kann schon ein als sicherere bezeichnet werden.

Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

wuf hat geschrieben:Übrigens: Keine Programmiersprache kann als sicher bezeichnet werden. Hingegen wenn die gleiche Software in zwei verschiedenen Sprachen (egal in welcher) geschrieben wird, welche sich gegenseitig überwacht und auf zwei getrennten Hardare-Plattformen läüft kann schon ein als sicherere bezeichnet werden.
Bleiben bloß noch die Probleme, die man durch so eine doppelte Ausführung verursacht. ;)
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo mkesper

Eine einfache Ausführung kann eben auch schon Probleme machen. Aber bei einem Amoklauf des einen muss es vom anderen sicher stillgesetzt werden. Ein System welches gar nicht läuft ist das sicherste!

Gruß wuf :wink:
Take it easy Mates!
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

wuf hat geschrieben:Hallo mkesper

Eine einfache Ausführung kann eben auch schon Probleme machen. Aber bei einem Amoklauf des einen muss es vom anderen sicher stillgesetzt werden. Ein System welches gar nicht läuft ist das sicherste!

Gruß wuf :wink:
Naja, wenn das Sicherheitssystem eines AKW nicht funktioniert (wohl aber der Reaktor selbst) würde mir schon schummrig werden. Und bei modernen Flugzeugen, wo auch die Steuerflächen elektrisch und nicht mehr hydraulisch angesteuert werden ...
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo Pekh
Pekh hat geschrieben:Naja, wenn das Sicherheitssystem eines AKW nicht funktioniert (wohl aber der Reaktor selbst)
Das würde genau bei einem einfachen System der Fall sein. Da würde es mir sogar ein wenig unheimlich werden. Aber bei einem doppelten System nimmt man ja an, dass das eine noch läuf und durch Überwachung des anderen feststellen kann, dass dieses nicht mehr laüft und somit veranlässt, dass die Moderatorstäbe schnellstmöglich in den Reaktor eingeführt werden. So viel ich weiss sind es bei AKW's bis vier unabhängige Systeme die diese Sicherheitsanforderung versuchen sicher zu stellen. Bei Flugzeugen werden vermutlich ähnlich Anforderungen bestehen.

Gruß wuf :wink:
Take it easy Mates!
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Da fällt mir gerade ein...

Ein wichtiger Teil von Sicherheitskritischer SW ist ja der "Was tun wenn's brennt" Teil. Also, wie verhält sich das System, wenn ein Fehler auftritt. Bei AKWs wäre es natürlich wünschenswert, wenn es ausgeschaltet wird, sobald ein Fehler auftritt, und nicht mit korruptem Kontrollsystem weiter läuft.

Bei den Ampelschaltungen in Münster ist es hingegen so, dass sie bei einem Fehler alle auf Dauergrün schalten. In alle Richtungen!
http://www.westfaelische-nachrichten.de ... n_aus.html

Geht ja mal gar nicht. Wer hat den Quatsch bloß verbrochen. Zum Glück wurde niemand verletzt!
desaster
User
Beiträge: 5
Registriert: Donnerstag 25. März 2010, 19:58

Hallo,

danke für eure zahlreichen Antworten.
Meine Frage: Um was für ein sicherheitskritische System handelt es sich genau?

a) Drogenverwaltungsprogramm?
b) Medizinische Messgeräte?
c) Geräte für den Einsatz im OP-Saal?
Es handelt sich um Medizinische Messgeräte.
Jede SW, die mit dem Gerät oder Komponenten des Gerätes in Berührung kommt, muss validiert werden (egal ob Firmware oder PC seitige SW).

Danke
desaster
Zuletzt geändert von desaster am Freitag 26. März 2010, 12:53, insgesamt 1-mal geändert.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Ts. Und ich rege mich immer ueber die Ampeln bei uns auf, die bei null Verkehr fuer alle rot anzeigen, sodass man garantiert immer erstmal bremsen muss, wenn man auf die Kreuzung zufaehrt...

Edit: desaster, hast du den BBC-Code in deinen Posts deaktiviert? Deine Quotes sind irgendwie kaputt...
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

...... Die Anforderungen an Sicherheitssysteme von Luftseilbahnen ist auch enorm hoch. Es gibt nichts unschöneres als eine Luftseilbahnkabine beladen mit 100 Personen welche mit 10m/s unverzögert in eine Station einfährt.

Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Naja, jetzt werden wir reichlich off-topic.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

..... Nein. Gerade hier kann Python richtig eingesetzt etwas entgegenwirken!

Grß wuf :wink:
Take it easy Mates!
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Ich denke nicht, dass man Sicherheit durch die gewählte Programmiersprache erzielt. Obwohl in Sicherheitssystemen gerne auf streng typisierte Sprachen wie Ada zurückgegriffen wird.

Am Ende sind es die gewählten Methoden und Verfahren, die ein System sicher machen.

Das fängt an bei einem durchgängig dokumentierten Entwicklungsprozess, wie oben beschriebn.
Dann beispielsweise der Einsatz von Prüfsummen in Kommunikationsprotokollen.
Oder mehrkanalige Rechnersysteme.

Unangenehm stelle ich mir bei Python vor, die ganzen Exceptions abzufangen, um dann die in Sicherheitssystemen meist gewünschte sichere Rückfallebene einnehmen zu können.
lunar

@hendrikS: Ich denke, dass liegt vor allem daran, dass man bei Ada bereits auf eine zertifizierte Laufzeitumgebung und eine zertifizierte Toolchain zugreifen kann, und somit einen Teil der Verifikationsarbeit „auslagern“ kann.

Das genau mag bei Python problematisch sein. Wenn „jede Softwarekomponente muss validiert werden“ wirklich so gemeint ist, dann bedeutet das doch, dass man erst mal die verwendete Python-Laufzeitumgebung inklusive der verwendeten Standardbibliothek testen und validieren muss, bevor man überhaupt nur daran denken kann, die komplette Anwendung in Python zu entwickeln. Und je nachdem, was „Validierung“ bedeutet, kann das schwierig bis unmöglich sein. Angenommen, die Vorschriften zur Validierung verlangen, dass zu jedem Zeitpunkt und zu jeder Methode, Funktion, etc. der Rückgabetyp bestimmt werden kann …

Die Ausnahmen sind noch das geringste Problem, das lässt sich durch die Mittel der Standardbibliothek lösen.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

hendrikS hat geschrieben:Unangenehm stelle ich mir bei Python vor, die ganzen Exceptions abzufangen, um dann die in Sicherheitssystemen meist gewünschte sichere Rückfallebene einnehmen zu können.
Immer noch besser als irgendwo die Abfrage zu vergessen und dann mit Null-Pointern zu hantieren (wie in C).
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Ich werfe mal noch die Beweisbarkeit von Programmen in den Raum. Hier haben funktionalen Sprachen die Nase vorn.
Ada ist der Klassiker und wird seit Jahrzehnten von der NASA/Army für sicherheitkritische Systeme eingesetzt.
Fehlt noch die Hardware, wenn mich nicht alles täuscht, gilt der Motorola 68k inzwischen als bewiesen.

Für Python ist mir jedoch hinsichtlich spezieller sicherheitkritischer Überlegungen nichts bekannt.
Antworten