Ich widme diesen Eintrag allen, die für ihr Geld arbeiten müssen.
Dieser
Gruppe gehöre ich nicht an, weil ich arbeite zwar, kriege aber von
meinem Arbeitgeber keinen Cent. Ich rege mich nicht auf, ich stelle nur
fest.
Die letzten Tage, das Wochenende eingeschlossen, waren recht arbeitsintensiv. Mein Professor Hoa Dam hat bei einer
Software-Konferenz eine Auszeichnung für eine seiner wissenschaftliche Arbeiten erhalten. Als Resultat darf er nun in
einem Journal einen Artikel im Juli veröffentlichen der auf die vorherige Arbeit aufbaut und sie erweitert.
Um was geht es eigentlich?
Meine Disziplin, Software Engineering,
schaut im Vergleich zu der rasanten Entwicklung, die Computerhardware
in den letzten siebzig Jahren vollzogen hat, recht arm aus der Wäsche.
Das
hat nichts mit Software Engineering an sich zu tun. Es gab in seiner
kurzen Geschichte doch respektable und auch messbare Fortschritte, was
man nicht von jeder "Wissenschaft" behaupten kann (ja, ich schaue dich
scharf an, Wirtschaftswissenschaften).
Aber verglichen mit Durchbrüchen wie der Erfindung des
Transistors kannst du einfach nicht mithalten, das ist eine Liga zu hoch, dafür braucht man sich auch nicht zu schämen.
Es gibt also einiges zu tun in meinem recht jungen Feld um zu den Hardwarebauern, den Strebern, aufzuschließen.
Aber wie?
Die größte Herausforderung ist es, die Komplexität von
Software in den Griff zu bekommen. Ein Computerprogramm ist wie die
eigene Frau: Man glaubt ihre Eigenheiten und Raffinessen zu kennen und
ist fasziniert von ihnen. Aber wehe man versucht etwas an ihr zu ändern:
Mit den Konsequenzen hast du nicht gerechnet.
Wir verlassen diese
Metapher aber gleich wieder, weil ich für Beziehungstipps erstens nicht
zuständig bin, und zweitens meine FSK12-Einstufung sonst tschari geht.
Es ist nämlich notwendig, ein komplexeres Softwaresystem in seine Einzelteile zu zerlegen um es zu verstehen:
Man
kann zum Beispiel Softwaresysteme, wie das allseits beliebte Electronic
Banking (Elba) von Raiffeisen*, auf hohem Abstraktionsniveau, also ohne
Details, modellieren.
Solche Modelle bestehen prinzipiell aus
Quadraten die mit Linien verbunden sind und geben eine Übersicht
darüber, wie ausfallsicher, wie hardwareintensiv und wie teuer
Softwaresysteme sind bzw sein werden.
Die Quadrate stehen dabei
für die einzelnen Teilsysteme und die Linien bedeuten, dass diese
Teilsysteme untereinander Nachrichten austauschen.
"Ja
genau", wird sich der eine oder andere Leser jetzt denken, "und für
sowas kriegen die ein Geld?! Die paar Kasteln kann ich auch."
Darauf würde ich antworten: Nein, ich arbeite umsonst.
Wenn
man so ein Modell erstmal hat, kann man das als Grundriss, als
Architektur verwenden. Wie im Hoch- und Tiefbau nimmt man sich den Plan
zur Hand und stellt dann ein Konstrukt auf. Anders als auf der Baustelle
sollte der feine Herr Softwarearchitekt aber eigenhändig mithelfen,
seinen Plan in lauffähige Programme umzusetzen. Das verringert die Kluft
zwischen Theorie und Praxis und soll den Dampfplauderern den Garaus
machen.
Auf solche Modelle lassen sich auch automatisch
Regeln anwenden: Man legt fest, dass alle Teilsysteme unterschiedlich
heißen, dass sie mit maximal drei anderen Teilsystemen kommunizieren
dürfen, oder dass wenn zwei miteinander reden wollen, die Nachricht beim
anderen überhaupt ankommen kann.
Was der Hoa zusammen
mit Kollegen von der JKU erreicht hat, ist nichts weniger als Modelle
die diese Regeln verletzen, automatisch zu reparieren.
Er hat
diese Fähigkeit in ein Programm eingebaut, mit der man
Softwarearchitekturen erstellen kann und hat dafür auch die Auszeichnung
für die beste wissenschaftliche Arbeit gewonnen.
Diesen Erfolg werden wir jetzt wiederholen indem ich dasselbe in
ein anderes Programm
integriere. Also ich erfinde jetzt nicht das Rad neu; die
Schwierigkeiten die sich mir stellen sind eher technischer Natur: Der
Code ist zirka zehn Jahre alt (was 100 in Menschenjahren ist) und nicht
so geschrieben, dass man seine eigenen Erweiterungen leicht anbringen
kann.
Aber ich mache gute Fortschritte und bin
optimistisch, dass sich das bis Anfang Juli ausgeht, denn dann will Hoa
nämlich die Arbeit für das Journal einreichen. Aber der Zeitdruck ist
stark.
Deswegen gibts jetzt noch ein paar Fotos von den letzten Tagen, dann Zähneputzen und ab ins Bett.
|
Kurz nach dem Aufstehen heute morgen. |
|
Auf dem Weg zum Labor... |
|
... lebt eine Kängurufamilie aus Metall |
|
Ingenieure tragen manchmal dick auf. Hier arbeite ich |
|
Unser Labor. "Decision Systems" bezieht sich auf Künstliche Intelligenz. Dazu ein anderes Mal mehr |
|
|
|
|
|
|
|
Ein Kollege von Hoa. Dr Wang ist Professor für Angewandte Lässigkeit |
* Fußnote: Auch wenn ich mich bemühe, in
jedem meiner Einträge einen Raiffeisenbezug herzustellen, gelingt mir
das nicht immer. Dafür entschuldige ich mich bei meinem Publikum.
Andererseits kann man auch irgendwann genug kriegen vom allmächtigen
Giebelkreuz und zu etwas Sinnvollerem wechseln. Zum Beispiel zu
Ottakringer.