Portierung von Fortran-Bibliotheken nach Windows 4GL erweist sich bei komplexen Programmen als unuebersichtlich

14.07.1995

MUENCHEN (ue) - IT-Modethemen wie etwa reduzierte Softwarekosten durch objektorientierte Programmierung wecken meist zu hohe Erwartungen. Dieser Auffassung ist man bei der in Erding ansaessigen TU-Software GmbH, die von der Esslinger Festo KG, Hersteller von Pneumatikzylindern, mit der Portierung einer Mainframe- und Workstation-basierten CAD-Teilebibliothek auf PCs beauftragt wurde.

Zu Anfang stand die Bibliothek fuer Host- und Workstation-basierte CAD-Systeme zur Verfuegung. Ueber die Benutzer-Schnittstelle wurden systemunabhaengige Fortran-Module zur Geometrieerzeugung aufgerufen. Die Uebernahme der geometrischen Elemente in die Bibliothek erfolgte ueber direkte Schnittstellen und ueber verschiedene Interface-Prozessoren nach der VDA-PS-Norm. Unter DOS gab es aufgrund der 640K-Grenze nur eine abgespeckte Version mit einem Fliessdialog. Dies sollte sich aendern, ein vollwertiges Desktop-Programm wurde gefordert.

Mit der Portierung, Pflege und Weiterentwicklung der Zylinderbibliothek wurde 1991 die TU-Software GmbH beauftragt. Von dem muehsamen Weg dieses Projekts berichtet Trutz-Ulrich Stephani, Leiter des Softwarehauses. Demnach wurde zunaechst mit Hilfe der 4GL-Sprache "Ebus-Generator-C" innerhalb von sechs Wochen eine Benutzeroberflaeche als Prototyp entworfen, die man zur Hannover Messe 1993 praesentieren konnte. Der integrierte Generator erstellt ein C-Programm, das die vorhandenen Fortran-Module zur Erzeugung von Autocad-kompatiblen DXF-Files aufruft.

Der Prototyp fand laut Stephani Anklang. "Wir planten bis Januar 1994 eine verkaufsfaehige DOS-Version der Bibliothek mit grafischer Benutzeroberflaeche." Doch es stellte sich heraus, dass sich das 4GL-Tool fuer dieses Vorhaben nicht eignete. Im Prototypen selbst fiel dies nicht ins Gewicht, da die Zylinderauswahl nur einen kleinen Teil des Gesamtkatalogs repraesentierte. Fuer eine umfangreichere Benutzeroberflaeche, also komplexere Programme, erwies sich das Entwicklungsprodukt als aeusserst unuebersichtlich, so dass eine Wartung der Software nicht mehr gewaehrleistet werden konnte. Erschwerend kam hinzu, dass der Tool-Hersteller Runtime- Lizenzen fuer sein Produkt verlangte.

Als Programmiersprache setzte sich C++ durch

Der Entscheidung fuer eine neue Programmierumgebung wurden folgende Ueberlegungen zugrunde gelegt:

- Da der Festo-Katalog eine sehr grosse Zahl unterschiedlicher Zylinderkombinationen und vielerlei Zubehoer umfasst und im Jahr durchschnittlich zwei Ergaenzungen anfallen, durften die Maskenobjekte nicht starr vordefiniert werden. Statt dessen sollte das Programm anhand des ausgewaehlten Zylinders und der dazu vorliegenden Daten selbst eine Maske generieren.

- Die Erweiterungen mussten mit minimalen Programmaenderungen auskommen, um den Pflegeaufwand moeglichst klein zu halten.

- Die Fortran-Geometrieroutinen sollten sich unveraendert uebernehmen lassen.

Die Entscheidung fiel auf C++ als Programmiersprache. Zur Maskenerstellung verwendete TU-Software die Objektbibliothek "Zinc Application Framework" der US-Firma Zinc Inc.

"Aufgrund des hohen Einarbeitungsaufwandes in die objektorientierte Programmierung konnten wir erst Ende Maerz 1994 eine Betaversion der CAD-Bibliothek abliefern", erinnert sich Stephani. Doch die Probleme waren damit keineswegs ueberwunden: Sowohl die C++-Oberflaeche als auch die Fortran-Programme benoetigten trotz Overlaytechnik saemtlichen verfuegbaren Speicher, der Anwender hatte keinen Platz mehr fuer zusaetzliche speicherresidente Programme. Das bedeutete fuer die DOS-Version das Aus; von der Funktionalitaet her haette es keine Beanstandungen gegeben.

Um die Speicherbeschraenkungen von DOS zu umgehen, planten die Erdinger bis Juni 1994 eine Betaversion und bis September ein marktreifes Release unter Windows. Die grafische DOS- Benutzeroberflaeche wurde nach Windows portiert und die Fortran- Geometrieroutinen als DLLs eingebunden. Allerdings verzoegerte sich das Vorhaben um drei Monate. Als Gruende dafuer nennt Stephani Kompatibilitaetsprobleme mit den verwendeten Masken-Tools und Maengel am Fortran-Compiler. Auch die Einstellung des Speicherverbrauchs erforderte zusaetzliche Anpassungen. Da die reine Portierung der DOS-Oberflaeche nicht die Zustimmung der Vertriebsverantwortlichen fand, musste die Benutzerfuehrung der Windows-Philosophie angepasst werden.

Die Qualitaetssicherungsphase dauerte fuenf Monate, es traten keine kritischen Fehler mehr auf. Das Programm wurde zu Beginn jedoch nicht gut akzeptiert. Daher mussten einige zusaetzliche Features eingebaut werden. Unter anderem erlaubt die Software jetzt die sofortige Anzeige der aktuellen Konstruktionszeichnung. Damit sieht der Benutzer unverzueglich, welche Elemente er ausgewaehlt hat (WYSIWYG).

Dies brachte der Software den Durchbruch. Zur diesjaehrigen Hannover Messe stellte Festo die zum Verkauf freigegebene Windows- Version vor, die als 16-Bit-Emulation auch unter NT und OS/2 laeuft. Das Programm erlaubt die Auswahl von Zylindermerkmalen und Zubehoer nur in den jeweils moeglichen Kombinationen. Neben der reinen Teilebezeichnung steht erklaerender Text, ausserdem kann der Anwender zu Informationszwecken Datenblaetter und Fotos aufrufen. Zusaetzlich zu den Geometriefunktionen lassen sich vom Benutzer automatisch Bestellungen erzeugen.