# - wichtig beim Programmieren

Der Traum von der intelligenten Maschine ist so alt wie die Geschichte der Technik. Elf Jahre hat der spanische Informatiker Oscar Pastor Lopez daran gearbeitet, seinen Teil dieses Traums zu verwirklichen und eine "Programmiermaschine" zu erzeugen, die Software auf Knopfdruck entwickelt.

"Aus einem Prozess, der ein Jahr gedauert hat, machen wir einen Monat"

Inzwischen ist das Projekt so weit gediehen, dass der Professor der Polytechnischen Universität Valencia das Produkt seiner Forschung einer Spinoff-Firma übergeben hat: Die Care Technologies verspricht eine Beschleunigung der Software-Entwicklung um den Faktor 12 und wirbt jetzt auch in Deutschland um Kunden: "Aus einem Prozess, der ein Jahr gedauert hat, machen wir einen Monat", erklärt Deutschland-Manager Joachim Fischer.

Keine Zauberei

"Das hat mit Zauberei nichts zu tun", sagte Pastor. "Die Maschine programmiert einfach besser als das menschliche Gehirn." Denn jede menschliche Tätigkeit gehe mit Fehlern einher. Den Ansatz des "objektorientierten Modellierens" betrachtet er als jüngsten Abschnitt in der Geschichte der Software-Entwicklung: In den ersten Maschinensprachen musste dem Computer noch jedes Bit einzeln vorgesprochen werden. Mit den späteren Programmiersprachen wurde es möglich, die Anweisungen an den Prozessor mit streng formalisierten, aber lesbaren Begriffen zu formulieren. Die jüngsten objektorientierten Programmiertechniken wie Java oder .NET arbeiten mit fertigen Bausteinen, in denen häufiger benötigte Funktionen bereits fertig eingesetzt werden können. Die Modellierung ist nun eine weitere Abstraktionsstufe, bei der nicht nur das Kompilieren (also die Übertragung des Software-Codes in die Maschinensprache), sondern auch die Entwicklung des Codes dem Computer überlassen wird.

"if"

Programmiersprachen bestehen aus standardisierten Begriffen und Regeln: So gibt etwa die Anweisung "if" in den meisten Programmiersprachen eine Bedingung wieder. All diese Regeln hat Pastor vollständig in seiner Programmiermaschine "OlivaNova Model Execution" integriert, einer in C++ geschriebenen Software. Die Maschine wird mit einer beliebigen Problemstellung gefüttert und gibt als Ergebnis den für das gewünschte Programm erforderlichen Code aus - wahlweise in VisualBasic, Java oder demnächst auch für die Microsoft-Plattform .NET. Danach muss dieser Software-Code nur noch kompiliert werden und kann dann seine erste Aufgabe lösen.

Modelle

Der Schwerpunkt dieser automatischen Software-Entwicklung liegt somit ganz auf der Erstellung von "Modellen": Hier werden das gewünschte Verhalten der Software, alle Funktionen und auch ihre grafische Oberfläche umfassend beschrieben. Das Ergebnis wird in einem bestimmten Format aus der XML-Familie festgehalten: Die "Unified Modeling Language" (UML) ist ein offener Standard für die Software-Spezifikation. Pastor hat den UML-Standard eingegrenzt und so angepasst, dass die Modell-Beschreibungen der Programmiermaschine zur Verarbeitung übergeben werden können.

Für die Erstellung der Software-Modelle gibt es den "OlivaNova Modeler", der ähnlich aufgebaut ist wie eine Integrierte Entwicklungsumgebung (IDE) für das visuelle Programmieren. Hier wird die Aufgabenstellung in ihre einzelnen Bestandteile zerlegt. Diese werden als Objekte definiert, mit Eigenschaften versehen und in eine grafische Benutzeroberfläche eingebunden. Die eigentliche Entwicklungsaufgabe wird damit in diese visuelle Modellierung verlegt, um den Code muss sich der Programmierer nicht mehr kümmern. Wenn in der Erprobungsphase der Software zusätzliche Funktionen gewünscht werden, können diese in das Konzept eingebunden werden.

Lizenzpreis von 1.200 Euro

Das Geschäftsmodell von Care Technologies beruht auf dem Verkauf des Modelers (zum Lizenzpreis von 1.200 Euro) und Dienstleistungen beim Entwickeln der Modelle sowie der eigentlichen Code-Erzeugung. Die Firma gehört zur spanischen CHG-Gruppe, die von dem badischen Bauunternehmer Siegfried Borho gegründet wurde und geleitet wird. Die ersten Erprobungen hatte die Programmiermaschine denn auch bei der Entwicklung von Anwendungen für Unternehmen dieser Gruppe zu bestehen.

Zukunftsträchtig

Die Modellierung von Software wird auch von den führenden Unternehmen der Branche als besonders zukunftsträchtig eingeschätzt. Zu den am weitesten entwickelten Projekten gehört Rational Rose von IBM, das ebenfalls den UML-Standard einsetzt.

Nach der Markteinführung seiner Forschungsarbeit denkt Informatik-Professor Pastor schon eine Runde weiter. Die nächste Stufe der Abstraktion wäre die Beschreibung von Software mit der natürlichen Sprache. Im Gespräch mit Wissenschaftern anderer Disziplinen stößt er immer wieder auf grundsätzliche Einwände zum Verhältnis von Mensch und Maschine. Was ist, wenn eine Maschine entwickelt wird, die intelligenter ist als ihr Schöpfer? Aber Pastor hält die technischen Möglichkeiten nicht für grenzenlos: "In einigen Bereichen sind Menschen schon noch der Maschine überlegen." (APA/AP)