PREV
NEXT

Kapitel 4
Client-Server-basierte Visualisierung
Bei dem in Kapitel 2 vorgestellten Begriff der Visualisierungspipeline wurde zunächst angenommen, dass die einzelnen Verarbeitungsstufen von den Rohdaten bis hin zur Repräsentation auf einem einzigen System ausgeführt werden. Eine Erweiterung dieses lokalen Ansatzes wurde in Kapitel 3 vorgestellt (vgl. Abschnitt 3.3.3). Dabei wurden die diversen Visualisierungsstufen flexibel zwischen Client und Server verteilt, wodurch die Nutzung von sowohl Client- als auch Server-seitig vorhandenen Rechen- und Graphikkapazitäten gewährleistet wird. Dieses Kapitel beschreibt die im Rahmen dieser Arbeit entwickelten Applikationen, die eine verteilte Verarbeitung und Visualisierung chemischer Daten auf Client- und Server-Systeme erlauben. Dabei werden neben den Aspekten der Implementierung auch die Vor- und Nachteile der vorgestellten Anwendungen gegenüber Internet-Standardapplikationen diskutiert.
Der erste Teil des Kapitels widmet sich zunächst den sogenannten hybriden Ansätzen. Nach einer kurzen Erläuterung der Prinzipien der hybriden Strategie werden vier entsprechende, Internet-fähige Anwendungen vorgestellt: Der VRML File Creator for Chemical Structures dient zur plattformunabhängigen Berechnung und Darstellung chemischer 3D-Strukturen. Der VRML-Animationsgenerator ermöglicht eine portable Visualisierung molekularer Animationen. ComSpec3D erlaubt die Berechnung und Visualisierung von Raman- und IR-Spektren und gestattet die animierte Darstellung der korrespondierenden Normalschwingungen. MolSurf dient zur Berechnung und Visualisierung molekularer Oberflächen.
Im zweiten Teil werden Applikationen beschrieben, die auf sogenannten Client-seitigen Strategien basieren. Dabei wird die OrbVis-Applikation vorgestellt, die zur Berechnung und Visualisierung von Molekülorbitalen dient.
Der letzte Teil des Kapitels erläutert schließlich die Prinzipien der Server-seitigen Visualisierungsstrategien. Abschließend werden die Vor- und Nachteile der einzelnen Visualisierungsstrategien diskutiert.
4.1 Hybride Strategien
4.1.1 Definition
Eine möglichst günstige Verteilung der Visualisierungsaufgaben zwischen Client und Server ist das Ziel hybrider Ansätze (Abbildung 4-1). Durch die Aufteilung der Aufgaben sollen sowohl Client- als auch Server-seitige Speicher- und Rechenkapazitäten optimal genutzt werden. Dabei wird gleichzeitig die Minimierung der Netzwerklast angestrebt.
Abb. 4-1: Hybride Strategien.
Die Aufteilung der Visualisierungspipeline kann dabei auf vielfältige Weise geschehen. Einige Beispiele sowie ihre Vor- und Nachteile werden auf den folgenden Seiten erläutert. Dabei werden vor allem VRML-Ansätze besprochen, die ebenfalls zu den hybriden Ansätzen zu zählen sind. Die VRML-Szene wird dabei in der Regel auf dem Server generiert und anschließend auf dem Client gerendert.
4.1.2 VRML-Generator für chemische Austauschdateien
4.1.2.1 Zielsetzung
Neben den Arbeitsgruppen von Brickmann und Rzepa beschäftigte sich auch die Arbeitsgruppe von Gasteiger früh mit dem Medium VRML. Das Resultat war ein generischer VRML-Szenengenerator für Moleküldaten [103]. Der Online-Dienst akzeptierte die wichtigsten chemischen Austauschformate als Eingabeformat sowie zahlreiche Visualisierungsoptionen und produzierte eine statische VRML1.0-Szene.
Im Rahmen dieser Arbeit wurde dieser Service vollkommen überarbeitet. Die generierten 3D-Szenen basieren auf den weiterentwickelten VRML97-Standard und zeigen, welche Optionen in Hinsicht auf Benutzerinteraktion und Dynamik mit Hilfe des neuen Formats möglich sind. Der Service soll zudem als Basis für weitere Entwicklungen dienen.
4.1.2.2 Funktionsbeschreibung

Abb. 4-2: VRML-Dateigenerator: Eingabeformular. (Hier geht es zum Online-Service.)
Abbildung 4-2 zeigt das Eingabeformular des Online-Dienstes. Im oberen Teil des Formulars (Structure Source) kann der Benutzer die chemischen Strukturdaten eingeben. Dabei kann grundsätzlich zwischen zwei Alternativen gewählt werden. Das obere Eingabefeld akzeptiert die sehr kompakte und lineare Notation SMILES der Firma Daylight [104]. Benutzer mit entsprechender Erfahrung im Umgang mit der Syntax von SMILES können auf diese Weise einfache Strukturbeschreibungen eingeben. Im Regelfall benutzen Chemiker jedoch Struktureditoren wie ChemWindow [105] oder ChemDraw [106]. Da diese Applikationen das SMILES-Format als Ausgabe unterstützen, kann durch Copy & Paste der SMILES-String in das Eingabefeld kopiert werden. Der Online-Dienst wurde zudem mit einem Java-basierten Struktureditor [12] ausgestattet, der eine schnelle und unkomplizierte 2D-Struktureingabe sowie eine nachfolgende 3D-Strukturgenerierung auf dem Server ermöglicht.
Die zweite Möglichkeit zur Struktureingabe bietet eine Upload-Funktion zur Übermittlung eigener chemischer Dateien. Der Service unterstützt zur Zeit über vierzig gängige Austauschformate, die sowohl zweidimensionale als auch dreidimensionale Koordinaten enthalten können. Liegen in einer Datei dreidimensionale Koordinaten vor, so werden diese für die Generierung der VRML-Szene herangezogen. Im Fall der SMILES-basierten Eingabe oder bei der Vorlage zweidimensionaler Austauschformate werden die dreidimensionalen Strukturen automatisch mit CORINA generiert.
Viele der bekannten chemischen Austauschformate wie beispielsweise das PDB-Format enthalten keine Information über die in der Verbindung enthaltenen Wasserstoffatome. Bei der Betrachtung der Struktur wird daher oft nicht deutlich, ob ein bestimmtes Atom als Radikal, Carben oder gesättigtes Atom vorliegt. Aus diesem Grunde vervollständigt die Applikation die Wasserstoffpositionen automatisch. Diese Funktion kann bei Bedarf auch deaktiviert werden.
Neben der Struktureingabe verfügt die Anwendung über zahlreiche Visualisierungsparameter. Die wichtigste Option stellt dabei die Wahl des Molekülmodells dar. Neben der Auswahl einzelner in der Chemie üblicher Standard-Visualisierungen (Ball & Stick, Capped, Wireframe und CPK) kann auch eine Repräsentation gewählt werden, die einen interaktiven Wechsel zwischen den vier Modellen erlaubt. Dieser Wechsel wird mit Hilfe eines dreidimensionalen Knopfes in der VRML-Szene realisiert (siehe Abbildung 4-3a).
Neben der Wahl der Moleküldarstellung können zudem weitere Visualisierungsparameter definiert werden. Der Benutzer hat die Möglichkeit Bindungsfarbe und Bindungsradien zu definieren und kann entscheiden, ob die Bindungsordnung ebenfalls dargestellt werden soll. Beim Vorliegen von Mehrfachbindungen wird dabei ein spezieller Algorithmus zur Anordnung der Bindungen eingesetzt. Die Bindungen werden unterhalb und oberhalb der Fläche positioniert, die sich aus der Anordnung der Bindungsatome und der Atome in a-Stellung ergibt. Diese Ausrichtung entspricht in erster Näherung der Anordnung der p-Orbitale.
Der Online-Dienst ist nicht nur in der Lage, dreidimensionale Strukturen zu repräsentieren. Die dargestellten Moleküle können nach Belieben mit einfachen atomaren Eigenschaften wie Atomsymbolen, Ordnungszahlen, Polarisierbarkeit oder s-Ladung versehen werden. Diese Eigenschaften werden automatisch berechnet, soweit sie noch nicht bekannt sind (Abbildung 4-3b).

Abb. 4-3: VRML-Szene mit Strukturdarstellungen von 3,5-Diaminophenol: a) Ball & Stick-Repräsentation, interaktiver Schalter zum Umschalten der Strukturdarstellung; b) Wireframe-Repräsentation mit s-Ladungen; c) CPK-Modell; d) Capped-Darstellung (Farbabbildung: Anhang A, Abb. A-1). Zum Öffnen der 3D-Szene bitte auf das Bild klicken!
VRML wurde für den Transport von dreidimensionalen Szenen im Internet entworfen. Daher enthalten VRML-Szenen keine Angaben über Atome und Bindungen sondern lediglich graphische Objekte. Um dennoch eine chemische Weiterverarbeitung der VRML-Szenen zu gewährleisten, wurde der Online-Dienst mit einer speziellen Funktion ausgestattet. Mit Hilfe dieser Funktion wird die chemische Information über das dargestellte Molekül direkt in der VRML-Szene abgelegt. Die Daten werden dazu mit Hilfe der xdr-Bibliothek von CACTVS (vgl. Abschnitt 2.3.1) plattformunabhängig kodiert und anschließend im Base64-Format in einem spezifischen, selbstdefinierten VRML-Knoten gespeichert.
VRML-Viewer bieten im Gegensatz zu traditionellen Molekülgraphikprogrammen keine Standardoptionen wie das Vermessen von Bindungsabständen und -winkeln sowie Torsionswinkeln. Der VRML-Strukturgenerator stellt diese Funktionalität bereit. Mit Hilfe in die VRML-Szene integrierter Skripte können die notwendigen Berechnungen direkt in der Szene auf der Clientseite vorgenommen werden (Abbildung 4-4). Durch Anklicken der entsprechenden Atome erhält der Benutzer Auskunft über die Koordinaten des selektierten Atoms, den Bindungsabstand der beiden zuletzt selektierten Atome, den Bindungswinkel der letzten drei Atome und dem Torsionswinkel zwischen den vier zuletzt gewählten Atomen.

