Technische Universität München, Wintersemester 2002/2003

Hauptseminar Analyse von Softwarefehlern
-
Softwarefehler in der Logistik am Beispiel des Denver International Airport Gepäcktransportsystems

Norbert Drexl - drexln@in.tum.de
Sebastian Hans - hanss@in.tum.de
Stefan Käck - kaeck@in.tum.de

Inhalt

  1. Die Ausgangssituation
  2. Das Gepäcktransportsytem von BAE
    1. Der Auftrag an BAE
    2. Ziele
    3. Funktionsweise
    4. Komponenten
  3. Probleme
    1. Planungstechnische Probleme/Versäumnisse
    2. Technik
    3. Komplexität
  4. Folgen
    1. Funktionalität
    2. Verzögerungen
    3. Kosten
  5. Zusammenfassung
  6. Andere Fehler
    1. Am Denver International Airport
    2. An anderen Flughäfen
    3. Andere Logistik-Fehler
  7. Daten zu Großprojekten
  8. Referenzen

Die Ausgangssituation

Als 1989 in Denver ein neuer Flughafen, der Denver International Airport (DIA), gebaut werden sollte, wurde die Größenordnung dieses Projekts mit der des Panama-Kanals oder des Tunnels unter dem English Channel verglichen. Der Flughafen umfasst eine Fläche von 53 Quadrat-Meilen und sollte 1,7 Milliarden Dollar kosten. Grundsteinlegung war im September 1989, die Eröffnung war für den 31. Oktober 1993 geplant.

Ursprünglich gingen die Behörden davon aus, dass jede der Fluggesellschaften ihr eigenes Gepäcktransportsystem bauen würde.

Zurück zum Seitenanfang

Das Gepäcktransportsytem von BAE

Der Auftrag an BAE

United Airlines, mit ca. 70% Anteil am Luftverkehr die größte Fluggesellschaft in Denver, war die einzige, die tatsächlich die Planung eines Gepäcktransportsystems in Angriff nahm, während die anderen Fluglinien in dieser Richtung keinerlei Anstrengungen unternahmen: Nachdem sich United Airlines im Juni 1991 endgültig entschieden hatte, den DIA zu ihrem zweitgrößten Umschlagspunkt zu machen, begann man, zusammen mit Boeing Airport Equipment Automatic Systems Inc. (BAE), ein automatisiertes Transportsystem zu planen.

Als nun der Stadt Denver auffiel, dass keine der anderen Fluglinien ein Gepäcktransportsystem geplant hatte, wurde der Auftrag an BAE auf das gesamte Flughafengelände ausgedehnt. Die geschätzten Kosten für diese allumfassende Version betrugen 193 Millionen Dollar.

Zurück zum Seitenanfang

Ziele

Fast alle Ziele, die zur Auswahl eines automatisierten Transportsystems und von da zu dem gewählten Design führten, können in einem Wort zusammengefasst werden: Geschwindigkeit. Genauer: Die Bodenzeiten würden drastisch verkürzt, die Passagiere müssten nicht mehr auf ihr Gepäck warten, da es immer schon vor ihnen bei der Gepäckausgabe ankäme, und die zeit- und arbeitsintensive manuelle Sortierung der Gepäckstücke würde obsolet. Bei den riesigen Entfernungen (Concourse C ist eine ganze Meile vom Terminal entfernt, Concourse B alleine ist schon 0,7 Meilen lang) hätte ein traditionelles Transportsystem einfach nicht ausgereicht.

Ein weiterer Grund für die Entscheidung gegen ein traditionelles System und für das vollelektrische war, dass die bisher verwendeten, manuell gesteuerten Gepäckwägen Diesel-Motoren hatten und die Fahrer und andere Arbeiter in den schlecht gelüfteten unterirdischen Tunnels wahrscheinlich erstickt wären. Selbst wenn ausreichende Ventilationsschächte eingebaut worden wären, wären die großen Sammelwägen in den schmalen Tunnels stecken geblieben.

