actual speed tactical trainer ("astt")


Ausgangspunkt war ein notleidendes Softwareprojekt:
Der Kunde hatte bei einem ausländischen IT-Consulting einen Simulator entwickeln lassen, ein verteiltes System, welches auf mehreren Workstations läuft. Eine zentrale Komponente des Simulators war der postal service, der den Nachrichtenaustausch zwischen den einzelnen Komponenten des Simulators und den beteiligten Rechnern vornimmt. Dieser postal service war dem Nachrichtenaufkommen im Normalbetrieb durchaus gewachsen. Sobald es jedoch im Vorfeld von Kampfhandlungen hektisch wurde und das Nachrichtenaufkommen (durch Tastendrücke etc.) steil anstieg brach der postal service leider zusammen. Das ursprüngliche Entwicklungsteam war nicht mehr greifbar, die Dokumentation rudimentär, die Lage prekär.
Das Vorgehen erfolgte in zwei Teilaufträgen:
  • Analyse
    Der Quelltext des postal service wurde einer rigorosen statischen Analyse unterzogen, um die Schwachstellen herauszufinden. Dabei zeigten sich schwere Designfehler, die bei hohem Nachrichtenaufkommen deadlocks auslösten und das System so zum Zusammenbruch brachten.
    Die so gewonnen Ergebnisse habe ich in einer Dokumentation zusammengeschrieben. Diese enthielt auch ein Kapitel "Wege aus dem Sumpf", in dem ein robusterer postal Service konzipiert wurde.

  • Redesign
    Mit den aus der Analyse gewonnen Erkenntnissen habe ich den postal Service dann so überarbeitet, daß er jedem noch so starken Nachrichtenaufkommen gewachsen war. Erreicht wurde das durch geschickten Einsatz von Interprozeß-Kommunikation und sich dynamisch vergrößernde Ringspeicher im shared memory mit Zugriffsteuerung durch Semaphore.

Zurück zur Projektübersicht
Letzte Änderung: 19.05.2019 17:48