Abb. 4-4: VRML-Szene: Ball & Stick-Modell mit Berechnungsfunktion (Farbabbildung: Anhang A, Abbildung A-2). Zum Öffnen der 3D-Szene bitte auf das Bild klicken!
Der Online-Dienst verfügt über weitere Optionen, die jedoch lediglich der graphischen Manipulation der Szene dienen und daher an dieser Stelle nicht näher erläutert werden.
4.1.2.3 Implementierung
Der VRML-Strukturgenerator wurde wie viele der in dieser Arbeit vorgestellten Anwendungen nicht als Standalone-Applikation entwickelt, sondern als Visualisierungsmodul des chemischen Managementsystems CACTVS. Dieser Ansatz birgt eine Reihe von Vorteilen, die im Folgenden näher beschrieben werden.
Herzstück der Anwendung ist das im Rahmen dieser Arbeit weiterentwickelte CACTVS-Modul E_VRML. Das Modul setzt sich dabei aus drei wichtigen Teilen zusammen: dem Beschreibungsabschnitt, dem Methodenabschnitt und den Parameterabschnitt. Der Beschreibungsteil dient dabei zur Kommunikation mit der CACTVS-Kernbibliothek und liefert Informationen über die verwendete Methodensprache, den Datentyp, die Funktion des Moduls und vor allem über die Abhängigkeiten von anderen CACTVS-Modulen. Die definierten Abhängigkeiten des VRML-Moduls besagen, dass eine VRML-Szene nur dann generiert werden kann, wenn die Kernbibliothek Kenntnis von den dreidimensionalen Koordinaten, den Atomtypen und den Bindungsordnungen des vorliegenden Moleküls hat. Die Methoden des Moduls dienen dabei lediglich der Generierung des VRML-Szenengraphen, da das Modul nicht für das Einlesen und das Management der chemischen Daten zuständig ist.
Alle dafür notwendigen Daten wie 3D-Koordinaten, Atomtypen etc. als auch Information, die sich aus den bereits bekannten Daten ableiten lassen wie beispielsweise die Farbcodierung eines Atoms oder die s-Ladung, werden direkt von der Kernbibliothek abgefragt. Der dritte Teil des Moduls enthält alle Parameter zur Steuerung der Szenengraphen-Generierung. Diese Parameter entsprechen dabei den Parametern im HTML-Formular.
Abb. 4-5: Schematische Darstellung einer VRML-Strukturgeneratorsitzung.
Das VRML-Modul ist wie alle anderen Module des CACTVS-Systems über die Tcl-Kommandosprache des CACTVS-Systems zugänglich (vgl. Abschnitt 2.3.1.2). Diese Architektur erlaubt die Entwicklung von sehr kleinen, auf der CACTVS-Kommandosprache basierenden CGI (Common Gateway Interface)-Skripten, welche die HTML-basierten Benutzereingaben direkt an die Kernbibliothek weiterleiten können (Abbildung 4-5).
Der Vorteil dieser Architektur wird bei der Betrachtung einer typischen Visualisierungssitzung des Online-Dienstes deutlich. Nachdem das CGI-Skript die Strukturdaten als auch die Visualisierungsparameter aus dem HTML-Formular entgegengenommen hat, werden in einem initialen Schritt die Strukturinformation an die Kernbibliothek weitergeleitet. Sowohl im Fall von SMILES-Strings als auch beim Vorliegen von chemischen Austauschformaten erfolgt dies durch einen einzigen Befehl. Während der SMILES-String direkt in die interne Repräsentation der Kernbibliothek umgewandelt werden kann, muss die chemische Formatdatei noch erst gelesen und analysiert werden. Das Kernsystem ermittelt dabei vollkommen automatisch, um welches Austauschformat es sich handelt, sucht nach einer entsprechenden Leseroutine und lädt schließlich sämtliche dort enthaltenen Daten in das System.
In einem zweiten Schritt modifiziert das CGI-Skript die Parametereinstellungen des VRML-Moduls. Diese Einstellungen wie beispielsweise die Wahl der Darstellungsform entsprechen dabei wie bereits erwähnt den Benutzereinstellungen im HTML-Formular und lassen sich ebenfalls durch ein paar Zeilen CGI-Code realisieren. Damit wurden alle wichtigen Daten an das System übergeben. Das CGI-Skript fordert nun nur noch die entsprechende VRML-Szene von der Kernbibliothek an. Alle dafür notwendigen Schritte laufen dabei vollkommen automatisch und im Hintergrund ab. Das System prüft in einem ersten Schritt, ob es ein Modul findet, welches VRML-Szenen generieren kann. Nachdem es das Modul lokalisiert hat, überprüft es die im Modul definierten Abhängigkeiten und stellt fest, dass zur Generierung von VRML-Szenen unter anderem dreidimensionale Koordinaten notwendig sind. Falls dem System von CGI-Skript eine Austauschdatei mit dreidimensionalen Daten übergeben wurde, hat das Kernsystem bereits Kenntnis über die 3D-Information und das VRML-Modul wird entsprechend seiner Parametereinstellungen ausgeführt. Falls dem System jedoch nur SMILES-Strings oder zweidimensionale Austauschformate übergeben wurden, sucht das System durch automatische Lookup-Mechanismen nach einem Modul, das für die Generierung dreidimensionaler Daten geeignet ist. Dieses Modul startet nach seiner Identifizierung den 3D-Strukturgenerator CORINA (vgl. Abschnitt 2.3.2) und liefert die geforderten 3D-Koordinaten an das System. Im Anschluss erfolgt auch hier die Generierung der VRML-Szene. Nochmal zur Verdeutlichung: Alle zuletzt beschriebenen Schritte innerhalb der Kernbibliothek erfolgen vollkommen automatisch nach Aufruf eines einzigen Kommandos im CGI-Skript, dessen Rückgabewert die temporäre VRML-Szene ist. Die generierte VRML-Szene wird letztendlich an den Browser übermittelt.
4.1.2.4 Diskussion
Seit Einführung der Virtual Reality Modelling Language nutzt die Chemie diesen Internet-Standard als alternatives Medium zur plattformunabhängigen Darstellung chemischer Information. Bei näherer Betrachtung der aktuellen VRML-basierten Standardlösungen in der Chemie fällt jedoch auf, dass der Großteil der im Internet befindlichen VRML-Dateien statische Szenen mit geringen oder keinen Möglichkeiten an Interaktivität repräsentieren. Die Generierung dieser Szenen wird dabei in der Regel durch moderne, plattformabhängige Modelling-Programme bewerkstelligt, die über eine entsprechende VRML-Exportfunktion verfügen. Diese Darstellung ermöglicht dem Betrachter zwar Einblick in die Problematik des Autors, erlaubt jedoch weder weitergehende interaktive Modifizierungen der repräsentierten chemischen Daten noch die Lösung eigener Problemstellungen.
Die Generierung von VRML-Szenen zur Darstellung eigener chemischer Problemstellungen kann insbesondere innerhalb der wissenschaftlichen Ausbildung häufig nicht durch den Einsatz kostspieliger, kommerzieller Programme realisiert werden. Darüber hinaus stellt der Einsatz solcher Programmpakete zur Generierung von VRML-Szenen auch im Bereich der Forschung einen unerwünschten Umweg dar. Vorhandene firmeninterne, Intranet-fähige Informationssysteme sollten vielmehr in der Lage sein, die chemischen Daten direkt und interaktiv in einer VRML-Szene zu repräsentieren.
Der vorliegende VRML-Strukturgenerator stellt nach unserer Erkenntnis die modernste und umfangreichste Lösung zur interaktiven Generierung von VRML-Szenen dar. Ein Vorteil des Online-Dienstes gegenüber anderen VRML-Strukturgeneratoren liegt dabei vor allem in der Vielzahl der möglichen chemischen Eingabeformate begründet. Diese Fähigkeit erlaubt die direkte Eingabe fast aller gängigen und auch exotischeren Dateiformate und macht somit eine umständliche und zeitaufwendige Umformung der chemischen Daten überflüssig. Der pdb2vrml-Dienst [9] der Arbeitsgruppe Brickmann unterstützt lediglich das PDB-Dateiformat, während das CyberMol-System [107] auf ein eigenes Datenformat und das XYZ-Format limitiert ist. Die Eingabe der Daten wird in beiden Online-Diensten darüber hinaus durch die Form der Eingabe kompliziert. Die Daten können im Gegensatz zum VRML-Strukturgenerator nicht mittels einer Upload-Funktion direkt an den Service übergeben werden, sondern müssen durch umständliche Copy & Paste-Aktionen in die Webseite integriert werden. Eine Dateneingabe mittels eines Struktureditors ist ebenfalls ausgeschlossen.
Beide alternativen Ansätze sind nur in der Lage statische VRML-Szenen zu generieren. Der pdb2vrml-Dienst ist zudem nur auf die Generierung von VRML1.0-Szenen ausgelegt und schließt somit die Darstellung dynamischer Prozesse aus. Eine Betrachtung der aktuellen VRML-Viewer zeigt darüber hinaus, dass das veraltete VRML1.0-Format in der Regel nicht mehr unterstützt wird und eine Betrachtung der Szenen somit ausgeschlossen ist. Das auf MOLDA2.0-basierende [108] CyberMol-System ist zwar in der Lage VRML2.0-Szenen zu generieren, es hat sich allerdings bei einer aktuellen Überprüfung des Online-Dienstes gezeigt, dass die Server-seitigen Berechnungsskripte nicht mehr zugänglich sind und der Benutzer daher nur Fehlermeldungen erhält.
Im Gegensatz zu chemischen Austauschformaten enthält eine VRML-Datei keinerlei chemische Information, sondern nur ein dreidimensionales Abbild dieser Information. Eine Rückgewinnung der chemischen Information ist daher in der Regel nicht oder nur sehr schwer möglich. Bei der Entwicklung des VRML-Strukturgenerators wurde dieser Problematik Rechnung getragen. Neben der zusätzlichen Darstellung chemischer Information wie atomaren Eigenschaften ermöglicht die eingebettete Berechnungsfunktion auch weitergehende Untersuchung durch den Benutzer wie beispielsweise die Berechnung von Atomabständen und -winkeln.
Trotz den erweiterten Möglichkeiten zur Untersuchung der Szene, ist eine vollständige Extraktion der chemischen Originaldaten aus einer VRML-Szene im Allgemeinen nicht möglich. Diese Problematik wurde im Arbeitskreis Gasteiger intensiv im Rahmen einer Diplomarbeit untersucht [109]. Um dennoch einen ununterbrochenen Datentransfer zu gewährleisten, bettet der Online-Dienst alle wichtigen chemischen Daten in Form einer kodierten String-Repräsentation in der VRML-Szene ein ("Serialized Objects"). Diese nicht sichtbare Information kann anschließend wieder durch das CACTVS-System aus einer VRML-Szene extrahiert und in chemische Daten rückkonvertiert werden.
Die Verwendbarkeit des Online-Dienstes wird am ehesten bei der Betrachtung der statistischen Zahlen deutlich. Der Online-Dienst steht sowohl auf dem Server der Arbeitsgruppe Gasteiger als auch auf einem Server des US Krebsforschungsinstituts zur Verfügung und wurde seit seiner Einführung im Oktober 1998 bereits über 49.400 mal genutzt. Weltweit verweisen über 260 Online-Verweise auf den Service. Der Online-Dienst wird als Standardwerkzeug im Projekt Molecule of the Month der Universität Bristol [110] eingesetzt. Die allgemeine und offene Verwendbarkeit des Service wird vor allem bei der Betrachtung des Datenbankinterfacees des amerikanischen Krebsforschungsinstituts deutlich [93]. Suchresultate können direkt an den VRML-Strukturgenerator weitergereicht werden ohne dass eine Zwischenspeicherung und Konvertierung der chemischen Daten nötig ist.
4.1.3 VRML-Animationsgenerator
4.1.3.1 Zielsetzung
Während die Zielsetzung des VRML-Strukturgenerators in der Realisierung eines Höchstmaßes an Benutzerinteraktion lag, wurden mit Hilfe des VRML-Animationsgenerators die neuen Funkionen des VRML97-Standards zur Darstellung dynamischer Prozesse in der Chemie untersucht. Das Ziel war die Entwicklung eines Online-Dienstes, der übliche Austauschformate zur Speicherung von Trajektorieninformation einlesen und in Form von animierten VRML-Szenen darstellen konnte.
4.1.3.2 Funktionsbeschreibung
Mit Hilfe einer Upload-Funktion kann der Benutzer ein multiples XYZ-Austauschformat an den Service übergeben. Dieses Dateiformat wird von zahlreichen Molecular Modelling und Moleküldynamik-Programmen als Ausgabeformat angeboten. Zu Demonstrationszwecken kann der Benutzer anstelle eigener Austauschformate eine vordefinierte Beispieldatei als Struktureingabe wählen (Abbildung 4-6).

