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