40 Jahre Software-Engineering

Wertstoff Legacy-Code - Rette ihn, wer kann

20.08.2008
Von Ernst Schierholz

Fazit

Nach Berechnungen von Ernst Schierholz repräsentiert der in Deutschland erstellte Code einen Billionen-Euro-Wert.
Nach Berechnungen von Ernst Schierholz repräsentiert der in Deutschland erstellte Code einen Billionen-Euro-Wert.
Foto: Ernst Schierholz

Angesichts vieler Milliarden Codezeilen, die weltweit im Einsatz sind, tut eine IT-Modernisierung not. Diesen Prozess zu automatisieren ist eine enorme Herausforderung, weil komplexe - nicht nur technische, sondern auch semantische - Transformationen bewältigt werden müssen. Deshalb sollte künftig schon das Software-Engineering Sorge tragen, dass die spätere IT-Modernisierung wirtschaftlicher und einfacher wird. (qua)

Eine Softwarefabrik im Jahr 2048

Die freundliche Dame in der Eingangshalle der PSC (Planetary Software Corp.) war auf meinen Besuch vorbereitet und wies mir einen gelben Kometen als Navigator zu. Das mobile Hologramm blieb immer einige Schritte vor mir in Augenhöhe und führte mich durch das Gebäude zu einem der gläsernen HELs (Holographic Engineering Labs), die rund um den kleinen subtropischen Erholungspark im achten Stock angeordnet waren.

Die HELs sind bei PSC als gläserne Oktaeder aus fototropem Glas ausgeführt. Sie schirmen die Softwareingenieure wirkungsvoll von der Außenwelt ab. Dr. Stephen H. Naur, dem Vernehmen nach ein direkter Nachfahre von Peter Naur, einem Urvater der Informatik, empfing mich vor dem Raum und ermahnte mich, die Konzentration der Ingenieure nicht zu stören.

Im Inneren des abgedunkelten und schallisolierten Labors standen fünf Männer unterschiedlicher Nationalität um ein fast zwei Meter hohes Hologramm herum, das sich aus unzähligen farbigen Knoten, Linien, Blasen, Symbolen und Textfragmenten zusammensetzte. Einer der Ingenieure fischte mit der Hand einen Teil des Hologramms heraus, zog ihn zu sich heran und vergrößerte einen Ausschnitt. Den mischte er mit Teilen einer kleinen holografischen Wolke, die das HEL auf seine Anforderung erscheinen ließ. Schließlich schob er das Ganze wieder in das zentrale Gebilde zurück.

"Wir arbeiten gerade an einem Forschungsauftrag", erläuterte Naur, "es geht darum, einen der alten Java-Monolithen aus dem zweiten Jahrzehnt auseinanderzunehmen und die innere Logik zu recyceln." Während seiner Erklärung beobachtete ich, wie einer der Ingenieure mit der Hand in das Hologramm eintauchte und einen ausgewählten Bereich auseinanderzoomte. Er winkte einen Kollegen zu sich, der als Historiker ausgebildet war. Dieser leuchtete die Fundstelle weiter aus. Ein Befehl an das HEL bewirkte, dass einige Dokumente in einer Blase neben ihm präsentiert wurden. Er scrollte mit dem Finger hindurch. Jetzt traten die Anderen hinzu und nickten eifrig.

"Was wir da gefunden haben, ist eine kleine Sensation", weihte mich Naur ein: "Im Inneren des Java-Kerns existiert eine mehrfach gekapselte Anwendung, die mit Codefragmenten aus der Stapelzeit arbeitet." In der Frühzeit der Informatik seien die Arrays typischerweise auf 80 Stellen begrenzt gewesen, und hier habe man wieder einmal ein derart altes Fragment gefunden. Die Ingenieure wollten nun erst einmal herausfinden, wie es dieser Datensatz geschafft hatte, unbemerkt im Inneren der alten Applikation zu überleben, "und wichtiger noch", so Naur, "mit welcher Syntaxbeschreibung aus unseren Archiven er entschlüsselt werden kann."

Nachdem wir das HEL verlassen hatten, erzählte mir Naur mehr aus der Zeit, in die wir gerade hatten blicken dürfen. Damals wurde mit Programmlogik in Tausenden von Sprachen experimentiert. Die Befehle wurden über sogenannte Tastaturen eingegeben. Es gab weder ein HEL, das die verbale Eingabe der Ablauflogik in Symbole umsetzte, noch eine interaktive Hologrammtechnik zur Darstellung von logischen Konstrukten. Kaum zu glauben, dass damals trotzdem funktionsfähige Programme entstanden. Um wie viel eleganter lässt sich doch heute Software konstruieren!

Doch der technische Fortschritt schreitet unaufhörlich voran. Bei meinem für morgen geplanten Besuch an der University of Mare Serenitatis will ich mir einen Eindruck vom Software-Engineering der Zukunft verschaffen. Auf dem Erdmond experimentiert man mittlerweile mit selbständiger Logikgenerierung; hier kommt den Software-ingenieuren eine hauptsächlich assistierende Funktion zu. Die Systeme sollen in mentalem Kontakt mit den künftigen Benutzern konstruiert werden, also optimal auf deren Bedürfnisse und Anforderungen eingehen. Das wäre eine weitere echte Sensation.