Abb. 4-6: VRML-Animationsdienst: Eingabeformular. (Hier geht es zum Online-Service.)
Neben der bereits aus dem VRML-Strukturgeneratordienst bekannten Wahl der Molekülrepräsentation (Ball & Stick, Capped, Spacefill), der Bindungsparameter und einiger graphischer Parameter erlaubt der VRML-Animationsservice auch einige animationsspezifische Einstellungen. Zum einen kann der Benutzer die Dauer des Animationszyklus festlegen. Zum anderen hat der Benutzer die Möglichkeit eine Stop & Play-Funktion in die VRML-Szene zu integrieren (Abbildung 4-7, letztes Bild). Mit Hilfe dieses Werkzeugs kann der Benutzer jederzeit die Animation stoppen und fortsetzen. Zudem kann mit Hilfe einer Step-Funktion die Animation schrittweise betrachtet werden.
Abb. 4-7: VRML-Animationssequenz: Initialisierung einer kationischen Polymerisation von 2-Methyl-buten-1 mit Ethanol und Bortrifluorid; unten rechts: Eingebettete Stop/Play/Step-Option. (Farbabbildung: Anhang A, Abbildung A-3). Zum Öffnen der 3D-Szene bitte auf das Bild klicken!
Abbildung 4-7 zeigt Screenshots der Beispielanimation. Die Animation zeigt die Initiierung einer kationischen Polymerisationsreaktion. Neben der Darstellung der in der Austauschdatei vorhandenen Atomkoordinaten und Bindungen ergänzt und repräsentiert der Online-Dienst automatisch Atomabstände, die einen bindungsähnlichen Charakter aufweisen (gelbe Linien in Abbildung 4-7). Mit Hilfe dieser Darstellungsform können beispielsweise stabilisierende bzw. aktivierende Wechselwirkungen zwischen funktionellen Gruppen repräsentiert werden.
Wie auch im VRML-Strukturgeneratordienst hat der Benutzer zum einen die Möglichkeit sich die Animation direkt im Browserfenster zu betrachten. Darüber hinaus kann die Ausgabe auch so definiert werden, dass die generierte VRML-Szene lokal auf dem Client gespeichert werden kann. Dem Benutzer bietet sich somit die Gelegenheit eigene Moleküldynamik-Ergebnisse in Form von VRML-Szenen auf einer Internetseite anzubieten.
4.1.3.3 Implementierung
Der VRML-Animationsdienst basiert wie alle in diesem Kapitel vorgestellte Online-Dienste im Grundsatz auf dem gleichen in Abbildung 4-5 beschriebenen Prinzip (HTML-Formular/CGI-Skript/CACTVS-Kernsystem). Je nach Datentyp und Aufgabenstellung variiert dabei die Anzahl und die Art der verwendeten CACTVS-Module in der Kernbibliothek. Im Fall des VRML-Animationsdienstes wird jedoch das gleiche VRML-Modul wie im VRML-Strukturgeneratordienst verwendet. Aus diesem Grund werden im Folgenden nur die wichtigsten Unterschiede zwischen den Implementierungen der beiden Anwendungen skizziert.
Ein entscheidender Unterschied kann bereits beim Einlesen der Strukturdaten beobachtet werden. Das CACTVS-System bzw. die Leseroutine für das XYZ-Dateiformat erkennt beim Lesen der Daten das Vorliegen multipler, dreidimensionaler Koordinatensätze. Daher wird neben der Speicherung der 3D-Koordinaten auch für jedes Atom der molekularen Szene eine Eigenschaftsbeschreibung namens A_TRAJECTORY definiert. Dieser Datencontainer enthält nach dem Lesevorgang alle in der Austauschdatei definierten 3D-Koordinaten des entsprechenden Atoms. Diese Information wird vom VRML-Modul genutzt, um die Koordinaten in einen speziellen VRML-Knoten den sogenannten PositionInterpolator einzusetzen. Die VRML-Szene wird schließlich noch mit einem Zeitgeberknoten versehen.
Bei der Client-seitigen Animation wird die Szene durch den zentralen Zeitgeberknoten und durch Transformation der Objektkoordinaten entlang der Interpolationspunkte gesteuert. Die optionale Stop & Play-Funktion kann dabei direkt auf den Zeitgeberknoten Einfluss nehmen und erlaubt somit eine Steuerung der Animation druch den Benutzer.
4.1.3.4 Diskussion
Animationen stellen für das Verständnis komplexer Vorgänge insbesondere in der wissenschaftlichen Ausbildung ein wichtiges Werkzeug dar. So kann beispielsweise die zeitliche, geometrische und stereochemische Komplexität einer chemischen Reaktion durch Einsatz animierter Darstellungen besser verstanden werden.
Bei der Betrachtung aktueller, Internet-fähiger Visualisierungsapplikationen fällt auf, dass bis auf wenige Ausnahmen wie das Chime-Plugin keine Anwendung in der Lage ist, dreidimensionale Animationen zu visualisieren. MPEG-basierte Videofilme oder animierte GIF-Sequenzen werden bei dieser Betrachtung nicht berücksichtigt, da sie keine Benutzerinteraktion zulassen und es sich bei diesen Medien nicht um dreidimensionale Darstellungsformen handelt.
Bei einer näheren Betrachtung des Chime-Plugins wird schnell der rudimentäre Charakter der Animationsfähigkeit sowie die vergleichbar schlechte Qualität der Animation deutlich. Die Ursache für die eingeschränkte Animationsfähigkeit liegt dabei in der Visualisierungstechnik von Chime begründet. Chime wurde in erster Linie zur Visualisierung von Strukturen entwickelt. Um Animationen zu realisieren, schaltet die Applikation zwischen den einzelnen molekularen Szenen, die sich aus dem multiplen Koordinatensätzen ergeben, hin und her. Je nach Anzahl der Koordinatensätze ergibt sich damit eine mehr oder weniger unruhige Bildfolge. Beim Vorliegen von nur zwei oder drei Koordinatensätzen ist eine brauchbare Animation nicht möglich. Darüber hinaus stehen dem Benutzer nur sehr limitierte Optionen zur Beeinflussung der Animation zur Verfügung.
Als graphisches Datenformat bietet VRML97 sehr komfortable Optionen zur Realisierung hochaufgelöster Animationen. Die Qualität der vom Online-Dienst generierten Szenen hängt dabei nicht von der ursprünglichen Anzahl der Koordinatensätze ab. Die Koordinaten dienen lediglich als Eckpunkte für die eingebetteten Interpolatoren. Während der Animation werden alle Objekte (Atome, Bindungen) dynamisch zwischen diesen Eckdaten verschoben, rotiert, skaliert und umgeformt. Durch den Interpolationsmechanismus lassen sich somit sehr hochaufgelöste Animationen erstellen, selbst wenn die Originaldaten nur über zwei Koordinatensätze verfügen. Ein weiterer Vorteil dieser Technik ist, dass nur ein konstanter Satz an Objekten anstelle von zahlreichen einzelschrittbasierten Objekten verwaltet werden muss.
Der VRML-Animationsgenerator ist nach unserer Erkenntnis der einzige interaktive Online-Dienst seiner Art. Er wurde in den letzten zwei Jahren über 5.000 mal verwendet und ist wie der VRML-Strukturgenerator in vielen chemischen Hyperlinksammlungen vertreten.
4.1.4 ComSpec3D
4.1.4.1 Zielsetzung
Die Quantenchemie ist eines der Felder in der Chemie, welches aufgrund des theoretischen und mathematischen Charakters sowohl von vielen Studenten als auch von Chemikern, die auf diesem Gebiet nicht spezialisiert sind, als schwer zugänglich angesehen wird. Zu den Eigenschaften, die über quantenchemische Rechnungen vorhersagbar sind, gehören die Infrarot- und Raman-Spektren. Zu jedem Absorptionspeak gehört dabei eine Molekülschwingung, die sogenannte Normalschwingung, die sich aus der Kräftematrix der Auslenkung der Atome aus der Ruheposition ableiten lässt. Im Widerspruch zu den einfachen Modellen, die vielfach zur Spektreninterpretation herangezogen werden (im Sinne von CO Schwingung bei x cm-1) handelt es sich dabei um Schwingungen des gesamten Gerüstes, die nicht immer vorwiegend einer einzelnen Bindung oder funktionellen Gruppe zugeordnet werden können. Die praktische Vorstellungskraft versagt rasch, wenn es um das Verständnis dieser Schwingungen aus Zahlentabellen geht. Werden diese Schwingungen jedoch in Form animierter 3D-Szenen angezeigt, wird die Logik hinter ihnen schnell verständlich.
Das Ziel war daher die Entwicklung einer Internet-Anwendung, die für beliebige Moleküle Infrarot- und Ramanspektren vorhersagen kann und eine animierte Darstellung der zu den Intensitätspeaks korrespondierenden Normalschwingungen erlaubt.
4.1.4.2 Funktionsbeschreibung
Das Eingabeformular des Online-Dienstes setzt sich zum einen aus einem Struktureingabeteil und zum anderen aus einem Teil zur Eingabe von Visualisierungsparametern zusammen (Abbildung 4-8). Mit Hilfe eines Java-basierten Struktureditors bietet sich dem Benutzer die Möglichkeit, beliebige Strukturen zu zeichnen und zur Berechnung von Spektren und Normalschwingungen an den Service zu übergeben. Alternativ dazu kann der Benutzer SMILES-Strings als Struktureingabeform benutzen. Da die quantenchemische Berechnung der Spektren (VAMP) trotz Verwendung von durch CORINA generierter, voroptimierter 3D-Koordinaten sowie Einsatz der einfachen AM1-Methode sehr rechenintensiv sein kann, wird die Anzahl der Atome bei der Struktureingabe auf dreißig begrenzt. Darüber hinaus darf sich die Verbindung nur aus Hauptgruppenelementen zusammensetzen. Diese Limitierung stellt sicher, dass die notwendigen Berechnungen in der vom Benutzer erwarteten und für das Internet typischen Antwortzeiten realisiert werden können.

Abb. 4-8: ComSpec3D: Eingabeformular. (Hier geht es zum Online-Service.)
Die neben der Struktureingabe implementierten Optionen ermöglichen dem Benutzer eine komfortable Beeinflussung der animierten Normalschwingungen nach chemischen als auch graphischen Gesichtspunkten.
Da Spektrenpeaks mit sehr kleinen Intensitäten für das Verständnis von quantenchemischen Vorgängen eine geringe Bedeutung haben, kann die Anzahl der dargestellten Normalschwingungen mit Hilfe eines Intensitätsgrenzwertes eingeschränkt werden. Dieser Grenzwert kann vom Benutzer frei gewählt oder auch deaktiviert werden. Des Weiteren kann der Benutzer die Darstellung der graphischen Szene beeinflussen, in dem er die Zeitdauer eines Animationszyklus, die Anzahl der zugrunde liegenden Einzelschritte als auch das relative Maß der Schwingungsauslenkung (Skalierung der berechneten Werte) innerhalb eines sinnvollen Wertebereichs bestimmen kann.
Die Schwingungsfrequenz einer Normalschwingung hängt unmittelbar von der Kraftkonstante ab. Hohe Kraftkonstanten führen zu hohen Wellenzahlen bzw. zu niedrigen Schwingungsfrequenzen, kleine Kraftkonstanten zu hohen Schwingungsfrequenzen. Dieser Umstand wird im Spektrum durch die verschiedenen Wellenzahlen ausgedrückt. ComSpec3D bietet die Möglichkeit diese Abhängigkeit auch in der Animation widerzuspiegeln. Die Animationsgeschwindigkeit der Normalschwingung wird dabei in Abhängigkeit von der Kraftkonstante dargestellt. Die Repräsentation von Normalschwingungen bei großen Wellenzahlen kann dabei zu sehr schnellen, nur noch schlecht zu verfolgenden Animationssequenzen führen. Aus diesem Grund kann als Alternative auch eine Standardgeschwindigkeit für alle Animationen gewählt werden.