Zurück zum Seitenanfang

Funktionsweise

Beim Check-In wird jedem Gepäckstück ein eindeutiges Barcode-Label aufgeklebt, das alle nötigen Informationen wie Passagieridentifikation, Flugnummer, Zielflughafen und Zwischenstationen enthält, und das Gepäckstück wird auf ein Transportband gelegt. Dann wird der vom Tracking-Computer mittels im ganzen Tunnel-System verteilten photo-elektrischen Sensoren ermittelte nächste leere Wagen zur Aufnahme geschickt. Wenn dieser sich nähert, bremst er auf 4,5mph ab, und das Gepäckstück wird genau in dem Augenblick vom Transportband mit einer Art Kanone in die T-Kreuzung geschleudert, wenn der Wagen vorbeifährt. Dieser fängt das Gepäck auf und beschleunigt wieder auf seine normale Geschwindigkeit von 19mph. Durch diese Art des Beladens wird nicht nur der Durchsatz wesentlich erhöht, es wird auch noch Energie gespart.

Während der Wagen das Gepäck auffängt, liest ein Barcode-Scanner das daran angebrachte Label und sendet die Zuordnung Gepäckstück <-> Wagen an den Sortier-Computer, der die Flugnummer in einer Tabelle nachschlägt und die dort gespeicherte Routing-Information an einen Führungs-Computer weitergibt. Dieser kommuniziert über Funk mit dem Wagen. Mittels programmierbaren Logik-Controllern, die die Weichen bei den Auf- und Abfahrten stellen, wird jeder Wagen zu seinem Ziel gelenkt.

Die Führungs-Computer haben auch die Aufgabe, die Flugsteig-Zuordnungen zu verfolgen, für den Fall, dass Änderungen auftreten, blockierte Schienen und Ausfälle zu erkennen und zu umschiffen und Gepäckstücke eventuell zu speziellen Inspektionsstationen umzuleiten.

Das System mit seinen zwei gegenläufigen geschlossenen Bahnen und redundanten Querverbindungen sollte 18 Stunden am Tag mit 99,5% Auslastung - über tausend Gepäckstücke pro Minute - arbeiten können und wurde (trotz Warnungen von BAE) von nur 18 DIA-Technikern betrieben. Außerdem war das System bis auf die Koordination mit der Flugreservierung unabhängig von anderen Systemen im Flughafen, was es relativ robust gegenüber Ausfällen in anderen Bereichen machen sollte.

Zurück zum Seitenanfang

Komponenten

Zurück zum Seitenanfang

Probleme

Planungstechnische Probleme/Versäumnisse

Zurück zum Seitenanfang

Technik

Zurück zum Seitenanfang

Komplexität

Ein grundlegendes Problem bei dem ganzen Projekt war die riesige Komplexität. Laut Richard de Neufville war das nicht die nächste Generation von Gepäcktransportsystemen sondern eher ein Sprung von der dritten zur fünften oder sechsten Generation. Dazu kam noch, dass, wie oben erwähnt, von den Komponenten erwartet wurde, dass sie auch an ihrer Leistungsgrenze noch gut funktionieren. In einem derart komplexen System mit so enger Kopplung zwischen den einzelnen Komponenten führt der Ausfall von einer Komponente sofort zum Ausfall von anderen.

Faktoren, die zur Erhöhung der Komplexität beitrugen, waren unter anderem die Tatsachen, dass das System zunächst nur für eine Fluggesellschaft gedacht war, aber plötzlich einen ganzen Flughafen versorgen sollte, und dass ständig irgendwelche Änderungswünsche der einzelnen Fluglinien vorlagen, mehrmals die Software-Architektur einzelner Komponenten geändert wurde und daher, bedingt durch die enge Kopplung aller Teilsysteme, Änderungen anderswo notwendig wurden.

