8 - Grundlagen der Informatik [ID:1515]
50 von 458 angezeigt

Ja, wunderschönen guten Nachmittag. Schön, dass Sie wieder da sind. Ich habe Ihnen heute

zur Einstellung ein kleines Video mitgebracht. Wir hatten uns ja gestern unterhalten über die

Datendarstellung, die Anzahl der Bits und Bytes, die man so braucht. Da Sie immer so sagen,

nach technischen Anwendungen lächzen, dann hier mal das Beispiel.

Ja, das war also leider nicht so westlich.

Das war in Coru, man hat vielleicht an dem Kommentator gehört, französisch, das war die

Ariane 5 der Jungfernflug. Die Ariane 5 war eine Weiterentwicklung der Ariane 4 und hat sich vor

allen Dingen durch höheren Schub ausgezeichnet. Und da die Ariane 4 so erfolgreich war, es war

durch keinen Befehl stattgefahren, hat man gleich beim Jungfernflug der Ariane 5 zwei Satelliten

mitgeschickt, je 800 Millionen Euro teuer. Und dieser ganze Spaß, den Sie jetzt gerade gesehen

haben, hat so ungefähr zwei Milliarden Euro gekostet. So, die Frage, was ist da schiefgegangen

und was hat das sozusagen mit unserem Thema zu tun?

Das ist der Programmcode von Ariane 5, ein kleiner Ausschnitt, es sind mehrere Millionen

Zeilenprogrammcode und das ist in der Programmiersprache geschrieben, die heißt Ada, Ada war der Vorname

der Countess of Laughless und die hat dem berühmten Charles Babbage geholfen, seine analytical

Maschinen, den erstmechanischen Rechner zu programmieren und eine der wichtigsten Frauen

in der Informatik und jetzt er ist also diese Programmiersprache genannt worden. Das Problem,

das auftritt, hängt aber nicht direkt mit der Programmiersprache zusammen, das wäre

in der anderen wie C oder C++ ganz ähnlich passiert. Wenn Sie sich hier diesen Programmcode

angucken, dann interessiert uns jetzt hier diese eine Zeile, da sehen Sie, dass es da

auch noch eine variabliche Horizonte Velocity Sensor, also die horizontale Beschleunigung,

die Querbeschleunigung dieser Rakete und das ist die Lagesteuerung und die wird offenbar

konvertiert nach Integer, das sehen Sie Integer, Klammer auf, dann kommt dieser Variabelname,

Klammer zu, in eine variable Horizonte Velocity Bias, also so ein Versatz und für die Ariane

4 hat man da dann entsprechende Tests gemacht und da hat man durch diese Tests gesehen,

dass diese Konvertierung nie zu einem Laufzeitfehler geführt hat und deswegen hat man hier oben

drüber in der Programmiersprache Ada eine Optimierung abgeschaltet, sozusagen versucht,

das Programm schneller zu machen und an dieser Stelle sieht man da steht so ein Pragma Suppress,

Pragma ist so eine Anweisung und dieses Suppress heißt unterdrücken und zwar soll numerische

Fehler, numerical errors für die variable Horizonte Velocity Bias nicht beachtet werden,

das heißt im Programm hat man gesagt, wenn da ein Fehler auftritt, muss ich nicht drum

kümmern, in der Idee, das treten keine Fehler auf, also können wir Überprüfung zur Laufzeit

sparen und das Programm damit dann entsprechend schneller machen und das ungeschickte war

dann, dass an dieser Stelle hier unten es eine Exception gibt, wenn numeric error, dann

Calculate Vertical Velocity, also wenn so ein numerischer Fehler aufgetreten wäre und der

abgefangen worden wäre, dann hätte man an dieser Stelle tatsächlich neu berechnet,

diese vertikale Geschwindigkeit von der Rakete und da das nicht gefallen ist, hat man aber

dieses Use IRS 1 benutzt und das ist leider dann entsprechend aufgerufen worden, diese

Routine.

So warum war das so, die Ariane 5 hatte einfach verstärkte Triebwerke und hat ungefähr eine

vierfache Geschwindigkeit an der Stelle von dem Unglück gehabt, also das persönlich,

dass die Ariane 4 jeweils da geflogen ist und an dieser Stelle hier sind einfach die

Messwerte von den Sensoren so groß gewesen, dass sie nicht mehr in eine Integer Variable

reingepasst hätten, das heißt, hätte da jemand da oben an dieser Stelle statt Integer,

Float oder Double geschrieben, hätte man zwei Milliarden Dollar gespart.

Also der Variablenüberlauf, also sozusagen das falsche Datum, die falsche Datentyp hat

dazu geführt, dass so ein Variablenüberlauf stattfinde, der ist von der Exception nicht

abgefangen worden, da es noch baugleiche Systeme gab, die aber die gleiche Software verwendet

haben, ist der Fehler dort genauso aufgetreten, man hat also nur mit Hardware-Fehler, nicht

mit Software-Fehlern gerechnet und offenbar wurde also dieses Software von dieser Ariane

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:42:42 Min

Aufnahmedatum

2011-05-25

Hochgeladen am

2018-05-07 14:49:50

Sprache

de-DE

Einführung in UNIX/Linux Einführung in die Programmierung mit Java Grundlagen der Rechnerarchitektur Programmiersprachen: von der Maschinensprache zur Objektorientierung Objektorientierte Programmierung Datenstrukturen und Algorithmen: Suchen und Sortieren, Listen, Keller, Bäume Internet, Verteilte Systeme

Einbetten
Wordpress FAU Plugin
iFrame
Teilen