Abb. 4-9: ComSpec3D: HTML-Seite mit quantenchemisch berechneten Spektren und selektierbaren Wellenzahlen (Link zu den korrespondierenden Normalschwingungsanimationen). (Farbabbildung: Anhang A, Abbildung A-4).
Nachdem der Benutzer alle erforderlichen Eingaben vorgenommen hat, werden die 3D-Koordinaten mit CORINA berechnet und anschließend zur quantenchemischen Berechnung (AM1) an VAMP übergeben Die resultierenden Spektren sowie die Wellenzahlen der Normalschwingungen werden schließlich in einer HTML-Seite dargestellt (Abbildung 4-9).
Die dynamisch generierte HTML-Seite besteht dabei aus drei Abschnitten. Im obersten Abschnitt werden zunächst die für die eingesetzte Struktur berechneten Raman- und Infrarotspektren dargestellt. Alle wichtigen Daten bezüglich der eingesetzten Strukturinformation als auch der quantenchemischen Berechnung können der nachfolgenden Tabelle entnommen werden. Die Tabelle enthält unter anderem die Summen- und Strukturformel der berechneten Verbindung, Angaben über das eingesetzte quantenchemische Programm als auch die verwendete Methode.
Im letzten Abschnitt befindet sich schließlich die Tabelle mit der Information über die Normalschwingungen. Der Benutzer kann dabei der Tabelle Daten wie Namen, Wellenzahl und Intensitäten der einzelnen Normalschwingungen entnehmen. Durch Anklicken einer Wellenzahl kann der Benutzer ein zweites Browserfenster öffnen, in dem die entsprechende Normalschwingung als animierte 3D-Szene dargestellt wird (Abbildung 4-10).
Abb. 4-10: ComSpec3D: VRML-Animationssequenz: -OH Deformationsschwingung von Phenol bei 1383 cm-1 (Farbabbildung: Anhang A, Abbildung A-5). Zum Öffnen der 3D-Szene bitte auf das Bild klicken!
4.1.4.3 Implementierung
Aufgrund der zusätzlich benötigten quantenchemischen Information ist die Realisierung des ComSpec3D-Dienstes im Gegensatz zum VRML-Animationsgenerator wesentlich aufwendiger. Während der Implementierung des Online-Services wurden über fünfzehn zusätzliche CACTVS-Module entwickelt. Da eine detaillierte Beschreibung der einzelnen Vorgänge den Rahmen dieser Arbeit sprengen würde, wird im Folgenden nur auf die vier wesentlichen Module (E_RAMANSPECTRUM, E_IRSPECTRUM, E_VIBRATION_VRML, E_RAMANIRGIF und A_NORMAL_VIBRATIONS) und ihr Zusammenwirken eingegangen.
Ein wesentlicher Unterschied zu den beiden bereits erwähnten Anwendungen wird bei der Betrachtung der schematischen Darstellung einer ComSpec3D-Sitzung deutlich (Abbildung 4-11). Die Berechnung der Raman- und Infrarotspektren und die Darstellung der animierten Normalschwingungen findet dabei in einem zweistufigen Prozess statt. Im ersten Schritt werden alle notwendigen quantenchemischen Daten berechnet und in einer aufbereiteten Form an den Benutzer zurückgeliefert. Mit Hilfe dieser Information kann der Benutzer in einem zweiten Schritt die zu visualisierenden Normalschwingungen auswählen.
Abb. 4-11: Schematische Darstellung einer ComSpec3D-Sitzung.
Wie bei allen in diesem Kapitel vorgestellten Anwendungen werden auch in der ComSpec3D-Applikation zunächst vom Benutzer definierte Strukturinformation an das System übergeben. Nach der Übergabe der Strukturdaten fordert das CGI-Skript die Spektreninformation, genauer gesagt die graphische Spektrenrepräsentation (E_RAMANIRGIF), von der Kernbibliothek an. Alle dazu notwendigen Prozeduren laufen dabei wiederum vollkommen automatisch und für den Benutzer unsichtbar im Hintergrund ab. Die wichtigsten Mechanismen dieser Prozedur werden im Folgenden erläutert.
Bei der Abfrage des Spektrenbildes sucht das Kernsystem zunächst nach der dafür notwendigen Eigenschaftsbeschreibung E_RAMANIRGIF. Da die entsprechenden Bilddaten zu diesem Zeitpunkt noch nicht vorliegen, muss das Spektrum durch die im Modul implementierten Funktionen zuerst gezeichnet werden. Dies ist aber nicht ohne das Vorhandensein der eigentlichen Spektreninformation möglich. Das Modul verweist das Kernsystem deshalb auf die Spektrendatenmodule E_RAMANSPECTRUM und E_IRSPECTRUM. Auch diese Module enthalten zu diesem Zeitpunkt noch keine Information, sind jedoch in der Lage diese Daten zu generieren bzw. generieren zu lassen. Um die benötigten Spektrendaten zu berechnen, müssen vorher 3D-Koordinaten vorliegen. Die Generierung der dreidimensionalen Struktur erfolgt dabei analog zu den bereits beim VRML-Generator beschriebenen Mechanismen mit dem Strukturgenerator CORINA (vgl. Abschnitt 4.1.2.3).
Nachdem die 3D-Information an das Spektrenmodul weitergeleitet wurde, generiert das Modul eine Eingabedatei für das externe, semi-empirische MO-Programm VAMP (vgl. Abschnitt 2.3.3) und startet das Programm zur Berechnung der notwendigen Daten (VAMPBefehlszeile: AM1 FORCE SPECTRUM XYZ GNORM=0.04). Nach Beendigung der VAMP-Berechnung werden die Daten automatisch aus der Ausgabedatei und der Spektrendatei extrahiert und in die entsprechenden Datencontainer eingefügt. Bei diesem Vorgang werden sowohl die Module E_IRSPECTRUM als auch die Datencontainer E_RAMANSPECTRUM, A_NORMAL_VIBRATIONS und eine ganze Reihe weiterer Module mit den berechneten Daten beladen. Nach dieser automatischen Prozedur ist schließlich auch das vom CGI-Skript aufgerufene Modul E_RAMANIRGIF in der Lage, die Spektren zu zeichnen.
Neben der Anforderung der Spektreninformation veranlasst das CGI-Skript darüber hinaus die temporäre Speicherung aller berechneten und eingelesenen Daten. Diese Zwischenspeicherung verhindert, dass für die nachfolgende Generierung der animierten Normalschwingungen eine erneute Berechnung der quantenchemischen Information notwendig wird.
Mit der Repräsentation der wichtigsten Daten in Form einer dynamischen HTML-Seite endet schließlich die erste Stufe der ComSpec3D-Sitzung.
Durch Wahl einer beliebigen, in der HTML-Seite dargestellten Wellenzahl kann der Benutzer in der zweiten Stufe die Generierung und Visualisierung der korrespondierenden Normalschwingungsanimation starten. Zu diesem Zweck wurden die einzelnen Wellenzahlen mit Hyperlinks versehen, die das zweite CGI-Skript aktivieren. Dabei wird dem CGI-Skript jede notwendige Information wie der Pfad zu den temporären Daten, der Index der gewünschten Normalschwingung als auch die vom Benutzer definierten Visualisierungsparameter übermittelt. Das CGI-Skript leitet diese Information an das Kernsystem weiter und ruft anschließend das VRML-Modul E_VIBRATION_VRML zur Generierung der entsprechenden Normalschwingungsanimationen auf. Die generierte VRML-Szene wird abschließend vom CGI-Skript an den Client übermittelt und dort in einem zweiten Browserfenster visualisiert.
4.1.4.4 Diskussion
Die Spektroskopie spielt in der chemischen Ausbildung eine wichtige und grundlegende Rolle. In den vergangenen Jahren wurden daher eine Vielzahl an Plugins und Applets entwickelt, die alle möglichen Spektrenformen plattformunabhängig darstellen können. Neben dem eigentlichen Spektrum bekommen aber vor allem die zu den Intensitätspeaks korrespondierenden Normalschwingungen eine bedeutende Rolle beim Verständnis der theoretischen Grundlagen. Eine ansprechende Repräsentation der Normalschwingungen stellt jedoch hohe Ansprüche hinsichtlich der Generierung und Visualisierung der hierfür notwendigen Daten. Die Zahl der Web-Anwendungen ist aus diesem Grund sehr limitiert und die Qualität der einzelnen Applikationen variiert dabei stark.
In einigen Online-basierten Spektroskopiekursen werden die Normalschwingungen in Form animierter GIF-Sequenzen [111] oder als MPEG-kodierte Filme [112] dargestellt. Diese statischen Lösungen stellen durchaus einen Vorteil gegenüber üblichen papierbasierten Darstellungsformen dar, erlauben jedoch keine Interaktion durch den Betrachter. Eine dreidimensionale, animierte Darstellung von Normalschwingungen in Abhängigkeit von Intensitätspeaks in Infrarotspektren konnte jedoch mit Hilfe des Chime-Plugins [8] als auch durch Verwendung von VRML [85, 86] demonstriert werden. Diese Ansätze dienen jedoch lediglich zu Demonstrationszwecken und sind daher auf einen speziellen Einzelfall limitiert. Durch Auswahl von Intensitätspeaks in einem als GIF dargestellten Spektrum können dabei die korrespondierenden Normalschwingungen angezeigt werden. Die für die Animation notwendigen quantenchemischen und strukturellen Daten werden zu diesem Zweck vorberechnet und als statische Information auf dem Server abgelegt.
Eine Weiterentwicklung der Chime-basierten Darstellung animierter Normalschwingungen wurde von Lancashire et al. vorgestellt [113]. In diesem Ansatz wird das Chime-Plugin sowohl zur Visualisierung der Spektren als auch zur Animation der Normalschwingungen eingesetzt. Beide Repräsentationen können dabei auch miteinander verknüpft werden. Darüber hinaus wurden Programme zur Extraktion der notwendigen Daten aus GAUSSIAN-berechneten Ausgabedateien entwickelt und zur Verfügung gestellt. Trotz dieser Weiterentwicklung ist die Methode nicht universell einsetzbar. Der Anwender muss zur Realisierung des Ansatzes sowohl über Strukturdaten, quantenchemische Programme zur Berechnung der entsprechenden Normalschwingungen als auch Dateiformate mit den entsprechenden Spektren verfügen. Die Methode ist daher auf eine sehr begrenzte Benutzergruppe, welche die oben genannten Programme und Dateien besitzt, limitiert und darüber hinaus mit einem erheblichen Zeitaufwand verbunden.
Eine interaktive, Web-fähige Lösung stellt die WebMO-Anwendung dar [114]. WebMO ist eine Internetanwendung zur Bedienung gängiger quantenchemischer Programme sowie zur Analyse und Visualisierung der berechneten Ergebnisse.
WebMO erlaubt unter anderem die Bedienung einer komfortablen Benutzeroberfläche und damit der darunter liegenden Programme zur Berechnung der Normalschwingungen und Spektren. Die berechneten Spektren und Normalschwingungen können anschließend mit Hilfe von Java-basierten Applikationen betrachtet werden. Die Normalschwingungen werden dabei jedoch nicht in animierter Form sondern lediglich durch ausgerichtete Pfeile an den entsprechenden Atomen repräsentiert. Da WebMO nicht als eigenständiger Online-Dienst entwickelt wurde, existiert nur eine stark eingeschränkte Demoversion, welche die Fähigkeiten der Benutzeroberfläche beschreibt.
Ein für die interaktive Darstellung von Normalschwingungen entwickelter Online-Dienst ist CyberMol [107]. Die qunatenchemische Berechnung beliebiger Moleküle ist mit CyberMol ebenfalls nicht möglich. Vielmehr muss der Benutzer eigene GAUSSIAN-Ausgaben in ein entsprechendes Textfeld im Online-Dienst kopieren. Die resultierende VRML-basierte Darstellung der Normalschwingungen erfolgt wie bei WebMO durch Pfeilbeschreibungen und nicht durch Animation der Szene. Darüber hinaus scheint der Service wie bereits beschrieben nicht mehr aktiv zu sein.
Die in dieser Arbeit entwickelte ComSpec3D-Anwendung stellt zur Zeit das komfortabelste und am weitesten entwickelte, interaktive Werkzeug zur Berechnung und Darstellung von Infrarot- und Raman-Spektren sowie den korrespondierenden Normalschwingungen dar. Der Online-Dienst setzt weder zusätzliche lokale Programmpakete noch das Vorliegen chemischer Daten voraus. Die Anwendung kann daher von jedermann benutzt werden und eignet sich somit für den unkomplizierten Einsatz in der chemischen Ausbildung an Schulen und Universitäten.
Neben der bereits erwähnten besseren Qualität von VRML-Animationen im Vergleich zu Chime-Darstellungen sind die Möglichkeiten zur Beeinflussung der Animation ebenfalls wesentlich größer. Dieser Vorteil äußert sich bei ComSpec3D unter anderem in der Fähigkeit Animationsgeschwindigkeiten in Abhängigkeit von der jeweiligen Frequenz darzustellen.
ComSpec3D wird von diversen Schulen und Universitäten im In- und Ausland benutzt. Der Online-Dienst wurde dabei seit April 1999 über 22.100 mal benutzt. Der Web-Service wurde darüber hinaus von der Multimedia Educational Resource for Learning and Online Teaching (MERLOT) begutachtet und hinsichtlich seines Potentials zum verbesserten Lernen mit Höchstnoten ausgezeichnet.
4.1.5 MolSurf
4.1.5.1 Zielsetzung
Die Repräsentation molekularer Oberflächen hat in der Chemie und hier besonders in der Pharmaforschung große Bedeutung erreicht. Viele aktuelle Fragestellungen lassen sich heute ohne die Kenntnis der molekularen "Gestalt" sowie den auf ihr abgebildeten molekularen Eigenschaften nicht mehr lösen. Dieser Umstand hat in den letzten Jahren zu einer rasanten Entwicklung von leistungsfähigen Programmen zur Generierung und Visualisierung von Moleküloberflächen geführt. Der Nutzen der Oberflächenvisualisierung ist aber längst nicht mehr nur auf die chemische Forschung limitiert. Auch in der chemischen Ausbildung wurde das Potential dieser Darstellungsform erkannt [115].
Ein großes Problem bei der Nutzung von Oberflächenrepräsentationen in der Ausbildung liegt jedoch in dem Umstand, dass aktuelle Standardprogramme zur Berechnung von Oberflächen nicht für den Einsatz im Unterricht konzipiert sind. Zum einen sind Schüler als auch Lehrer oft nicht in der Lage, die mächtigen Molecular Modelling-Programme zu bedienen. Zum anderen stellt aber auch der im Allgemeinen hohe Preis dieser Softwarepakete ein nicht zu unterschätzendes Problem dar. Darüber hinaus wurden die kommerziellen Applikationen für wesentlich komplexere Strukturen und Problemstellungen entworfen und bieten aus diesem Grund keine vereinfachten Funktionen zum qualitativen Vergleich von einfachen Molekülen.
Die MolSurf-Anwendung wurde speziell für die Bedürfnisse von Schulen und Universitäten in enger Absprache mit Dozenten und Lehrern entwickelt. Das Ziel war dabei die Realisierung eines einfach zu bedienenden Programms zur Darstellung molekularer Oberflächen, welches die speziellen, oben beschriebenen Forderungen erfüllt.
4.1.5.2 Funktionsbeschreibung
Für die chemische Ausbildung werden vor allem kleine und einfache Verbindungen benötigt. Die dafür notwendigen Strukturdaten stehen jedoch im Allgemeinen den Lehrern und Dozenten nicht zur Verfügung und können in der Regel auch nicht aus Online-Datenbanken bezogen werden. Aus diesem Grund wurde die MolSurf-Anwendung mit einem Struktureditor ausgestattet (Abbildung 4-12). Die benötigten Verbindungen können auf diese Weise leicht erstellt und zur weiteren Berechnung an den Service übergeben werden. Alternativ dazu kann die Strukturinformation auch als SMILES-String eingegeben werden. Die Struktureingabe ist dabei in beiden Fällen aus den bereits in Abschnitt 4.1.4.2 beschriebenen Gründen auf Verbindungen mit maximal dreißig Atome (inkl. Wasserstoffatome) begrenzt. Für den alltäglichen Einsatz im Chemieunterricht ist diese Limitierung jedoch vollkommen ausreichend. Eine dritte Option erlaubt die Eingabe von Datenformaten, die bereits berechnete Oberflächeninformation enthalten. Zur Zeit wird dabei lsowohl das VAMP- als auch das COSMO-Format unterstützt (42, 249).
Abb. 4-12: MolSurf: Eingabeformular. (Hier geht es zum Online-Service.)
Nach Eingabe der Strukturdaten kann der Dozent bzw. der Schüler die Darstellungsform der Moleküloberfläche wählen. Der Service unterstützt dabei die wichtigsten Repräsentationsarten wie Solid, Chicken Wire bzw. Mesh und Dot Cloud (Abbildung 4-13 a-c). Darüber hinaus können auch alle Darstellungsformen in der VRML-Szene integriert und dort interaktiv geändert werden. Bei der Repräsentation der Strukturdaten stehen dem Benutzer die gleichen Darstellungsformen wie beim VRML-Generator zur Verfügung (vgl. Abschnitt 4.1.2.2). Auch diese Darstellungen können vom Benutzer interaktiv in der VRML-Szene ausgetauscht werden (Abbildung 4-13 d-f).

