Standardisierung macht Fortschritte:

Geräteunabhängigkeit schützt vor Überalterung

23.11.1984

In der Vergangenheit waren Grafikanwendungen zugeschnitten auf bestimmte Rechnersysteme und Endgeräte. Die entsprechende Grafiksoftware wurde maschinennah in "Native Mode" für die entsprechende Gerätekonfiguration geschrieben. Dies bedeutete, daß das Anwenderprogramm zwar mit optimaler Geschwindigkeit ablaufen konnte, hatte aber den Nachteil, daß es nur das Grafikgerät unterstützte, für das das Programm gerade geschrieben wurde. Daher mußten häufig die Anwendungsprogramme um- oder gar neu geschrieben werden, wenn eine Anwendung beispielsweise von einem Grafikgerät auf einen modernen grafischen Arbeitsplatz oder Plotter übertragen werden sollte oder ein neuer den alten Computer ersetzte.

Ende der 70er Jahre wurden nun Softwaretechnik entwickelt, die es erlaubten, ein bestimmtes Grafikprogramm auf einer ganzen Reihe von verschiedenen Grafikendgeräten zu betreiben. Eine der Möglichkeiten zur Realisierung besteht darin, daß der Programmierer Grafikbausteine in die Hand bekommt, die aus einer Bibliothek von zahlreichen Fortran-Subroutinen bestehen und vom Programmierer als Aufrufe (calls) in die entsprechenden Anwendungsprogramme eingebaut werden.

Diese Subroutinen werden von den entsprechenden Anwendungsprogrammen benutzt, um die Grafikdaten über den Netzwerkmanager und den Workstationmanager für die Ausgabe auf einem Endgerät zu erzeugen, oder die Grafikeingabe von dem Grafikgerät zu erhalten, mit dem es gerade verbunden ist. Das heißt, daß das Grafiksystem die Befehle des Anwendungsprogrammes in das spezielle Grafikvokabular des betrachteten Endgerätes transferiert.

Nur eine Änderung

Die Umsetzung der Endgeräte-unabhängigen Daten zu den Endgerätedaten wird vom Netzwerkmanager an spezielle Funktionscodes - die man Gerätetreiber nennt - übergeben. Für jedes spezielle Grafikendgerät wird also ein besonderer Treiber benötigt. Dadurch kann ein Anwendungsprogramm sehr einfach ein neues Grafikendgerät nutzen, in dem der entsprechende Gerätetreiber über den Netzwerkmanager mit dem Anwendungsprogramm verbunden wird, ohne, daß im Programm selbst auch nur eine einzige Änderung erforderlich wird.

Die Geräteunabhängigkeit verringert die Gefahr der Veralterung von Grafikprogrammen und bietet zudem den Vorteil, daß der Anwendungsprogrammierer beispielsweise eine bestimmte Applikation auf einem Speicherbildschirm entwickeln kann, obwohl die Nutzung später auf einem Farbrasterbildschirm erfolgt.

Andere Grafikanwendungen können an einem interaktiven Grafikterminal überprüft und modifiziert und ohne Zwischenergebnisse auf eine Hardcopyeinheit oder einem Plotter ausgegeben werden, obwohl der Produktionsverlauf für eine Batchverarbeitung gedacht ist. Mit einem Konzept der Geräteunabhängigkeit sind Grafikprogramme nicht länger auf die Eigenschaften der Hardware eines bestimmten Herstellers begrenzt.

Es gibt heute mehrere Methoden für eine geräteunabhängige Grafikprogrammierung und entsprechend werden auf dem Markt mehrere Grafikwerkzeuge angeboten, die diesen Ansprüchen genügen. Darüber hinaus hat in den letzten drei Jahren der Trend in Richtung einer Standardisierung von Grafiksoftware und -Produkten erheblich zugenommen.

Zur Zeit arbeiten zahlreiche hochqualifizierte Grafikexperten weltweit in verschiedenen Komitees, um Programmiernormen für Grafiksoftware zu definieren. Hierzu gehören vor allem:

Ansi (American National Standard Institute), dessen Komitees an verschiedenen Ebenen der Grafikstandardisierung arbeiten, angefangen bei Schnittstellen für die Grafikgeräte und die Metafilebibliothek. Die Behandlung der Grafiknormen erfolgt durch das Komitee X3H3.

- ACM (Association for Computer Manufacturers), dessen "Siggraph"Kommitee die erste kommerziell einsetzbare Norm für die Grafikprogrammierung geschaffen hat: das CORE-System.