Ein Beipiel für die Komplexität des ursprüglichen System-Entwurfs ist die Kette von Prozessen, die nötig ist, um einen leeren Wagen von einem Ort im Schienennetz zu einem anderen zu bringen. Dieser scheinbar einfache Vorgang muss bei normaler Auslastung bis zu tausend Mal in der Minute stattfinden. Da sich die Nachfrage nach leeren Wägen ständig ändert, wenn Flugzeuge ankommen bzw. abfliegen, müssen die Wägen häufig die Richtung ändern oder auf eine andere Schiene oder in eine andere Schleife im Netz wechseln. Beispielsweise muss ein Wagen etwa auf eine Schiene mit entgegengesetztem Verkehr wechseln, indem er an einer Spezial-Abfahrt abbiegt, an einer Unterführung unter die Schienen abtaucht und sich in den Verkehr in der richtigen Richtung einordnet. Dann muss er bei der richtigen Abfahrt raus, nur um vielleicht wieder Schienen zu wechseln, bis er endlich bei der richtigen Lade-Station ist, genau zur richtigen Zeit, um während der Fahrt ein dahergeschleudertes Gepäckstück aufzufangen. Diesen Vorgang muss der Computer in tausend Variationen tausend Mal in der Minute steuern, schnell und fehlerfrei. Dabei wird schon das Einordnen alleine zum Problem, wenn gerade viele Wägen unterwegs sind. Dann müssen die Wägen, die sich einordnen wollen, auf speziellen Schienen warten. Die Länge dieser Schienen ist begrenzt. Wenn eine davon voll ist, müssen alle 300 Führungs-Computer das sofort bemerken und den Verkehr umleiten. Ralph Doughty, Vice President of Engineering bei BAE sagt dazu: "It's like taking a city with 4 000 cars and no drivers in them. We have to be able to control all these cars when they come to an intersection."

Genau das konnten sie nicht, als im März 1994 ein Testlauf für einige Mediengruppen durchgeführt wurde: Fehler im ganzen System zerstörten Taschen und warfen Koffer aus den Wägen. Wägen entgleisten und fuhren ineinander, Koffer flogen wie Popcorn, manche zerbrachen und verteilten Unterwäsche in alle Richtungen. Schienen wurden bei Zusammenstößen verbogen. Wägen blieben einfach stehen oder kamen nicht, wenn sie gerufen wurden. Besonders an Kreuzungen gab es Massenkarambolagen. Manche Wägen wurden von der eigenen Fracht blockiert oder von herumliegenden Kleidungsstücken, die von anderen aus zerrissenen Taschen verstreut worden waren, und wurden so zu Auslösern weiterer Crashes. Die meisten Wägen mit unlesbaren Barcodes wurden zu Haltestationen geleitet. Andere Wägen, die wussten, wohin sie sollten, kollidierten mit welchen, die es nicht wussten.

Zurück zum Seitenanfang

Folgen

Funktionalität

Das endgültige System beschränkt sich auf einen der drei Concourses: Concourse B von United Airlines. Obwohl das System für Concourse C funktioniert hatte, wurden dessen Komponenten auseinandergenommen und zu Concourse B hinzugefügt, bei dem es nicht funktionierte. Viele Fluggesellschaften protestierten dagegen, wurden aber informiert, dass die Concourses A und C ein traditionelles Transportsystem bekommen würden. Dieses von der Rapistan Demag Corp. gebaute System war eigentlich nur als Backup-System für den ganzen Flughafen gedacht gewesen, für den Fall, dass das automatisierte System ausfiele. Jetzt wurde es aber zum Hauptsystem für Concourses A und C.

Die Kapazität des automatisierten Systems wurde auch erheblich eingeschränkt: Die 60 Wägen pro Minute pro Schiene wurden auf 30 reduziert. Außerdem wird lediglich die Hälfte der 84 Gates von dem neuen System bedient, und auch das nur für Flüge mit Anfangs- oder Endstation Denver. Gepäck für Zwischenlandungen wird wie bei den anderen Fluglinien manuell abgefertigt. Insgesamt arbeitet das System nur mit 12% der geplanten Kapazität.

