0 Fähigkeitspunkte
0 Neuro-Netz Punkte
0 Web-Creator Punkte
0 Daten-Detektiv Punkte

Einführung

Einblick in die Programmierung der Saturn 5

Bevor wir jetzt ein eigenes Programm schreiben um eine Rakete zu steuern gibt es hier einen kurzen historischen Einblick in die Programmierung der Saturn 5 Rakete.

Die Saturn 5 war die Rakete, die im Apollo Programm die Menschen auf den Mond brachte. Sie wurde von NASA für die Mondlandung entwickelt und flog das erste Mal in 1967. Zu dieser Zeit waren Computer eine noch recht neue Erfindung und die Programmierung war noch sehr kompliziert.

Saturn 5 Rakete, [1]
Leiterin der Softwareentwicklung

Margaret Hamilton war eine selbstgelehrte Programmiererin, die am MIT gearbeitet hat, als sie mit der Programmierung des Apollo Guidance Computers beauftragt wurde. Sie war als Leiterin des Projekts verantwortlich für die Entwicklung der Software, die die Rakete während dem Start steuert und auch für die Landung auf dem Mond verantwortlich war.

Da die Programmierung von Computern noch sehr neu war, waren die Ziele der Software noch nicht so klar. Margaret Hamilton war es jedoch besonders wichtig, ein Programm zu schreiben, dass auch unter falschen Eingaben stabil läuft und nicht abstürzt.

Im Rahmen der Entwicklung des Programmes verwendete das Team wichtige Konzepte, die auch heutzutage noch in der Programmierung verwendet werden, um ein Programm zu schreiben, dass auf verschiedenste Fälle so reagieren konnte, ohne die Rakete in Gefahr zu bringen. Unter anderem wurden die Konzepte “Priority Based Scheduling” und “Man in the Loop” in dem Programm verwendet.

Ein wichtiges Konzept, dass bei der Apollo Guidance Software verwendet wurde, war das Abarbeiten von Aufgaben nach Priorität. So wurden Aufgaben nach ihrer Dringlichkeit (Priorität) geordnet und in dieser Reihenfolge bearbeitet. Zum Beispiel war die Aufgabe die Rakete so zu steuern, dass sie nicht abstürzt, wichtiger und wurde zuerst ausgeführt, bevor zum Beispiel eine Warnleuchte im Cockpit angemacht wurde.

Das Programm war so gut geschrieben, dass es später auch noch für andere Missionen als Grundlage der Steuerung genommen wurde (bei anderen Saturn 5 Missionen aber auch bei der Space-Shuttle Software)

Eine andere Idee, die vor allem während der Landung der Mondlandefähre zum Tragen kam, war die Möglichkeit, dass die Astronauten jederzeit die Kontrolle übernehmen konnten und die Entscheidungen des Computers überschreiben konnten, ohne dass auf spezielle Zeitpunkte gewartet werden musste.

Margaret Hamilton neben der ausgedruckten Apollo Flugsoftware, [2]

Um das Programm auf der Rakete zu speichern wurde ein Speicher benötigt, der während des Starts den Belastungen standhalten kann. Zu dieser Zeit war das jedoch schwierig. Der verwendete Speicher bestand aus kleinen Metallringen, die von Hand auf Fäden an der richtigen Stelle aufgefädelt werden mussten. Das hier gezeigte Modul hat eine Speicherkapazität von 256 Bit.

Metallring-Speichermodul der Staurn 5, [5]

Die hier präsentierten Informationen bilden den Grundstein der modernen Softwareentwicklung, vor allem im Hinblick auf Testverfahren und allgemein softwareingenieurstechnische Aspekte.

Wir wollen nun in die Fußstapfen von Margaret Hamilton und ihrem Team treten und unsere eigene Rakete in den Orbit fliegen lassen.

[1] Bild der Saturn 5: commons.wikimedia.org/wiki/File:Apollo_11_Launch_-_GPN-2000-000630.jpg; Abgerufen am 04.08.2022

[2] Bild von Margaret Hamilton: commons.wikimedia.org/wiki/File:Margaret_Hamilton_-_restoration.jpg; Abgerufen am 04.08.2022

[3] history.nasa.gov/alsj/a11/a11Hamilton.html; Abgerufen am 01.08.2022

[4] www.dpma.de/dpma/veroeffentlichungen/aktuelles/patentefrauen/patentefrauen/apollosfrauen/margarethamillton/index.html; Abgerufen am 01.08.2022

[5] Ward, Jonathan H. (2015): Rocket ranch. The nuts and bolts of the Apollo moon program at Kennedy Space Center. Cham, Heidelberg, New York, Chichester, UK: Springer; Praxis Publishing (Springer-praxis books in space exploration).

Video zum Aufbau des Computers der Saturn 5 (auf Englisch):

Video zur Funktionsweise des Guidance Computers mit kurzem Teil zum Scheduling des Computers (auf Englisch):

Einführung Aufstiegsprofil einer Rakete
Vollständig
Planung des Algorithmus Anforderungen an den Algorithmus