Abb. 4-13: MolSurf: VRML-Szene mit Strukturen und SES-Oberflächen (semitransparent) von TNT: a) - c): Rainbow-Farbskalierung einer a) Solid-Repräsentation, b) Dot Cloud-Repräsentation, c) Chicken Wire-Repräsentation; d)-f): Blau-Weiß-Rot-Farbskalierung einer Solid-Oberflächen-Repräsentation mit unterschiedlichen Strukturmodellen: d) Capped, Ball & Stick und f) Wireframe (Farbabbildung: Anhang A, Abbildung A-6). 3D-Szene 1 und 2!
Der Online-Dienst unterstützt zur Zeit nur die Abbildung des molekularen elektrostatischen Potentials auf der Moleküloberfläche. Dies reicht jedoch für die Lösung didaktischer Problemstellungen meist aus.
Es stehen dem Benutzer drei gebräuchliche Farbpaletten zum Einfärben der molekularen Oberfläche zur Verfügung. Neben der Regenbogen-Farbpalette (21 Farben) und der gröberen ASA-Farbpalette (9 Farben) steht auch noch eine Rot-Weiß-Blau-Farbskala zur Verfügung. Für den Fall, dass keine molekulare Eigenschaft auf der Oberfläche abgebildet werden soll, kann die Farbcodierung auch deaktiviert werden.
Eine wichtige Funktion für den Einsatz im Chemieunterricht stellt die Skalierbarkeit des Farbwertebereichs dar. Bei dieser durch den Benutzer definierten Skalierung können für das elektrostatische Potential frei definierbare Maxima und Minima angegeben werden, die als Grenzwerte für den Farbverlauf dienen. Den berechneten, molekularen Eigenschaftswerten wird anschließend ein durch diese Farbskala definierter Farbwert zugeordnet. Die vom Benutzer definierte Farbskala kann anschließend für eine Reihe von Molekülen eingesetzt werden, womit ein Vergleich der unterschiedlichen, molekularen Eigenschaften ermöglicht wird. So können mit Hilfe dieser Skalierung molekulare Effekte wie beispielsweise der Einfluss einer Säuregruppe in unterschiedlichen Carbonsäuren vermittelt werden. Darüber hinaus ermöglicht die Skalierung auch die Angabe von Grenzwerten. Dabei werden Eigenschaftswerte mit größeren bzw. kleineren Werten als der definierte Maximal- bzw. Minimalwert in der gleichen Farbe wie der Maximal- bzw. Minimalwert dargestellt. Neben der Skalierung kann auch die Originalskalierung (berechnete Maxima und Minima definieren die Grenzen der Farbskala) oder eine relative Skalierung (größter, absoluter Wert der berechneten Maxima/Minima definiert die Grenzen der Farbskala) gewählt werden.
Nach Eingabe der Strukturinformation werden zunächst die 3D-Koordinaten der Verbindung mit Hilfe von CORINA berechnet. Die dreidimensionale Struktur wird anschließend zur quantenchemischen Berechnung an VAMP übergeben (AM1, SCF), wobei die Gitterpunkte der Solvent-Excluded-Surface-Oberfläche sowie die Oberflächenwerte des elektrostatischen Potentials berechnet werden. Aus den berechneten Daten wird schließlich eine VRML-basierte, dreidimensionale Szene erstellt und diese an den Benutzer zurückgeliefert (Abbildung 4-13, 4-14).
Abb. 4-14: MolSurf: VRML-Oberfläche (Solid-Repräsentation) von Trinitrotoluol mit integriertem HUD-Menü (Farbabbildung: Anhang A, Abbildung A-7). Zum Öffnen der 3D-Szene bitte auf das Bild klicken!
Mit Hilfe eines semitransparenten Head-Up-Display-Menüs (HUD-Menü), das in der VRML-Szene integriert ist, kann der Benutzer die Szene interaktiv manipulieren (Abbildung 4-14). So kann mit Hilfe des Menüs die dargestellte Oberflächenrepräsentation verändert oder die Strukturdarstellung ein- oder ausgeblendet werden. Darüber hinaus kann mit Hilfe einer Slider-Funktion die Transparenz der Oberfläche beliebig variiert werden. Die Legende für die Farbgebung ist ebenfalls im HUD-Menü integriert.
Die generierten SES-Oberflächen können über eine zusätzliche Speicheroption auch lokal auf dem Client abgespeichert werden.
4.1.5.3 Implementierung
Für die Generierung und Speicherung der molekularen Oberflächendaten und Eigenschaften wurden sechs neue Eigenschaftsbeschreibungen bzw. Module sowie eine Leseroutine für das quantenchemische Programm VAMP entwickelt.
Die Generierung der 3D-Koordinaten und der VRML-Repräsentation für die molekulare Struktur erfolgt dabei nach den bereits vorgestellten Mechanismen (vgl. Abschnitt 4.1.2.3) und wird daher an dieser Stelle nicht mehr näher erläutert. Das zentrale Modul bei der Generierung der Oberflächendaten ist die Eigenschaftsbeschreibung O_POINT. Dieses Modul enthält, wie der Name schon sagt, die 3D-Koordinaten der Raumpunkte, welche die molekulare Oberfläche beschreiben. Nachdem die 3D-Koordinaten in gewohnter Weise (CORINA) generiert wurden, erstellt das Oberflächenmodul zunächst eine VAMP-Eingabedatei. Durch die in der Eingabedatei enthaltenen Befehle MAP und SES wird VAMP veranlasst, eine Solvent Excluded Surface (vgl. Abschnitt 3.1.3.4) für das vorliegende Molekül zu erstellen (VAMP-Befehlszeile: AM1 1SCF NOZ XYZ MAP). Die triangulierten Oberflächendaten als auch die Werte des darauf abgebildeten molekularen elektrostatischen Potentials werden von VAMP in eine Ausgabedatei geschrieben und mit Hilfe der VAMP-Leseroutine in das CACTVS-System eingelesen. Nach dem Einlesevorgang steht die Oberflächeninformation in den CACTVS-internen Oberflächenmodulen zur Verfügung.
Im Gegensatz zu den bereits beschriebenen Anwendungen wird die übergeordnete VRML-Szene nicht durch ein spezielles CACTVS-Modul generiert. Lediglich die dreidimensionale Molekülstruktur wird mit Hilfe des bereits bekannten E_VRML-Moduls erstellt. Die Generierung der VRML-basierten Oberfläche wird in der MolSurf-Anwendung direkt vom CGI-Skript unter Verwendung der in den Oberflächen-Modulen enthaltenen Daten realisiert. Die bereits zuvor generierte VRML-Datei der Molekülstruktur wird anschließend in die vom CGI-Skript generierte VRML-Szene integriert.
4.1.5.4 Diskussion
Zur Generierung und Visualisierung molekularer Oberflächen und Eigenschaften steht dem Chemiker heute eine große Anzahl an kommerziellen und kostenfreien, plattformabhängigen Programmen zur Verfügung. Während vor einigen Jahren die Darstellung molekularer Oberflächen nur auf diese Standalone-Applikationen begrenzt war, existieren heute auch einige Web-Anwendungen zur Repräsentation entsprechender Datenobjekte. Einige dieser Programme sind Plugins wie beispielsweise WebLab Viewer [79] und Chime [32]. Diese Plugins sind in der Lage, Solvent Accessible Surfaces als auch das molekulare elektrostatische Potential zu generieren und zu visualisieren. Die Qualität der Darstellung variiert zwischen den Plugins sehr stark. Aufgrund seiner eingeschränkten Farbdarstellungsfähigkeiten weist das Chime-Plugin die schlechteste Repräsentation auf. Darüber hinaus unterstützt diese Anwendungen nur sehr rudimentäre Optionen zur Beeinflussung der Oberflächendarstellung. Ein weiterer Nachteil dieser Plugins begründet sich durch ihren plattformabhängigen Charakter. In der Regel können die Applikationen nur auf Windows- und eingeschränkt auf Mac-Plattformen zum Einsatz kommen. Der Einsatz des Chime-Plugins in Verbindung mit der neuen Generation an Webbrowsern wird darüber hinaus zur Zeit nicht unterstützt, was dessen Einsatz stark einschränkt. Obwohl durch diese Systeme in der Regel keine zusätzlichen Kosten entstehen ist deren Einsatz im Chemieunterricht daher nur bedingt möglich. Das liegt unter anderem auch an dem Umstand, dass die Plugins nicht auf die Lösung spezieller didaktischer Problemstellungen wie die Skalierbarkeit der Farbwerte ausgerichtet sind. Zum anderen fordern diese Programme das Vorliegen entsprechender 3D-Austauschformate, die in der Regel den Lehrern bzw. Schülern nicht zur Verfügung stehen.
Die in den Plugins implementierten Funktionen zur Generierung der Oberflächen und der Moleküleigenschaften erlauben in der Regel nur vereinfachte bzw. genäherte Ausgaben. Qualitativ höherwertige Ergebnisse erfordern den Einsatz spezieller Programme. Die Ausgaben dieser Programme können sehr leicht mit dem plattformunabhängigen VRML-Standard visualisiert werden. Der Einsatz von VRML erlaubt dabei eine im Gegensatz zu den Plugins höherwertige Darstellungsqualität. Darüber hinaus bietet sich mit Hilfe dieses Austauschsformat auch die Möglichkeit einer verbesserten Interaktion.
Eine sehr einfache VRML-basierte Darstellung molekularer Elektronendichten erlaubt die Waltz-Applikation des National Center for Supercomputing Applications [116]. Das Programm ermöglicht die Eingabe von Elementen über ein HTML-basiertes Periodensystem und visualisiert die resultierenden Elektronendichten mit Hilfe statischer oder animierter Bilder. Alternativ zu dieser 2D-Repräsentation kann der Benutzer auch eine einfarbige VRML-Oberfläche zur Darstellung der Elektronendichte betrachten. Die stark eingeschränkten und limitierten Eingabemöglichkeiten sowie die sehr einfachen Darstellungsformen (keine Strukturdaten, keine molekularen Eigenschaften) sind für die Nutzung dieser Anwendung in der chemischen Ausbildung unzureichend.
Einen weiterentwickelten Ansatz stellt das Web-Interface des Programms MSMS dar [117]. MSMS wurde speziell für die schnelle Berechnung von molekularen Oberflächen entwickelt. Der Service bietet einige Optionen mit denen die Oberflächendarstellung beeinflusst werden kann. Unter anderem kann der Benutzer dabei den Repräsentationsstil der Oberfläche wählen (Solid, Chicken Wire, Points). Leider unterstützt MSMS nur den veralteten VRML1.0-Standard, der von vielen aktuellen VRML-Viewern nicht mehr dargestellt werden kann. Darüber hinaus ist auch bei MSMS die Eingabe bereits vorliegender 3D-Strukturinformation notwendig.
Das zur Zeit am weitesten entwickelte Online-Werkzeug zur Analyse und Visualisierung molekularer Strukturen und Oberflächen ist GRASS [118]. GRASS ist ein Web-fähiges Frontend des Programms GRASP und vor allem für den Einsatz mit Proteinen konzipiert. GRASS unterstützt den VRML97-Standard und ist in der Lage, beliebig definierte Oberflächen sowie eine Vielzahl molekularer Eigenschaften wie beispielsweise das elektrostatische Potential, die Hydrophobizität oder Atomladungen zu visualisieren. Das Benutzerinterface ist aus diesem Grunde auch entsprechend komplex und teilweise sehr kompliziert. Der Online-Dienst setzt als Eingabe Strukturdaten im PDB-Format voraus. Obwohl diese Dateien aus Online-Datenbanken bezogen werden können, sind einfache für den Unterricht relevante Moleküle in der Regel nicht in diesen Datenbanken enthalten. Darüber hinaus bietet auch GRASS keine Möglichkeit zur Skalierung der Werte. Aufgrund seiner Ausrichtung auf große Molekülsysteme und dem damit verbundenen hohen Maß an Komplexität ist GRASS für den Einsatz an Schulen oder Universitäten nicht geeignet.
MolSurf wurde speziell für den Einsatz im Chemieunterricht entwickelt und bietet daher nur die für den didaktischen Einsatz notwendigen Funktionalitäten. Eine Fehlbedienung durch einen Schüler oder Lehrer kann aufgrund des einfachen und intuitiven Aufbaus ausgeschlossen werden. Der Benutzer kann ohne spezielle Vorkenntnisse einfache Moleküle zeichnen und per Mausklick visualisieren. MolSurf berücksichtigt dabei nach unserer Erkenntnis als einzige Applikation eine Benutzer-definierte Skalierung des Wertebereichs, so dass der für den Unterricht wichtige qualitative Vergleich verschiedener Verbindungen (,Welches Molekül ist welchem Molekül am ähnlichsten?") einfach zu realisieren ist. Durch den Einsatz des Struktureditors können alle Moleküle selbst erstellt werden, wodurch das Vorliegen von Strukturaustauschformaten entfällt. Die interaktiven Werkzeuge innerhalb der Szene (HUD-Display) ermöglichen dem Schüler darüber hinaus zusätzliche Freiheitsgrade bei der Analyse der Szene. Aus diesen Gründen stellt MolSurf nach unserer Auffassung das für die chemische Ausbildung geeignetste Werkzeug zur Visualisierung molekularer Oberflächen dar. Obwohl MolSurf von allen in diesem Kapitel vorgestellten Applikationen die jüngste Entwicklung darstellt (Februar 2001), wurde der Online-Dienst bereits ca. 4.100 mal genutzt. Die Anwendung hat zudem in der internationalen Fachpresse [119] Anerkennung gefunden und wurde darüber hinaus auch für die Gestaltung des neuen Römpp-Online [120] sowie von Abbildungen in einem anorganischen Lehrbuch [124] benutzt.
4.1.6 Weitere hybride Ansätze
Im Rahmen des ChemVis-Projekts wurden von unseren Projektpartnern (Dr. Klaus Engel, Prof. Thomas Ertl, Abteilung Visualisierung und interaktive Systeme, Institut für Informatik, Universität Stuttgart) einige weiterentwickelte, hybride Applikationen vorgestellt. Die Ansätze befassen sich vor allem mit der Visualisierung sehr großer Volumendatensätze wie beispielsweise elektronenmikroskopischen Volumendaten. Aufgrund der enormen Größe der Datensätze müssen diese Techniken sicherstellen, dass einerseits eine hohe Netzlast verhindert und andererseits die Graphikhardware des Clients nicht überlastet wird. Dies kann durch die Begrenzung der Anzahl der geometrischen Primitive (Punkte, Linien, Kugeln, Zylinder, etc.) sichergestellt werden. Im Rahmen unseres Projektes wurden dabei zwei Verfahren verfolgt [102].
Die sogenannte progressive Übertragungstechnik basiert auf unterschiedlichen Auflösungsstufen (Multi-Resolution-Repräsentationen) einer Oberfläche, die durch hierarchische Zerlegungsalgorithmen erhalten werden. Die resultierenden Auflösungsstufen können komprimiert und progressiv an einen Client übermittelt werden. Auf diese Weise läßt sich sowohl die Visualisierung beschleunigen als auch die Netzlast verringern. Ein entsprechender, Online-Dienst wurde von unseren Projektpartner vorgestellt [125]. Die Anwendung basiert zum einen auf einem Visualisierungsserver, der bereits über diverse, vorverarbeitete Multi-Resolution-Repräsentationen ausgesuchter Datensätze verfügt. Zum anderen besteht die Anwendung aus einem Client-seitigen Java-Applet, das dem Benutzer die Auswahl und Darstellung der Server-seitigen Datensätze ermöglicht. Nach Selektion eines Datensatzes extrahiert der Server eine Isofläche in der gewünschten Auflösung aus dem Datensatz und transferiert die entsprechenden Polygone an den Client. Die Polygone werden auf der Client-Seite mittels Java3D oder VRML dargestellt. Der Benutzer kann die nun in grober Auflösung vorliegende Szene weiter verfeinern, in dem er zusätzliche Isoflächendetails vom Server abruft. Dieser Vorgang läßt sich so lange wiederholen, bis der Datensatz in der höchsten Auflösung dargestellt wird (Abbildung 4-15). Im Gegensatz zu den in dieser Arbeit entwickelten Applikationen muss die graphische Szene nicht vollständig an den Client übermittelt werden, um eine Darstellung der Szene und Interaktion mit den Daten zu gewährleisten. Vielmehr kann der Benutzer bereits mit einer grobaufgelösten Darstellungsform interagieren, während die fehlende Isoflächeninformation automatisch über das Internet nachgeladen und in die graphische Szene integriert wird. Der Ansatz birgt jedoch auch Nachteile. Wenn der Benutzer an Detailinformationen wie beispielsweise der ActiveSite auf einer Proteinoberfläche interessiert ist, muss er warten bis alle Isoflächendaten an den Client übermittelt worden sind und die komplette Szene in hochaufgelöster Form vorliegt. Darüber hinaus können bei der hochaufgelösten Darstellung zu viele Polygone auf dem Client vorliegen, was schließlich wieder zu einer drastischen Verminderung der Interaktions- und Renderingrate führt.

Abb. 4-15: Progressiver Visualisierungsansatz [125].
Sucht der Benutzer hingegen bereits zu Anfang der Visualisierungssitzung nach Details oder soll ein besonders großer Datensatz trotz zu vieler Polygone detailliert dargestellt werden, so muss ein sogennanter Octree-basierter Isoflächenansatz eingesetzt werden. Im Gegensatz zum progressiven Ansatz erlaubt der Octreeansatz die Selektion belieber Bereiche des Datensatzes. Der Benutzer kann daher einen interessanten Bereich in der grobaufgelösten Szene selektieren, welcher anschließend durch Übertragung der fehlenden Isoflächeninformation mit hoher Auflösung rekosntruiert wird. Außerhalb dieser Region und mit steigendem Abstand wird die Fläche mit zunehmend gröberen Auflösungsstufen rekonstruiert. Auf diese Weise lassen sich ausreichend hohe Bildwiederholraten als auch interaktive Navigation erreichen. Ein entsprechender Webservice wurde von unseren Projektpartner entwickelt [102]. Mit Hilfe eines Java-Applets kann der Benutzer zunächst einen Fokuspunkt innerhalb der grobaufgelösten Szene plazieren. In einem bestimmten Abstand um diesen Fokuspunkt wird die Szene dann mit einem hohen Detailierungsgrad dargestellt, wobei die fehlende Isoflächeninformation über das Internet vom Server abgerufen wird. Während der Darstellung kann der Benutzer den Fokuspunkt beliebig in der Szene manövrieren. Diese Benutzerinteraktion wird automatisch vom Applet an den Server übermittelt und führt zur erneuten Übertragung der fehlenden Daten. Auf diese Weise kann der Benutzer wie mit einer Lupe über das zu untersuchende Objekt fahren. Das Applet ermöglicht somit hohe Interaktionsraten bei gleichzeitig hoher Auflösung der graphischen Szene.
4.2 Client-seitige Strategien
4.2.1 Definition
Durch die enorm gestiegenen Rechen-, Speicher- und Graphikkapazitäten heutiger Arbeitsplatzrechner sind in den letzten Jahren Client-seitige Ansätze (Abbildung 4-16) stark in den Vordergrund getreten. Dabei werden die zu visualisierenden Daten vollständig auf den Client übertragen, wo dann alle weiteren Berechnungen durch die Module der Visualisierungspipeline durchgeführt werden. Da während der Interaktion keine weitere Datenübertragung notwendig ist, können bei entsprechender Leistungsfähigkeit des Clients hohe Interaktionsraten erzielt werden. Im Prinzip basiert diese Strategie somit im eigentlichen Sinn nicht auf einen Graphiktransfer sondern auf einen Datentransfer.
Abb. 4-16: Client-seitige Strategien.
Für den im Folgenden beschriebenen Webservice OrbVis wurde ein solcher Ansatz gewählt, da die Anzahl der Dreiecke während der Orbitalvisualisierung in der Regel in einer Größenordnung bleibt, bei der jeder Standard-PC die volle Szene in ihrer maximalen Auflösung bewältigen kann. Außerdem ist ein Volumendatentransfer zur Erzeugung der Molekülorbitale nicht nötig, da die Oberflächen mit Hilfe eines übertragenen Applets (Software-Transfer) lokal berechnet werden können. Obwohl VRML-basierte Systeme generell zu den hybriden Strategien zählen, gilt dies nicht für die VRML-basierte OrbVis-Applikation. Die VRML-Szene wird mittels des Applets vollständig auf dem Client generiert.
4.2.2 OrbVis
4.2.2.1 Zielsetzung
Wie auch ComSpec3D (vgl. Abschnitt 4.1.4) wurde OrbVis vor allem zum vereinfachten, didaktischen Zugang zur Quantenchemie entwickelt. Im Gegensatz zu ComSpec3D dient OrbVis dabei zur Berechnung und Visualisierung von Molekülorbitalen (MO). Molekülorbitale beschreiben die Aufenthaltswahrscheinlichkeit von Elektronen in Molekülen und sind unter anderem wichtig zum Verständnis von Reaktionen.
Während molekulare Oberflächen und Eigenschaften auf Oberflächen mittlerweile durch einige Web-Anwendungen dargestellt werden können, ist die interaktive Visualisierung von Molekülorbitalen durch digitale Dokumente bzw. Medien im Internet generell noch nicht möglich. OrbVis sollte diese Lücke schließen. Ein Hauptziel des Online-Dienstes war dabei ein größtmögliches Maß an Interaktivität zu realisieren. Der Benutzer sollte in der Lage sein, die Grenzwerte der Elektronendichte und somit die Ausdehnung der Molekülorbitale interaktiv in der Szene zu verändern.
4.2.2.2 Funktionsbeschreibung
OrbVis wurde in enger Zusammenarbeit mit Dr. Klaus Engel von der Abteilung "Visualisierung und Interaktive Systeme" des Instituts für Informatik der Universität Stuttgart entwickelt. Wie alle in diesem Kapitel vorgestellten Applikationen bietet auch OrbVis einen Java-basierten Struktureditor zur Eingabe von Verbindungen. Dies ist, wie bereits erwähnt, vor allem für Schulen von Vorteil, da somit keine zusätzlichen chemischen Austauschformate notwendig sind. Die Strukturdaten können auch in dieser Applikation alternativ durch die SMILES-Notation an das System übergeben werden. Da zur Generierung der Molekülorbitale quantenchemische Berechnungen notwendig sind, wurde auch in OrbVis die maximale Größe der Verbindungen auf dreißig Hauptgruppenelemente limitiert. Das Eingabeformular (Abbildung 4-17) des Online-Dienstes beinhaltet neben den Feldern zur Struktureingabe keine weiteren Funktionen zur Beeinflussung von Visualisierungsparametern, da die dreidimensionale Szene vollständig auf dem Client erzeugt und dort bearbeitet werden kann.
Nachdem die Struktureingabe erfolgt ist, startet die Applikation die Berechnung der dreidimensionalen Koordinaten (CORINA). Die dreidimensionale Strukturinformation wird anschließend an VAMP übergeben, wo unter Verwendung der AM1-Methode die Molekülorbitalinformation berechnet wird (Befehl: ALLVECTORS). Das Ergebnis dieser Berechnungen wird in Form einer dynamisch generierten HTML-Seite angezeigt (Abbildung 4-18).

Abb. 4-17: OrbVis: Eingabeformular. (Hier geht es zum Online-Service.)

Abb. 4-18: OrbVis: Auswahlfenster (Farbabbildung: Anhang A, Abbildung A-8).
Die Seite enthält dabei die wichtigsten Daten der semi-empirischen Berechnung. Zum einen gibt die Seite Auskunft über die Gesamtzahl der berechneten Molekülorbitale sowie über die Zahl der besetzten und unbesetzten Vertreter. Des Weiteren enthält die Seite eine graphische Repräsentation der drei höchsten besetzten Energieniveaus (inkl. Highest Occupied Molecular Orbital (HOMO)) und der drei niedrigsten unbesetzten Energieniveaus (inkl. Lowest Unoccupied Molecular Orbital (LUMO)). Bei der graphischen Darstellung der Energieniveaus wird auch der Entartungszustand der Energieniveaus berücksichtigt.
Die zu visualisierenden Molekülorbitale können auf unterschiedliche Weise ausgewählt werden (Abbildung 4-19). Zum einen kann der Benutzer die Nummer eines Molekülorbitals in das dafür vorgesehene Feld im HTML-Formular eintragen. Zum anderen kann aber auch die HOMO/LUMO-Option im HTML-Formular aktiviert werden, wodurch eine parallele Betrachtung des HOMOs und des LUMOs im VRML-Plugin möglich ist. Als dritte Möglichkeit kann der Benutzer auch direkt eines der Molekülorbitale in der Energieniveauübersicht mit Hilfe des Mauszeigers selektieren.

Abb. 4-19: OrbVis: Java-Applet und VRML-Plugin, HOMO von Anilin (Farbabbildung: Anhang A, Abbildung A-9).
Die Visualisierung der Molekülorbitale erfolgt auf einer weiteren HTML-Seite, in der sowohl ein VRML-Plugin als auch ein Java-Applet eingebettet sind (Abbildung 4-19). Das Applet berechnet anhand der übertragenen Orbitalkoeffizienten und der im Applet implementierten Wellenfunktion die Elektronendichte für einen gegebenen Isowert und stellt das resultierende Molekülorbital im VRML-Plugin dar.
Das Applet stellt dem Benutzer einige zusätzliche Werkzeuge zur Verfügung, mit denen die Szene in vielfältiger Weise manipuliert werden kann. So kann mit Hilfe eines Schiebereglers (Slider) die Transparenz der Molekülorbitale stufenlos verändert werden. Darüber hinaus kann mittels eines zweiten Sliders der Isowert bzw. Grenzwert der Elektronendichte verändert werden. Unmittelbar nach Änderung der Einstellung oder per Knopfdruck berechnet das Applet die neuen Oberflächen für den entsprechenden Isowert. Mit Hilfe dieser Option wird auf einfache Weise der Zusammenhang zwischen Elektronendichte und Ausdehnung der Molekülorbitale vermittelt. Liegen dem Applet sowohl die Orbitalkoeffizienten des HOMOs als auch die des LUMOs vor, so können beide Molekülorbitale im VRML-Plugin visualisiert werden. Um eine komfortable Visualisierung der Applets zu erlauben, können beide Darstellungen auch jeweils einzeln ein- oder ausgeblendet werden. Eine weitere Option des Applets erlaubt das Exportieren der berechneten VRML-basierten Molekülorbitale.
4.2.2.3 Implementierung
Wie auch ComSpec3D läuft der OrbVis-Dienst in einem zweistufigen Prozess ab (Abbildung 4-20). Nach der Übergabe der strukturellen Konnektivitätsinformation an die CACTVS-Kernbibliothek fordert das erste CGI-Skript die dreidimensionalen Koordinaten vom Kernsystem an. Die Generierung der 3D-Information wird dabei durch die bereits beschriebenen Mechanismen realisiert. Das CGI-Skript generiert unter Verwendung der 3D-Information eine VAMP-Eingabedatei (Schlüsselwort ALLVECTORS) und startet danach das semi-empirische MO-Programm. Die von VAMP produzierte SD-Datei wird anschließend mit Hilfe einer entsprechenden CACTVS-Leseroutine eingelesen und analysiert. Im Gegensatz zu den anderen in diesem Kapitel beschriebenen Applikationen wurden bei der Implementierung der OrbVis-Anwendung keine spezifischen CACTVS-Module zur Aufnahme der Orbitalvektorinformation entwickelt. Trotz dieses Sachverhalts erkennt das System automatisch diese spezifische Information innerhalb der von VAMP generierten SD-Datei und speichert sie on-the-fly in einem temporären, sogenannten synthetischen Datencontainer namens E_ORBITALVECTORS (vgl. ,synthetische Deskriptoren", Abschnit 2.3.1.2). Der Name des Moduls leitet sich dabei automatisch von der Datenfeldbezeichnung innerhalb der SD-Datei ab. Diese Fähigkeit von CACTVS unbekannte, chemische Datenobjekte automatisch in nicht-spezifisch definierten Standardmodulen zu erfassen, ermöglicht einen verlustfreien und unkomplizierten Zugriff auf jede Information innerhalb der SD-Datei. Die Information in E_ORBITALVECTORS wird anschließend vom CGI-Skript zur Generierung der dynamischen HTML-Seite benutzt.
Abb. 4-20: Schematische Darstellung einer OrbVis-Sitzung.
Im zweiten Prozessschritt ruft der Benutzer durch Wahl eines Molekülorbitals das zweite CGI-Skript auf. Dabei wird dem CGI-Skript neben dem Index des Orbitals auch der Pfad zu der temporären SD-Datei übergeben. Beim Einlesen der temporären Daten durch das Kernsystem stehen anschließend wieder jede notwendige Information (3D-Koordinaten, Orbitalvektoren) zur Generierung der Molekülorbitale zur Verfügung, ohne dass eine wiederholte Neuberechnung nötig ist. In einem nächsten Schritt fordert das CGI-Skript eine VRML-Repräsentation der Strukturdaten vom CACTVS-Kernsystem an. Die Generierung dieser Daten erfolgt dabei nach den bereits beim VRML-Generator vorgestellten Mechanismen. Des Weiteren fordert das CGI-Skript die Orbitalkoeffizienten für das entsprechende Molekülorbital an. Die berechneten Daten werden in stark komprimierter Form als Applet-Funktionsparameter an den Client übermittelt. Das mit der VRML-Szene in der HTML-Seite integrierte Java-Applet nimmt auf diesem Wege die VRML-Szene mit der Strukturdarstellung als auch die molekularen Orbitalkoeffizienten entgegen. Dem Applet liegen damit alle chemischen Daten zur Darstellung der Molekülorbitale vor.
Der Vorteil dieser Methode ist, dass nur eine HTML-Seite mit wenigen Zeilen HTML-Code (1 Zeile pro Atom) anstatt großer Volumendatensätze, die im Fall von Gaussian-Cube-Dateien in der Regel über ein Megabyte groß sind, oder VRML-Dateien an den Client übertragen werden müssen. Diese Vorgehensweise ermöglicht eine komplett lokale Interaktion auf der Clientseite. Die Berechnung der Volumendaten, die Generierung der Isoflächen (Oberflächen) als auch die Kombination aller Daten in der Basisszene werden vollständig vom Applet übernommen.
Zur Generierung der Elektronendichte verfügt das Applet über zwei Minimalbasisfunktionen zur Berechnung von Slater Type Orbitals (STO). Die eine Wellenfunktion berücksichtigt dabei nur s-Orbitalanteile und kommt daher bei Helium und Wasserstoff zum Einsatz. Die andere Wellenfunktion wird für alle anderen Atomtypen verwendet, da sie zusätzlich auch p-Orbitalanteile berechnet. In beiden Funktionen fließen zum einen die atomspezifischen Normierungsfaktoren der Austin Method 1 (AM1) [121] als auch die AM1-berechneten Orbitalkoeffizienten ein. Durch Anwendung der quadrierten Wellenfunktionen auf einem kartesischen Raumgitter ergibt sich letztendlich die Elektronendichte für das entsprechende Molekül. Aus den Volumendaten werden anschließend mit dem Marching-Cubes-Algorithmus [25] Isoflächen extrahiert und diese nach Triangulation mit Hilfe des External Authoring Interface (siehe Abschnitt 2.2.5) in die Basis-VRML-Szene des Plugins eingebaut. Eine detaillierte Beschreibung der Applet-Implementierung wird an anderer Stelle vorgenommen [26].
4.2.2.4 Diskussion
Die Visualisierung von Molekülorbitalen ist für das Verständnis chemischer Prozesse wie beispielsweise Reaktionen von hoher Bedeutung. Im Gegensatz zu molekularen Oberflächen können diese Daten jedoch nicht durch einfache Algorithmen direkt aus der dreidimensionalen Struktur abgeleitet werden. Vielmehr ist dafür der Einsatz spezieller, quantenchemischer MO-Programme notwendig. Dies ist auch der Grund, warum die Berechnung und Visualisierung von Molekülorbitalen bis heute generell nicht durch Web-Applikationen möglich ist. Dennoch existieren einige Plugins, die eine Visualisierung spezieller Volumendaten realisieren können. Der bekannteste Vertreter ist das bereits mehrfach erwähnte Chime-Plugin. In der aktuellen Version 2 kann Chime auch GAUSSIAN-Cube-Dateien [24] einlesen und die darin enthaltenen Isoflächen visualisieren. Dieser Ansatz eignet sich jedoch nur für sehr kleine Volumendatensätze, da Cube-Dateien in der Regel sehr groß sind (einige zehn Kilobytes bis einige Megabytes) und somit ein Transport über das Internet sehr zeitaufwendig ist. Einen anderen Ansatz verfolgt das Chem3D-Plugin der Firma CambridgeSoft [122]. Das Plugin kann das kleine, firmenspezifische C3D-Format lesen. Ein großer Nachteil dieser Methode besteht jedoch darin, dass dieses Format von einer entsprechenden kommerziellen Applikation (Chem3D Ultra) aus quantenchemischen Austauschformaten generiert werden muss.
Alternativ zu den Plugin-basierten Methoden kann auch VRML zur Visualisierung der Molekülorbitale zum Einsatz kommen. Erste VRML-basierte Beispiele zur Visualisierung von Atomorbitalen wurden von Brickmann vorgestellt [9]. Dieser auf VRML1.0 basierende Ansatz ermöglicht dem Benutzer die Berechnung und Visualisierung von Atomorbitalen des Wasserstoffsatoms. Nach Selektion eines Atomorbitals in einem HTML-Formular berechnet eine Server-seitige Wellenfunktion die korrespondierende Elektronendichte. Für einen vom Benutzer definierten Isowert wird im Anschluss die Oberfläche des Atomorbitals berechnet und schließlich in einer VRML-basierten Solid-, Linien- oder Point-Darstellung repräsentiert. Leider können mit Hilfe des Service nur die Atomorbitale (s, p, d) des Wasserstoffatoms berechnet und dargestellt werden. Des Weiteren wird das veraltete VRML1.0-Format von vielen VRML-Leseapplikationen nicht mehr unterstützt.
Das Potential von VRML-basierten MO-Darstellungen zum leichteren Verständnis von theoretischen Grundlagen wurde auch in dem Buch ,The Chemist's Electronic Book of Orbitals" genutzt [123]. Im Gegensatz zu dem auf Wasserstoff limitierten zuvor beschriebenen Ansatz, bietet die dem Lehrbuch beiliegende CD VRML-basierte Molekülorbitaldarstellungen von über 160 Molekülen. Dabei kann nicht nur ein einzelnes Molekülorbital sondern alle berechneten MOs für die jeweilige Verbindung dargestellt werden. Leider basieren auch diese VRML-Szenen auf dem veralteten VRML1.0-Format. Darüber hinaus ist die Darstellung Molekülorbitale nur auf die vorhandenen Moleküle begrenzt.
Während die beschriebenen Methoden das Vorliegen vorberechneter Originaldaten erfordern oder in ihrer Anwendung stark limitiert sind, werden im Folgenden Ansätze vorgestellt, die eine interaktive Berechnung und Visualisierung beliebiger Molekülorbitale erlauben. Eine entsprechende Applikation ist der bereits beschriebene Waltz-Dienst [116]. Nachdem sich ein Benutzer für den Online-Service registrieren lassen hat, kann er mittels eines HTML-basierten Periodensystem die gewünschten Atomtypen und deren Anzahl festlegen. Auf der nächsten Seite müssen anschließend die 3D-Koordinaten der Atome angegeben werden. Nach der im Anschluss folgenden quantenchemischen Berechnung werden die Orbitale in Form von Bildern dargestellt. Der Benutzer kann aber auch eine alternative VRML-Darstellung wählen. Diese VRML-basierte Repräsentation enthält allerdings keinerlei strukturelle Information. Obwohl die dreidimensionalen Koordinaten aufgrund der Möglichkeit zur Geometrieoptimierung nicht exakt angegeben werden müssen, ist das Eingabeverfahren sehr unkomfortable und kompliziert. Für den Einsatz im chemischen Unterricht ist diese Methode der Dateneingabe darüber hinaus vollkommen ungeeignet.
Die OrbVis-Applikation stellt nach unserer Erkenntnis das einzige System dar, das sowohl die Berechnung als auch die Visualisierung der Molekülorbitale vollständig auf der Clientseite realisiert. Diese Architektur beinhaltet mehrere Vorteile. Zum einen ist die Menge der über das Internet transportierten Daten sehr klein, da die Berechnung der verhältnismäßig großen Volumendaten vollständig auf dem Client durchgeführt werden kann. Durch diesen Ansatz werden des Weiteren auch die guten 3D- und Rechen-Leistungen heutiger Standard-PCs unterstützt.
Der wichtigste Vorteil der Applikation liegt jedoch in der Gewährleistung einer schnellen Reaktion auf Benutzereingaben und dem damit verbundenen Höchstmaß an Interaktion. Der Benutzer kann beispielsweise den Detailierungsgrad und die Transparenz der Molekülorbitale einstellen, einzelne Orbitale voneinander unabhängig ein- oder ausblenden oder die Grenzwerte für die Orbital-Isoflächen dynamisch verändern, so dass die Elektronendichteverteilung interaktiv verfolgt werden kann. Der Einsatz des Struktureditors zur Eingabe von Molekülen erlaubt auch in diesen Fall den unkomplizierten Einsatz der Anwendung an Schulen und Universitäten.
Die Akzeptanz des Webdienstes zeigt sich vor allem in den hohen Nutzungszahlen. Innerhalb der letzten zwei bis drei Jahre wurde die Anwendung bereits über 13.000 mal aufgerufen. Darüber hinaus wurde die Applikation auch in wissenschaftlichen Publikationen anderer Autoren beschrieben [126].
OrbVis wurde im Rahmen eines Software-Praktikums [127] auch als reine Java-basierte Applikation weiterentwickelt. Durch diese Architektur kann somit auf den Einsatz und die Installation eines zusätzlichen VRML-Viewers verzichtet werden. Die dreidimensionale Visualisierung der Molekülorbitale wird stattdessen mit der Java3D-Erweiterung (vgl. Abschnitt 2.2.6) realisiert. Des Weiteren wurde im Rahmen des ChemVis-Projekts eine Prototyp-Applikation zur Animation von Molekülorbitalen während einer chemischen Reaktion entwickelt [128].
4.2.3 Weitere Client-seitige Ansätze
Der Großteil der aktuellen Web-Applikationen wie die chemischen Plugins werden vollständig auf der Clientseite ausgeführt. Generell basieren diese Ansätze aber nicht auf dreidimensionalen Visualisierungsmethoden, sondern nutzen vielmehr Techniken wie die Pseudo-3D-Darstellung zur Vermittlung eines räumlichen Eindrucks. Aus diesem Grund können diese Applikationen daher nicht zu den hier besprochenen Ansätzen gezählt werden.
Es gibt jedoch auch Ausnahmen. Durch den Einsatz der Java3D-Erweiterung können heute Web-Applikationen entwickelt werden, die das 3D-Graphik- und Rechen-Potential heutiger Client-Systeme nutzen können. Ein erster Vertreter dieser neuen Klasse von Applikationen stellt das SRS 3D Modul der Firma Lion Bioscience dar [92].
Während die bis dato beschriebenen Applikationen alle auf der Isoflächen-basierten Volumenvisualisierung aufbauen, wurden im Rahmen des ChemVis-Projekts auch Ansätze zur Client-seitigen, Textur-basierten Visualisierung verfolgt. Diese Art der Visualisierung war bis vor wenigen Jahren nur auf mit entsprechender 3D-Texturhardware ausgestatteten Hochleistungsrechner möglich.
Die modernen low-cost Graphikkarten, die vor allem für Spiele- und Multimedianwendungen konzipiert wurden, verfügen jedoch zunehmend über leistungsfähige Multitextureinheiten. Speziell für diese Client-seitigen Hardware-Architekturen wurde von unseren Projektpartnern im ChemVis-Projekt ein sogenannter Pre-Integrated Volume Rendering-Ansatz entwickelt, der eine hochaufgelöste, direkte Volumenvisualisierung wissenschaftlicher Daten zulässt [20]. Die Bildwiederholungsraten liegen dabei teilweise deutlich über den von Hochleistungsworkstations erzielten Raten. Eine detaillierte Übersicht dieser Ansätze wurde von Engel beschrieben [26].
4.3 Server-seitige Strategien
4.3.1 Definition
Abb. 4-21: Server-seitige Strategien.
Server-seitige Ansätze (Abbildung 4-21) verlagern die Module der Visualisierungspipeline auf einen oder mehrere leistungsstarke Hochleistungsrechner, welche die zur Visualisierung notwendigen Berechnungen unter Ausnutzung leistungsfähiger Spezialhardware durchführen. Die von den Servern berechneten Bilder werden zu Arbeitsplatzrechnern übertragen, die als einfache Anzeigegeräte fungieren. Durch Rückübertragung der Client-seitigen Benutzereingaben an den Server kann die Visualisierung beeinflusst werden.
Diese Strategie wird vor allem bei sehr großen Datensätzen eingesetzt. In der Regel liegen chemische Datensätze in einer Größenordnung, die eine Visualisierung durch die bereits beschriebenen Ansätze erlaubt. Darüber hinaus setzt die Server-seitige Strategie entsprechende Hochleistungsrechner und spezielle Graphikhardware voraus. Aus diesen Gründen spielen Server-seitige Visualisierungsstrategien zur Zeit innerhalb der Chemie keine bedeutende Rolle. Diese Situation wird sich in den kommenden Jahren jedoch drastisch verändern. Neue Analysetechniken wie die Cryo-Elektronenmikroskopie generieren bereits jetzt Volumendatensätze von mehreren Megabytes. Die aus den Volumendaten abgeleiteten Isoflächen bestehen dabei aus einigen hunderttausend Primitiven und können somit auch nicht mit moderner 3D-Graphikhardware interaktiv dargestellt werden. Ein Server-seitiger Lösungsansatz zur Darstellung großer Volumendaten wird im Folgenden Abschnitt beschrieben.
4.3.2 Server-seitige Anwendungen
Die Größe durch Cryo-Elektronenmikroskopie generierter Volumendatensätze hängt proportional von der Auflösungsgrenze dieser neuen Analysetechnik ab. Während bei einer Auflösung von 18 Å noch ein Volumendatensatz von 723 Voxeln (~1,5 GB, ~40.000 Dreiecke) resultiert, steigt die Größe des Datensatz bei einer Auflösung von 13 Å bereits auf 1603 Voxel (~16,4 GB, ~300.000 Dreiecke) an. Die momentane Auflösungsgrenze liegt unterhalb von 10 Å und produziert entsprechend große Datensätze. Der Transport dieser Datensätze über das Internet verbietet sich aufgrund ihrer Größe. Darüber hinaus sind die resultierenden Szenen auch nicht mehr mit Standardgraphikhardware darstellbar.
Im Rahmen des ChemVis-Projektes wurde deshalb von unseren Projektpartnern eine Server-seitige Anwendung zur interaktiven Visualisierung großer Volumendatensätze entwickelt. Die Architektur setzt dabei auf bereits bestehende, Server-seitige OpenInventor bzw. Cosmo3D-Visualisierungsapplikationen auf. Durch Modifikation der Szenengraphen können die auf dem Server generierten Darstellungen komprimiert und an die Clients übermittelt werden. Bei diesem Vorgang wird lediglich eine Folge dynamisch generierter 2D-Bilder (image stream) an die Java-basierten Client-Applikationen übermittelt. Benutzerinteraktionen auf der Clientseite werden mittels CORBA-Aufrufe zurück an den Visualisierungsserver geleitet und dort wie lokale Ereignisse behandelt. Mit Hilfe dieser Architektur können somit auch aufwendige und große Volumendaten auf Personalcomputern dargestellt werden, die nur über einfache 2D-Graphikhardware verfügen. Da diese Ansätze im Rahmen der vorliegenden Arbeit keine zentrale Rolle gespielt haben, wird für eine detaillierte Beschreibung auf andere Quellen verwiesen [26].
4.4 Diskussion der Strategien
Komplexe chemische Zusammenhänge können durch die Einbettung dreidimensionaler Darstellungen in digitale Dokumente besser verstanden werden. Eine interaktive Darstellung ist aber durch die teilweise enorme Menge an Daten, die hierzu übertragen und dargestellt werden muss, nicht ohne intelligente Strategien zur Verteilung der Lasten auf Client- und Server-Systeme möglich. Die Wahl der geeigneten Strategie hängt dabei von einer Vielzahl von Parametern ab.
Durch die anfangs erwähnten hybriden Strategien können sowohl Server-seitig als auch Client-seitig vorhandene Graphik-, Speicher- und Rechen-Kapazitäten zur Optimierung der Interaktivität bei gleichzeitiger Minimierung der Netzlast optimal genutzt werden. Der Vorteil dieser Strategien ist, dass die meist sehr großen Rohdaten auf dem Server verbleiben können und nicht über das Internet transportiert werden müssen. Diese Architektur ist auch dann interessant, wenn die Rohdaten aus Datenschutzgründen nicht an den Client übertragen werden sollen.
Die enorm gestiegenen Rechen- und Graphik-Fähigkeiten heutiger Standard-PCs werden vor allem in den Client-seitigen Ansätzen genutzt. Da die Darstellungsfähigkeiten der Client-Systeme in den nächsten Jahren noch weiter ansteigen werden, wird die Client-Strategie in Zukunft immer mehr an Bedeutung gewinnen. Der Hauptvorteil dieser Strategie ist, dass nach dem Transfer der Daten keine weitere Datenübertragung notwendig ist, wodurch Verzögerungen durch Netzwerklast oder Netzwerklatenz wegfallen. Diese Vorgehensweise erlaubt eine rein lokale Interaktion mit den Daten bei gleichzeitiger Balancierung von Rendering-Qualität und Echtzeit-Performance.
Die zuletzt vorgestellten Server-seitigen Strategien kommen vor allem zum Einsatz, wenn auf der Clientseite nicht die für interaktive Visualisierung notwendige Hardware zur Verfügung steht, die vorhandene Spezialhardware eines Hochleistungsrechners genutzt werden soll oder ein Transfer der Originaldaten aus Bandbreiten- oder Sicherheitsgründen nicht möglich ist.
Der Zugriff auf digitale Dokumente der Chemie ist heute über eine Vielzahl unterschiedlicher Rechnerplattformen und Netzwerkinfrastrukturen möglich. Um jeder dieser möglichen Zugriffskonfigurationen eine optimale Interaktion mit der eingebetteten Information zu ermöglichen, ist eine adaptive Anpassung der Client-Server-Strategie an die jeweils vorliegenden Verhältnisse nötig. So können zu Beginn oder während einer Visualisierungssitzung die Kapazitäten auf der Client- und Server-Seite sowie die Bandbreite und Latenz des verbindenden Netzwerks überprüft werden, um daraus die jeweilige optimale Client-Server-Strategie zu ermitteln.
Beispielsweise können zu Beginn einer Sitzung die graphischen Kapazitäten des Client-PCs ermittelt werden und bei Vorliegen entsprechender Hardware rein Client-seitige Strategien zum Einsatz kommen. Andernfalls wird je nach Auslastung des Servers eine Server-Strategie oder ein hybrider Ansatz gewählt. Die Wahl der jeweiligen Strategie kann natürlich auch während einer Sitzung ständig neu angepasst werden. So kann beispielsweise zu Beginn ein Server-seitiger Ansatz verfolgt werden. Steigt dann während der Sitzung die Serverlast und damit auch die Antwortzeiten so ist ein Umstieg auf andere Strategien denkbar.


PREV
NEXT

Copyright © 2003, Frank Oellien, Universität Erlangen-Nürnberg. All rights reserved.