Zurück zum Seitenanfang

Verzögerungen

Die Eröffnung des DIA musste viermal verlegt werden: Zuerst vom geplanten Eröffnungsdatum, dem 31.10.1993, auf den 19.12.1993, um hunderte Systeme für sieben Wochen debuggen zu können. Ende Oktober kündigte der Denver Bürgermeister Wellington Webb die zweite Verlegung auf den 09.03.1994 an, um Änderungen der Fluggesellschaften zu realisieren, kritische Systeme zu testen, etc. Eine Woche vor der geplanten Eröffnung wird die dritte Verlegung angekündigt: Wegen Problemen mit dem Gepäcktransportsystem soll die Eröffnung erst am 15.05.1994 stattfinden. Zu dieser Zeit wird die deutsche Firma Logplan zur Beratung hinzugezogen. Anfang Mai verkündet Webb schließlich, dass die Eröffnung um unbestimmte Zeit verschoben wird. Eineinhalb Monate später wird ein Vier-Schritte-Plan aufgestellt:
  1. BAE muss einen Gesamt-Zeitplan aufstellen.
  2. Logplan und die Stadt Denver müssen den Plan evaluieren und verschiedene Tests durchführen, um festzustellen, wie realistisch er ist.
  3. Denver muss sich mit den Fluggesellschaften beraten.
  4. Das Gepäcktransportsystem muss eine unbestimmte Zeit lang mit einer akzeptablen Zuverlässigkeit funktionieren.
Erst, wenn diese vier Schritte abgeschlossen sind, soll ein neuer Termin für die Flughafen-Eröffnung angesetzt werden. Am 22.08.2994 wird schließlich endgültig der Eröffnungstag festgelegt: der 28.02.1995.

Zurück zum Seitenanfang

Kosten

Für das zusätzliche traditionelle Transportsystem fielen 71 Millionen Dollar an. Die endgültigen Kosten für das Transportsystem (inklusive des traditionellen Ersatz-Systems) beliefen sich auf 311 Millionen Dollar, also 118 Millionen Dollar mehr als anfangs geschätzt. Die 16 Monate Verspätung kosteten jeweils 33,3 Millionen Dollar. Insgesamt waren die tatsächlichen Kosten für den Flughafen mit ca. 4,5 Milliarden Dollar mehr als doppelt so groß als die ursprüglich geplanten 1,7 Milliarden.

Um diese Verluste wieder wettzumachen, verlangte der DIA von allen Fluglinien eine Gebühr von 20 Dollar pro Passagier. Das machte den DIA zum teuersten Flughafen Amerikas. (Zum Vergleich: Stapleton verlangte acht Dollar pro Passagier).

Zurück zum Seitenanfang

Zusammenfassung

Gründe für den Misserfolg waren:

Zurück zum Seitenanfang

Andere Fehler

Am Denver International Airport

Zurück zum Seitenanfang

An anderen Flughäfen

Zurück zum Seitenanfang

Andere Logistikfehler

Zurück zum Seitenanfang

Daten zu Großprojekten

Fehler in der Software-Industrie sind oft so bemerkenswert, weil sie erstens häufig auftreten, zweitens meist spektakulär sind, und weil meistens viel Geld dranhängt. Eine Statistik der IBM Consulting Group schätzt, dass Das ergibt eine hohe Wahrscheinlichkeit des Scheiterns bereits beim Start eines Großprojekts.

Danach stellt sich aber ein noch größeres Problem. 45-80% der Kosten für ein System entstehen nämlich erst durch die nötigen Wartungsarbeiten. Es muss also schon beim Design eines Systems auf Wartbarkeit geachtet werden.

Zurück zum Seitenanfang

Referenzen

Zurück zum Seitenanfang