Grafiknormen unter Druck

Überblick: Grafische Standards in technischen Anwendungen

04.10.1991

Immer häufiger laufen Grafikanwendungen auf vernetzte, Workstations und leistungsfähiger PCs. In solchermaßen heterogenen Rechnerweiten sind Standards ein absolutes Muß. Günther E. Pfaff* gibt eine Übersicht de relevanten Grafikstandards, beleuchtet die Einsatzmöglichkeit der jeweiligen Normen und beschreibt die Historie der Entwicklung sowie den aktuellen Stand.

Bis vor wenigen Jahren wurden anspruchsvolle Oberflächen noch ausschließlich auf Mainframes und Minirechnern mit daran angeschlossener grafischer Peripherie betrieben. Ergänzt haben dieses Szenario Hochleistungs-Workstations.

Die Anwendungen hatten spezielle rechnerbezogene Schnittstellen und waren somit kaum portabel. Angesichts der immensen Kosten für Anwendungsentwicklung und Rechnersysteme waren die Kosten pro grafischem Arbeitsplatz natürlich entsprechend hoch.

Drei Schnittstellen in der Welt der Grafiken

Innerhalb weniger Jahre hat sich die Grafik nun fast aus- schließlich auf die Ebene der Workstations und ausgebauten PCs verlagert. Inzwischen weniger Jahre hat sich die Grafik nun fast ausschließlich auf die Ebene der Workstations und ausgebauten PCs verlagert. Inzwischen geht der Trend weiter zur Vernetzung: Die PCs und Workstations sind über Kommunikationsnetze miteinander oder auch mit Großrechnern verbunden. Die Programme mit Grafikschnittstellen bleiben auf den lokalen Rechnern, rechenintensive Programme laufen auf den Host-Rechnern im Hintergrund ab.

In dieser heterogenen Rechnerwelt sind Standards ein absolutes Muß. Nur bei strikter Einhaltung von Standardschnittstellen ist die Integration der einzelnen Soft- und Hardwarekomponenten in das Gesamtsystem möglich. Ansonsten entstehen Insellösungen, die so teuer sind, daß der Gesamtansatz nicht zu verwirklichen ist. Dieser Artikel behandelt die Welt der Grafikstandards - welche gibt es, was bewirken sie, wofür benötigt man sie?

In der Grafikwelt unterscheidet man drei Schnittstellen:

- Unter der Schnittstelle zum Benutzer versteht man die Erscheinungsform der Anwendung für den Benutzer und die möglichen Aktionen des Benutzers mit der Anwendung. Mit anderen Worten: Was sieht der Anwender am Bildschirm und welche Eingriffs- und Steuermöglichkeiten hat er.

- Die Schnittstelle zwischen Grafikhardware und Anwendungsprogramm: Bei der Programmierung von Anwendungen kann sich der Entwickler kaum noch ein spezifisches Eingehen auf verschiedene Grafikgeräte leisten - der Endkunde möchte sowieso etwas anderes, als man mit einem System aus Hardware und Software gerade anbietet; außerdem soll die Anwendung länger leben als eine gerade verfügbare Gerätetechnologie. Bei der Verwendungsprogramm auf einer geräteneutralen Schnittstelle auf. Neue Geräte müssen dann nur noch diese Schnittstelle verstehen, damit die Anwendung sie ansteuern kann.

- Die Schnittstelle zwischen verschiedenen Anwendungen: Immer häufiger wird der Wunsch geäußert, grafische Ergebnisse einer Anwendung in eine andere Anwendung zu übernehmen, zum Beispiel die Anzeige von Werkzeugzeichnungen auf dem Bildschirm, Archivierung technischer Zeichnungen in einer Datenbank, Übernahme von CAD-Zeichnungen in Dokumentationssysteme etc.

Für diese Schnittstellen gibt es verschiedene Einzelnormen. Da sie zusammengenommen funktionieren, dafür müssen die Anbieter der Normpakete beziehungsweise Komponenten sorgen. Zu einem erfolgreichen Einsatz von Normen gehören mindestens drei Gruppen: eine (möglichst überparteiliche, herstellerneutrale) Partei, die die Normbeschreibung veröffentlicht - das ist für die Grafik die ISO auf internationalem Parkett, national das DIN. Dann benötigt man die Anbieter von normkonformen Produkten und schließlich als wichtigste Partei die Anwender. Diese bestimmen durch ihre Auswahl, ob eine Norm erfolgreich wird oder ein Papiertiger bleibt.

Für die drei Schnittstellen gibt es zur Zeit eine Reihe verabschiedeter Normen.

- Für den Austausch grafischer Dateien zwischen verschiedenen Anwendungspaketen wurde CGM genormt (Computer Grafics Metafile). Viele PC-, Workstation- und Host-basierte Systeme können bereits als eine mögliche Schnittstelle CGM-Dateien erzeugen. Auch zur Weiterverarbeitung der CGM-Dateien existieren schon viele Produkte in den Bereichen Drucken/Plotten, Bildschirmanzeige, Nacheditieren, technische Dokumentation etc. So unterstützten Systeme die Übernahme von Plotdateien aus Anwendungssystemen und (nach Konvertierung in CGM) die Anzeige auf PC und Workstationrechner.

Die CGM-Norm (ISO 8632) wurde 1987 verabschiedet und hat von allen ISO-Normen die bisher größte Akzeptanz gefunden. Sie beschreibt ein Format zur Speicherung und Übertragung von Bildern in koordinatenorientiertem Format, eignet sich also ideal für computergenerierte Zeichnungen. Das Format ist unabhängig vom Rechner, das heißt von dessen Zahlendarstellung, von der Anwendung und vom letztendlichen grafischen Gerät, auf dem die Zeichnung ausgegeben werden soll. Auf Grund dieser Allgemeinheit grenzt sich CGM von allen Plotterformaten ab.

Ein direkter Mitbewerber ist die Postscript-Sprache, die allerdings rasterorientiert und damit mehr bei DTP-Systemen zu finden ist. Auf einer anwendungsnäheren Ebene sind IGES und STEP angesiedelt. Diese beschreiben die Datenstrukturen von CAD-Objekten und dienen dem Informationsaustausch zwischen CAD-Systemen.

CGM-Norm hat festen Platz im Standardgefüge

Für die Zeichnungsebene sind sie zum einen überdimensioniert, zum anderen werden wichtige Informationen für das Aussehen der Zeichnungen nicht festgelegt. Die CGM-Norm hat somit ihren festen Platz im Standardgefüge.

- Bei der Schnittstelle zwischen Anwendungsprogrammen und Grafikhardware haben sich zwei Standards etabliert. Im Bereich 2D-Darstellungen gibt es GKS (grafisches Kern System). Über interne Treiberschnittstellen kann man zwischen Grafikprozessoren (beziehungsweise Karten) wie VGA, EGA, 8514 für PCs oder Grafikschnittstellen von SUN, HP, DEC, IBM, Silicon Graphics etc. wählen, ohne sein Anwendungsprogramm ändern zu müssen. Genauso flexibel ist der Wechsel zwischen Matrixdruckern, Stiftplottern, Laserdruckern, Elektrostaten etc. Für 3D-Grafik ist Phigs (Programmer's Hierarchical Interactive Grafics System) im Kommen. Über Phigs steuern Anwendungen vor allem Bildschirmaus- und -eingabe an, um trotz unterschiedlicher Geräte eine schnelle 3D-Bilddarstellung zu erhalten.

Zu Phigs ist aktuell der Zusatz Phigs + angekündigt. Damit können realitätsnahe Bilder definiert werden. In Phigs+ existieren Beleuchtungsmodelle, mit denen man Lichtquellen, Lichtarten und Schattierungen angeben und eine nahezu wirklichkeitsgetreue künstliche Umgebung visualisieren kann. Diese Art von Darstellung ist für die meisten CAD-Systeme von großem Nutzen, läßt sich das generierte Objekt in seinem späteren Aussehen und Einfügen in die Umgebung schon in der Entwurfsphase am Schirm betrachten. Brauchte man bis vor kurzem noch spezielle Hochleistungsgrafik-Workstations für diese Art von Grafik, genügen heute dazu schon marktübliche RISC-Workstations und schnelle 486 CUPs. Selbst dynamische Effekte, wie sie in der Computeranimation benötigt werden, sind mit heutigen Workstations im Bereich unter 50 000 Mark bereits erreichbar.

GKS ist entwicklungstechnisch gesehen der erste internationale Grafikstandard. Zwischen 1976 und 1985 entwickelt, wurde er unter IS 7942 veröffentlicht. Dabei entstand neben GKS die gesamte organisatorische Grundlage der grafischen Normen, was auf internationalem Parkett große Reibungsverluste mit sich zog. Mit den organisatorischen Grundlagen konnten schnelle Nachfolgenormen wie CGM (1987), GKS-3D (1988), Phigs (1989) und Phigs + (voraussichtlich 1990 verabschiedet werden. Ursprünglich war GKS als Host-Terminal-Lösung konzipiert. Durch die Dominanz der Workstations und Fenstersysteme benötigt die GKS-Norm einige Anpassungen. Deshalb ist eine Revision mit dem Titel "GKS-R" im Gange, die in einigen Jahren GKS ablösen soll.

Heute existieren viele Anwendungen, die auf GKS aufsetzen. Unter dem Druck der dabei getätigten Investitionen rangiert der Einsatz von GKS noch immer vor dem Phigs-Einsatz. Phigs wurde 1989 als IS 9592 verabschiedet und überrundete von Anfang an die Konkurrenznorm GKS-3D (ISO 8805), da sie von den amerikanischen Rechnerherstellern die volle Unterstützung erhielt.

Phigs braucht hohe CPU-Leistung

Da der sinnvolle Einsatz von Phigs jedoch hohe CPU-Leistung pro Bildschirm voraussetzt, hat sich sein Einsatz verzögert. Phigs kann sinnvoll bei leistungsstarken Workstations oder intelligenter Grafikhardware eingesetzt werden. Für beides sind erst seit jüngster Zeit die markttechnischen Voraussetzungen gegeben, bei Workstations mit den RISC-Systemen, bei Grafiksystemen mit PEX-Servern. Dies gilt verstärkt noch für Phigs +.

- Die Benutzerschnittstelle schließlich dominieren X-Windows-Systeme. X-Windows wird vom X/Open Konsortium verwaltet, womit die Herstellerneutralität ebenfalls gesichert ist.

OSF/Motif sorgt für einheitlichen Aufbau

Das X-Windows-System konzentriert sich vor allem auf die Gestaltung der Bildschirmoberfläche mit Hilfe von Fenstern, in denen die einzelnen Anwendungsprogramme dargestellt werden, beziehungsweise sich darstellen. Die Fenster, und damit zum Teil die Anwendungen, kann der Bediener manipulieren. So lassen sich zum Beispiel Fenster erzeugen, um darin weitere Programme zu starten, oder Fenster löschen, um darin laufende Programme zu beenden.

Die Programmierung von X-Windows-Systemen ist sehr aufwendig, und zudem würde dadurch noch nicht eine einheitliche Benutzeroberfläche für verschiedene Programme erreicht. Deshalb wurden einige Toolkits mit zugehörigem Regelwerk entwickelt; als bekanntestes Beispiel läßt sich hier OSF/Motif nennen, das vom OSF-Konsortium entwickelt und von ihm, aber auch von vielen Rechner- und Systemhäusern vertrieben wird. OSF/Motif sorgt für einheitlichen Aufbau und Erscheinungsbild der Benutzeroberflächen der verschiedenen Programme - das "Look and feel" wird identisch.

Die noch immer sehr aufwendige Programmierung erleichtern UlMS-Werkzeuge (User Interface Management Systeme), von denen ebenfalls schon eine ganze Reihe am Markt zu finden sind. Mit diesen Systemen werden der Bildschirm beziehungsweise Fensteraufbau sowie die Dialogabläufe interaktiv entworfen. Das System erzeugt anschließend den C-Code zur Compilierung des fertigen Programms.

Betrachtet man nun alle drei Schnittstellen im Zusammenhang, so wird die Rollenverteilung deutlich. Auf der Basis von X-Windows und zum Beispiel OSF/Motif wird unter Zuhilfenahme von UIMS-Systemen der Dialogteil der Anwendungen gestaltet. Dies geschieht noch unabhängig davon, ob es sich um eine grafische oder alphanumerische Anwendung handelt, wie zum Beispiel eine kommerzielle Anwendung mit Datenbankabfragen. Erst wenn es um Grafik geht, etwa CAD, Datenvisualisierung, Animation, Simulation, Bildverarbeitung etc., kommt für die Bildschirmen- und -ausgabe GKS für zweidimensionale und Phigs+ für dreidimensionale Grafik zum Einsatz. Für die Übertragung der resultierenden Bilder kann dann die CGM-Norm herangezogen werden.

Es kommt also bei X-Windows, GKS und Phigs auf die Integration der Konzepte und Systeme an, denn ein typisches Anwenderprogramm benötigt mehrere dieser Schnittstellen gleichzeitig. Hier ging man bei X-Windows einen Schritt weiter. Zum einen mußte es möglich sein, innerhalb von X-Fenstern eine dreidimensionale Grafik darzustellen, die dann mit den X-Windows-Funktionen wie push, pop, repain etc. weiterarbeiten muß, zum anderen stellt X-Windows bei X-Servern, die nur zweidimensionale Grafik verstehen, einen Performance-Engpaß für eine 3D-Anwendung dar. Das Resultat war eine X-Erweiterung, genannt PEX (Phigs-Extension by X).

Im wesentlichen ist PEX ein spezieller X-Server, der die 3D-Grafikfunktion des Phigs+ versteht und lokal in Pixel umsetzt. Er ist also vergleichbar mit einem 3D-Grafikbeschleuniger, wie sie von allen führenden Workstation-Herstellern jeweils mit einer speziellen Schnittstelle angeboten werden. Der PEX-Server erfüllt sowohl X- als auch Phigs + -Grundfunktionen und kann damit optimal unter einer Phigs + -Schnittstelle eingesetzt werden und zu einer erheblichen Performance-Verbesserung einer Phigs + -Anwendung führen. Somit laufen in den einzelnen Fenstern Anwendungen, die ihre Grafikein- und -ausgabe über GKS oder über Phigs + realisieren.

Intuitive Benutzerschnittstellen

Schließlich erzeugen die Anwendungen (beziehungsweise GKS oder Phigs + an ihrer Stelle) CGM-Dateien, die dann auf beliebigen Systemen gedruckt, geplottet oder wiederum in Fenstern dargestellt und eventuell verändert werden können.

Im Erstellungs-, Vermarktungs- und Anwendungsprozeß kommt den Standards eine tragende Rolle zu: Software-Erstellung wird wirtschaftlicher, wenn sie Normschnittstellen verwendet, denn der Anpassungsaufwand verringert sich, die Menge der wiederverwendbaren Module nimmt zu. Die eigentlichen Entscheider über Erfolg und Mißerfolg von Standards sind jedoch die Anwender. Diese müssen beim Systemerwerb die Wichtigkeit von Standardschnittstellen in den Vordergrund stellen - nur dadurch werden sie vom einzelnen Hersteller und Anbieter unabhängiger. Nur so lassen sich Systemerweiterungen und -anpassungen wirtschaftlich vertreten. Nur dadurch können sie eigene Investitionen in erworbene Produkte, damit erstellte Erzeugnisse und ihr damit erworbenes Know-how langfristig schützen.

Die Grafiknormen unterliegen dem immensen Druck der Fortentwicklung grafischer Oberflächen. Das Ziel dabei sind intuitive Benutzerschnittstellen, bei denen der Anwender sämtliche Gestaltungsmöglichenkeiten hat und das System auf jede Aktion "vernünftig" reagiert. Dabei müssen die Antwortzeiten äußerst gering sein, um natürliche Dialogformen zu unterstützen. Der Anspruch an die Grafik geht dabei bis zu naturgetreuen Darstellungen der bearbeiteten Objekte. Diesem Ziel haben sich alle Standards zu unterwerfen. Standards werden also nur funktionieren, wenn sie optimal integriert, der aktuellen Hardwaretechnik anpaßbar und funktional äußerst flexibel sind. Mit fünfjährigen akademischen Diskussionen ist dies nicht erreichbar. Gefragt ist hier eine intensive Kooperation zwischen Rechnerherstellern, Softwareproduzenten und Benutzerorganisationen, unterstützt von Forschungseinrichtungen.

CGM konnte sich durchsetzen

Mit X-Windows, Phigs + und PEX ist ein Beispiel für eine einigermaßen funktionierende Zusammenarbeit zwischen ISO, X-Open, OSF und anderen Gruppen realisiert worden. GKS, GKS-3D und CGI sind Beispiele für das andere Extrem. CGM als Instrument des Zeichnungsaustausches unterlag nicht den extremen technischen Bedingungen und konnte sich ohne großen Aufwand durchsetzen. Unter diesen Aspekten läßt sich eine Akzeptanz von Phigs + und zukünftigen Erweiterungen integriert mit X-Windows, OSF/ Motif und vor allem PEX- Hardware absehen, zumal zur Zeit keine wirkliche Standardalternative vorhanden ist und jede Entwicklung viel Geld kostet sowie Markteinfluß voraussetzt.

Ebenso dürfte die CGM-Akzeptanz wachsen, vermutlich angereichert um Rasterbilder zur Abdeckung digitalisierter Bildvorlagen. Um die in GKS getätigten Anwendungsinvestitionen zu sichern, wird die GKS-Schnittstelle sich mittelfristig auf die X-Window- und PEX-Hardware stützen, um damit die Vorteile der schnellen Grafik mit integrierter Window-Oberfläche "kostenlos" zu nutzen. Die Zukunft von CGl, GKS-3D oder GKS-R bedarf wohl zusätzlicher Einflüsse, die jetzt noch nicht abzusehen sind.

*Dr. Günther E. Pfaff ist Diplom-Informatiker, Mitglied des DIN-Ausschusses sowie Geschäftsführer und Gesellschafter der Firma GTS-GRAL, in Darmstadt.