- ISO (International Standards Organisation), die, wie der Name schon sagt, mehr eine globale Bedeutung hat. Für die Grafiknormen ist die working group 2 (WG2) zuständig.

- DIN (Deutsche Industrie Norm), ist eine einflußreiche Organisation, die mit ihren Standardisierungsbemühungen Erfolge in ganz Europa und teilweise auch in den USA hat.

Diese Gruppen verfolgen neben dem Prinzip einer hardwareunabhängigen Softwareprogrammierung vor allem zwei weitere wichtige Ziele bei der Erstellung von Grafiknormen, so die Ausbildung der Grafikprogrammierer und produktivitätssteigernde Maßnahmen.

Ohne Normen müssen Grafikprogrammierer häufig von Anwendung zu Anwendung oder von Abteilung zu Abteilung neu ausgebildet werden. Es ist ein prinzipielles Ziel von Standardisierungsbemühungen, die Grafikprogrammierung so konsistent wie nur möglich zu machen, unabhängig von den gerade benutzten Grafikgeräten und Computern und unabhängig von der Art der Anwendung, die entwickelt werden soll.

Mit zunehmender Zahl der Computerspezialisten, die im Umgang mit Standardmethoden vertraut sind, wird die Entwicklung von Grafikprogrammen schneller möglich sein als bisher.

Aus dem bisher Erwähnten wird klar, daß die Standardisierungsbemühungen einen nützlichen und wünschenswerten Lösungsweg vorbereiten und es wird momentan auch mit viel Anstrengung an einer Klärung der offenen Fragen gearbeitet. Jeder, der sich zur Zeit mit dem Gedanken trägt, Grafiksoftware in einer Abteilung einzusetzen, sollte die genannten Normen in seine Überlegungen mit einbeziehen.

Dennoch bereitet die Aufstellung der Standards auch Probleme. Ein wesentliches besteht darin, daß die Standardisierungskomitees eine zu lange Zeit brauchen, um sich auf einen Kompromiß zu einigen. Die meisten Standardisierungsgruppen werden eingesetzt, um allgemein gültige Regeln zu entwickeln, die generell anerkannt werden, um den Bedingungen des täglichen Einsatzes in der Praxis gerecht zu werden. Es ist daher nicht überraschend, daß es ein zeitraubender Prozeß ist, bis diplomatische Kompromisse gefunden werden.

Man kann daraus schließen, daß die Verabschiedung von Standards unerträglich hinter den Forderungen der Anwender in der Industrie und Forschung herhinkt, während die Hardwarehersteller ständig neue Technik einführen. Durch das Angebot an immer leistungsfähigeren Geräten, wird der Anbieter daher in erster Linie bestrebt sein, die Wünsche seiner Kunden zu erfüllen und nicht die Standards, die von Komitees verabschiedet werden. Genauso wird ein Softwareanbieter der sich streng an die Normen gehalten hat, von seinen Kunden bedrängt werden, weil er von den Hardwaremöglichkeiten keinen ausreichenden Gebrauch macht.

In erster Linie Grafikprobleme

Was also sollte ein künftiger Grafikbenutzer über die Normung hinaus bei einer Entscheidung für den Weg der Programmierung bedenken?

Die Erfahrung hat gezeigt, daß ein Softwarewerkzeug in erster Linie die Grafikprobleme lösen muß. Darüber hinaus sollte der Anbieter für eine ausgezeichnete Kundenbetreuung bekannt sein, periodisch Neuerungen und Erweiterungen entwickelt und Gerätetreiber zur Verfügung stellen, die die gesamte Hardwareintelligenz der Grafikgeräte unterstützen, auch wenn bestimmte Funktionen noch nicht in der Norm berücksichtigt sind. Schließlich muß eine ausgetestete und verständlich geschriebene Dokumentation zur Verfügung stehen, sowie eine ausführliche Kundeschulung angeboten werden, um eine schnelle Produktivität zu erreichen.

Grafiknormen sind sehr wichtig, aber sie sollten nicht der einzige Bestandteil im Konzept für eine erfolgreiche Grafikprogrammierung sein. Die Prinzipien einer hardwareunabhängigen Grafikprogrammierung sollten allerdings bei der Entscheidung für eine Grafiksoftware stets bedacht werden.

*Dr. Rolf Dörr ist Vertriebsleiter Deutschland der PVI Precision Visuals International Gmbh, Frankfurt, Wilfried Remmers ist Leiter der PVI-Geschäftsstelle Hamburg.