Analyse der Apollo-Navigationscomputer hinsichtlich ihrer Softwarequalität und Robustheit Diplomarbeit MatthiasSeidel Matr.-Nr.730716 UniversitätPotsdam 15.Juni2016 ErsterGutachter ZweiterGutachter Prof.Dr.GerritKalkbrenner Prof.Dr.HorstZuse Selbstständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig angefertigt, nicht anderweitig zu Prüfungszwecken vorgelegt und keine anderen als die angegebenen Hilfsmittel verwendet habe. Sämtliche wissentlich verwendeten Textausschnitte, Zitate oder Inhalte anderer Verfasser wurden ausdrücklich als solche gekennzeichnet. Berlin,15.Juni2016 MatthiasSeidel Danksagung MeinDankgebührtmeinenBetreuern,diemichstetstatkräftigunterstützthaben:HerrnProf.Dr.HorstZuseund HerrnProf.Dr.GerritKalkbrenner. Mein Interesse am Apollo-Programm geht bis in meine Kindheit zurück. Durch ein Seminar bei Herrn Prof. ZusewurdeichauchaufdenAspektderComputerdesApollo-Programmsaufmerksam.HerrProf.Zusewarstets fürmichdaundhatmirbeiderBeantwortungzahlreicherFragenaußerordentlichweitergeholfen.Ebensohatmich Herr Prof. Kalkbrenner in meinem Vorhaben stets mit großem Engagement unterstützt und mir eine Vielzahl an thematischenRatschlägengegeben. NichtzuletztgebührtmeinDankmeinerKommilitoninSuzanne,diemirinzahlreichenfruchtbarenDiskussio- nenwertvolleAnregungengebenkonnte. Zusammenfassung Diese Arbeit untersucht die Navigationscomputer des Apollo-Programms, im Besonderen den Apollo Guidance Computer.Dieserwirdsowohlhardware-alsauchsoftwareseitigbeschriebenundanhandveröffentlichterDoku- mentederNASA,desMITundweitereranderEntwicklungbeteiligterInstitutionen,sowieeigenerAnalysenauf seineFähigkeitenundRobustheithinanalysiert.DieGefahrenfürComputerinderbemanntenRaumfahrtwerden beschriebenunddieBesonderheiten,diesichdarausergeben,werdenerörtert.DarüberhinauswerdendieBeson- derheitenvonBenutzerschnittstelleninderbemanntenRaumfahrtanhanddesBeispielsdesBenutzerinterfacesdes Apollo Guidance Computers dargestellt. Um diese umfangreiche Thematik adäquat erörtern zu können, wird in dieserArbeiteinvielschichtigerAnsatzverfolgt:SowohleineVielzahlverfügbarerhistorischerDokumentewer- denfürdieUntersuchungherangezogenalsauchAnalysenmiteigenszudiesemZweckerstelltenProgrammenund mitMethodenderSoftware-Analytik.Dadurchwirdgezeigt,wiedieEntwicklungdesApolloGuidanceComputers spätereVerfahrenzurzuverlässigenErstellungvonHard-undSoftwarefürdiebemannteRaumfahrtbeeinflussthat. DementsprechendwerdenauchheutigeComputerderbemanntenRaumfahrtbeschrieben.DaderApolloGuidance ComputerkeinisoliertarbeitendesSystemwar,werdenaucheinzelneComputerderBodenstationvorgestellt.Der inden1960er-JahrenstattfindendeParadigmenwechselimComputerbereichhinzuTime-Sharing-Systemenwird ebenfalls behandelt, da dieser sich auf die Navigationscomputer des Apollo-Programms auswirkte. Am Beispiel vonFly-By-Wire-SystemenwirdschließlicheindirektesResultatderEntwicklungdesApolloGuidanceCompu- tersdargestelltundeinAusblickaufdiemöglicheweitereEntwicklunggegeben. Inhaltsverzeichnis Seite 1 Einleitung ............................................................................... 11 1.1 Themen............................................................................. 12 1.1.1 Thesen........................................................................ 12 1.2 Methoden........................................................................... 12 1.2.1 HistorischeDokumente.......................................................... 13 1.2.2 Berichte....................................................................... 13 1.2.3 Analysen...................................................................... 14 1.2.4 AnfragenanBeteiligte .......................................................... 14 2 GeschichtederComputerentwicklung ........................................................ 15 2.1 IBM ............................................................................... 15 2.1.1 IBM360 ...................................................................... 15 2.2 Betriebssysteme...................................................................... 17 2.3 Mensch-Maschine-Schnittstellen........................................................ 19 2.4 NASA.............................................................................. 19 2.5 MöglicheVerknüpfungen.............................................................. 19 3 DieAnfängedesApollo-Programms ......................................................... 21 3.1 DasMercury-Programm............................................................... 21 3.1.1 JohnF.KennedyundderBeginnvonApollo ........................................ 22 3.2 DasGemini-Programm................................................................ 23 3.3 DasApollo-Programm ................................................................ 23 4 Navigationsberechnungen .................................................................. 25 5 DieComputerdesApollo-Programms-Übersicht .............................................. 26 5.1 Planung............................................................................. 27 5.2 Durchführung ....................................................................... 27 6 RTCC ................................................................................... 29 7 AGC .................................................................................... 31 7.1 DieEntwicklungdesApolloGuidanceComputers......................................... 33 7.2 Funktionsüberblick ................................................................... 38 7.3 Speicher ............................................................................ 39 7.4 Register ............................................................................ 40 7.5 Software............................................................................ 41 7.6 DisplayandKeyboard(DSKY)......................................................... 42 7.7 BetriebssystemExecutive.............................................................. 44 7.8 AbortGuidanceSystem ............................................................... 45 8 LVDC................................................................................... 47 8.1 SaturnV............................................................................ 47 8.2 InstrumentUnit ...................................................................... 49 8.3 DieTechnikdesLVDC................................................................ 50 9 NavigationsnetzwerkedesApollo-Programms ................................................. 52 9.1 MSFN.............................................................................. 52 9.2 DSN ............................................................................... 53 9.3 CCATS............................................................................. 55 10 ZuverlässigkeitderApollo-Computer ........................................................ 57 10.1 DerVan-Allen-Strahlungsgürtel ........................................................ 57 11 AnalysenderSoftwaredesAGC............................................................. 61 11.1 Vergleichsmöglichkeiten .............................................................. 62 11.2 AGC-Quellcode...................................................................... 63 11.3 ProgrammeundRoutinenimAGC-Quellcode ............................................ 64 11.4 DieSprachedesAGC-Quellcodes....................................................... 65 11.4.1YUL-Assembler................................................................ 66 11.4.2Interpreter..................................................................... 66 11.5 Software-Messverfahren............................................................... 67 11.5.1KomplexitätnachHalstead....................................................... 68 11.5.2ZyklomatischeKomplexitätnachMcCabe .......................................... 69 11.5.3Verständlichkeit ................................................................ 69 11.5.4Sprungweiten .................................................................. 70 11.5.5GeeigneteCode-MetrikenfürdenAGC-Code ....................................... 70 11.6 WerkzeugezurAnwendungvonSoftware-Metriken........................................ 70 11.6.1Quantitätsanalysen.............................................................. 70 11.6.2Häufigkeitsanalysen............................................................. 71 11.6.3Komplexitätsanalysen ........................................................... 71 11.6.4Qualitätsanalysen............................................................... 74 11.7 DurchführungderAnalysen............................................................ 75 11.8 ErgebnissederAnalysen .............................................................. 77 11.8.1Quantität...................................................................... 77 11.8.2Häufigkeit..................................................................... 78 11.8.3Funktionsgrößen ............................................................... 82 11.8.4Metrik-BerechnungennachHalstead............................................... 82 11.8.5Metrik-BerechnungennachMcCabe............................................... 84 11.8.6Sprungweiten .................................................................. 87 11.8.7QualitätsanalysenderAGC-Software .............................................. 88 11.9 Programmumfang.................................................................... 92 11.10Versionsvergleich.................................................................... 94 11.11DerLinux-Kernel.................................................................... 94 11.11.1Quantität..................................................................... 94 11.11.2Komplexität .................................................................. 96 11.11.3Funktionsgrößen .............................................................. 100 11.12 SchlussfolgerungenausdenAnalysen .................................................. 100 12 AblaufderMondlandungen................................................................. 101 12.1 Apollo11 ........................................................................... 101 12.2 Apollo13 ........................................................................... 102 13 DasErbedesApollo-Programms ............................................................ 102 13.1 Fly-by-Wire ......................................................................... 102 13.2 Deep-SubmergenceRescueVehicle ..................................................... 103 13.3 EingebetteteSysteme ................................................................. 103 14 TechnikaktuellerNASA-Missionen.......................................................... 104 15 Zusammenfassung ........................................................................ 107 16 Anhang.................................................................................. 109 16.1 ListederSterneimAGC .............................................................. 109 16.2 WichtigeVerbsundNouns............................................................. 110 16.3 BefehlssatzdesAGC ................................................................. 110 16.4 ListederProgrammeinColossus ....................................................... 111 16.5 ListederProgrammeinLuminary....................................................... 113 16.6 Abkürzungen ........................................................................ 116 16.7 Halstead-Analyseprogramm............................................................ 117 16.8 McCabe_AGC....................................................................... 125 16.9 McCabe_Assembler .................................................................. 129 16.10Perl-SkriptzurUmwandlungdesAGC-CodesinanalysierbarenC-Code ...................... 135 16.11Perl-SkriptzurRückübersetzung ....................................................... 137 16.12Sed-SkriptzurErmittlungvonInterpreter-Befehlen/Argumenten ............................ 139 17 Abbildungsverzeichnis..................................................................... 141 Literatur .................................................................................... 143
Description: