Author: Schmitz R. Burmester M. Eberhardt B. Gerlicher A.
Tags: programmierung informatik technologie springer verlag softwareentwicklung kompendium medieninformatik medien computerwissenschaft digitalisierung it datenverarbeitung
ISBN: 1439-3107
Year: 2007
Roland Schmitz (Hrsg.)
Kompendium
Medieninformatik
Medienpraxis
Mit Beiträgen von:
Michael Burmester, Bernhard Eberhardt, Ansgar Gerlicher,
Martin Goik, Jens-Uwe Hahn, Marko Hedler, Oliver Kretzschmar
und Jörg Westbomke
Mit 123 Abbildungen
123
Roland Schmitz
Hochschule der Medien
Nobelstr. 10
70569 Stuttgart
schmitz@hdm-stuttgart.de
www.medieninformatik.hdm-stuttgart.de
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen
Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über
http://dnb.d-nb.de abrufbar.
ISSN 1439-3107
ISBN-13 978-3-540-36629-4 Springer Berlin Heidelberg New York
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die
der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen,
der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der
Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung,
vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im
Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der
Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie
ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen
des Urheberrechtsgesetzes.
Springer ist ein Unternehmen von Springer Science+Business Media
springer.de
© Springer-Verlag Berlin Heidelberg 2007
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem
Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen
im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und
daher von jedermann benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt
erarbeitet. Verlag und Autor können jedoch für eventuell verbliebene fehlerhafte Angaben und
deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen.
Satz und Herstellung: LE-TEX, Jelonek, Schmidt & Vöckler GbR, Leipzig
Umschlaggestaltung: KünkelLopka Werbeagentur, Heidelberg
Gedruckt auf säurefreiem Papier 33/3180 YL – 5 4 3 2 1 0
Einleitung
„The medium is the message“ – treffender und kürzer, als es Herbert
Marshall McLuhan in den 60er Jahren des letzten Jahrhunderts auf
den Punkt gebracht hat, kann man die wechselseitige Beziehung zwischen dem Inhalt einer Kommunikation und ihrer Präsentationsform
auch heute nicht beschreiben. Versucht man davon ausgehend, den
zugrunde liegenden Sachverhalt etwas präziser zu fassen, so stellt man
fest: Die Techniken zur Erzeugung, zum Transport, zur Speicherung
und zur Darstellung einer Botschaft sind ebenso entscheidend für ihre
Wahrnehmung wie ihr eigentlicher Inhalt. Damit wird klar, was der
viel benutzte (und strapazierte) Begriff der „Medien“ eigentlich bedeutet:
Medien sind dem Wortsinn nach „Vermittler“. Sie dienen der Speicherung, Darstellung und Übermittlung von Informationen. Im heutigen Sprachgebrauch meint man mit Medien aber häufig auch die Informationen selbst und unterscheidet nicht deutlich zwischen der
Information und ihrem Träger.
Die übertragenen Informationen können in unterschiedlich strukturierter Form und Codierung vorliegen. Eine Strukturierung in Medien kann auf unterschiedliche Arten herbeigeführt werden, etwa
mittels ergänzender Informationen, so genannter Metadaten, oder
durch Eingliederung in eine Ordnungsstruktur, etwa eine hierarchische Gruppierung.
Die Medieninformatik beschäftigt sich speziell mit digitalen Medien, das sind zum einen digital (also in Form von Bits) codierte Arten
von Informationen, zum anderen die Träger dieser Informationen.
Die Art der Codierung, das heißt die Vorschrift, wie die ursprünglichen Informationen in Bitform darzustellen sind (und wie umgekehrt
die Bits als Information zu interpretieren sind), bestimmt über den
Medientyp, wie zum Beispiel Text, Dokument, Bild, Audio oder Video.
Die Digitalisierung stellt dabei einen entscheidenden Schritt dar:
Durch sie wird es möglich, die Informationen von ihrem physikalischen Träger zu trennen. Diese Trennung trägt maßgeblich zur immer
weiter wachsenden Mobilität unserer Kommunikation und unseres
Einleitung
Medien
Medieninformatik
■
■
■
V
Das Buch
VI
■
■
■
Arbeitslebens insgesamt bei. Die Informatik stellt hierfür die theoretischen Grundlagen und Methoden der Informationsverarbeitung auf
Rechnersystemen zur Verfügung. Die Medieninformatik zeigt, wie
diese Methoden speziell auf digitale Medien anzuwenden sind.
Damit prägt die Medieninformatik unseren Alltag, weil sie letztlich
darüber mitentscheidet, was und wie viel aus der täglichen Informationsflut in unseren Köpfen ankommt. Die Beherrschung ihrer Konzepte und Techniken ist für unser aller Zukunft maßgebend. Aus diesem Grund versteht sich die Medieninformatik auch nicht nur als rein
technische Disziplin, sondern umfasst auch gestalterische, psychologische und ökonomische Aspekte. Diese Vielfalt spiegelt sich auch in
den unterschiedlichen Inhalten der vielen verschiedenen, an deutschen Hochschulen angebotenen Studiengängen mit dem Namen
„Medieninformatik“ wider.
Das „Kompendium der Medieninformatik“ befasst sich vor allem
mit den technischen Aspekten der Medieninformatik und bildet damit
den Schwerpunkt der Lehrinhalte im Studienbereich Medieninformatik an der Hochschule der Medien in Stuttgart ab. Trotz dieses
Schwerpunkts auf den Informatik-Aspekten der Medieninformatik
unterscheidet sich das Kompendium der Medieninformatik inhaltlich
deutlich von klassischen Lehrbüchern der Informatik. Die Grundlagen
der Informatik werden nur insoweit behandelt, als sich durch die Anwendung auf Mediendaten neue und spezifische Gesichtspunkte ergeben. In allen anderen Fällen gehen wir davon aus, dass der Leser mit
den Grundlagen der Informatik bereits vertraut ist. Zielgruppen dieses
Buches sind somit Studenten der Informatik und Medieninformatik
im Hauptstudium sowie Praktiker, die bereits Erfahrung mit den Anwendungen der Informatik in der Industrie gesammelt haben und sich
nun speziell über Anwendungen in den Medien informieren wollen.
Der vorliegende zweite Teil des Kompendiums Medieninformatik
mit dem Titel „Medienpraxis“ behandelt ein weites Themenspektrum
aus der praktischen Informatik und ihren Anwendungen bei der Erzeugung und Verarbeitung digitaler Medien.
Wie schon beim ersten Teil „Mediennetze“, der sich mit dem
Transport und der Verpackung von Multimedia-Daten beschäftigt,
orientiert sich auch im zweiten Teil die Stoffauswahl an den an der
Hochschule der Medien in Stuttgart vertretenen Lehrgebieten: Wir
beginnen bei der Erzeugung von Content mit einer Einführung in die
Computergrafik, danach folgt das wichtige Feld der Strukturierung
von Informationen mit Hilfe von Markup-Languages.
Mit den Kapiteln Computer-Supported Cooperative Work (CSCW)
und Content-Related-Technologien betreten wir das weite Feld der
Anwendungen von Informatik-Methoden in der Medienverarbeitung,
Einleitung
bevor das Kapitel „Usability und Design“ an der Schnittstelle zum
Endanwender den zweiten Teil abschließt.
Die Autoren des Kompendiums sind allesamt ausgewiesene Experten ihres Fachs und stehen (oder standen) in aktiver Lehrtätigkeit an
der Hochschule der Medien Stuttgart. Die Inhalte dieses Buches basieren auf Lehrveranstaltungen, die von den Autoren im Rahmen der
Studiengänge Medieninformatik (Bachelor/Master) und Information
Systems (Bachelor/Master) gehalten werden. Wir danken unseren
Studenten für zahlreiche wertvolle Kommentare und Verbesserungsvorschläge zu diesen Lehrveranstaltungen. Ohne diese Anregungen
wäre dieses Buch nicht realisierbar gewesen.
Einleitung
■
■
■
VII
Inhaltsverzeichnis
1
2
Computergrafik und Virtual Reality .........................................
1.1 Modellierung virtueller Welten........................................
1.1.1 Objektmodellierung, -repräsentation
und ihre Datenstrukturen .....................................
1.1.2 Kurven .....................................................................
1.1.3 De-Boor-Algorithmus für B-Splines....................
1.1.4 Flächen.....................................................................
1.1.5 Anschlüsse von Bézier-Tensorproduktflächen ..
1.2 Bildberechnung – vom Modell zum Bild ........................
1.2.1 Die Beleuchtungsgleichung...................................
1.2.2 Farben in der Computergrafik .............................
1.2.3 Lokale Beleuchtungsmodelle und Shading.........
1.2.4 Verdeckungsrechnung ..........................................
1.2.5 Mapping-Techniken ..............................................
1.2.6 Globale Beleuchtung ..............................................
1.2.7 3D-Grafik-Programmierung
und GPU-unterstütztes Rendering ......................
1.3 Virtual Reality (VR) – Holodecks?...................................
1.3.1 Stereoskopie............................................................
1.3.2 Ein- und Ausgabegeräte ........................................
1.3.3 Ausblick ...................................................................
Literatur ........................................................................................
1
1
81
84
85
91
94
96
Einsatz von Markup-Languages .................................................
2.1 Einleitung ............................................................................
2.2 Voraussetzungen................................................................
2.3 Publishing ...........................................................................
2.3.1 Dokumente und ihre Struktur..............................
2.3.2 Modellierung...........................................................
2.3.3 Datenherkunft ........................................................
2.3.4 Verarbeitung...........................................................
2.3.5 Druckbare Ausgabe................................................
99
99
100
101
102
105
106
108
113
2
9
32
38
43
49
50
52
52
59
61
68
Inhaltsverzeichnis
■
■
■
IX
2.4 XML-gestützte Anwendungsentwicklung .......................
2.4.1 Austauschformate...................................................
2.4.2 Serialisierung von Objekten ..................................
2.5 Trennung der Implementierungslogik und
Präsentation einer Anwendung ........................................
2.5.1 Servlets und XSL .....................................................
2.5.2 Eine Beispielapplikation ........................................
2.5.3 Die Implementierung der Anwendungslogik .....
2.5.4 Serialisierung des Servlets als DOM-Baum .........
2.5.5 XSL-Stylesheets für die Zielformate HTML
und PDF ...................................................................
2.5.6 Servlets und Filter ...................................................
2.5.7 Die Java-Implementierung des Filters .................
2.5.8 PDF-Ausgabe...........................................................
2.5.9 Weitere Möglichkeiten...........................................
Literatur.........................................................................................
3
X
■
■
■
Computer-Supported Cooperative Work (CSCW) –
kollaborative Systeme und Anwendungen...............................
3.1 Begriffsdefinition CSCW ...................................................
3.2 CSCW in der Medieninformatik.......................................
3.3 Groupware- und Workgroup-Computing-Systeme ......
3.3.1 Zielsetzung der Groupware-Systeme ...................
3.3.2 Werkzeuge und Anwendungen ............................
3.4 Versionsverwaltungssysteme............................................
3.4.1 Zielsetzung der Versionsverwaltungssysteme ....
3.4.2 Anforderungen an
Versionsverwaltungssysteme ................................
3.4.3 Architektur von
Versionsverwaltungssystemen..............................
3.5 Kollaborative Mehrbenutzer-Editoren ............................
3.5.1 Zielsetzung der Mehrbenutzer-Editoren .............
3.5.2 Probleme des „Echtzeit“-Editierens.....................
3.5.3 Mehrbenutzer-Editoren in der Praxis..................
3.6 Nebenläufigkeitskontrolle in CSCW Systemen ..............
3.6.1 Nebenläufigkeitskontrolle
ohne CSCW-System................................................
3.6.2 Sperrverfahren ........................................................
3.6.3 Zeitstempelverfahren .............................................
3.6.4 Operational Transformation .................................
3.7 Architektur kollaborativer Systeme .................................
3.7.1 Zentralisierte Architektur......................................
3.7.2 Replizierte Architektur...........................................
3.7.3 Hybrid-Architektur ................................................
Inhaltsverzeichnis
116
117
122
126
126
127
129
130
133
135
137
138
140
140
143
145
147
148
148
149
159
159
161
162
162
162
164
168
170
171
171
177
178
181
181
183
184
4
3.8 Awareness in kollaborativen Systemen ..........................
3.8.1 Workspace Awareness...........................................
3.8.2 Usability und Privatsphäre ...................................
3.9 Fazit und Ausblick .............................................................
Literatur ........................................................................................
186
186
188
189
191
Content-Related-Technologien...................................................
4.1 Grundlegende Begriffe ......................................................
4.1.1 Informationen, Daten, Medien, Content, Asset
und Wissen..............................................................
4.1.2 Formatierung und Strukturierung
von Content.............................................................
4.1.3 Dokumente früher und heute...............................
4.1.4 Geschäftsprozesse und Workflow........................
4.2 Nutzenbetrachtungen........................................................
4.2.1 Primäre Vorteile .....................................................
4.2.2 Mehrfachverwertung von Content
als Strategie .............................................................
4.2.3 Wirtschaftliche Überlegungen..............................
4.3 Überblick über CRT-Systeme...........................................
4.4 Technische Bausteine ........................................................
4.4.1 Schematische Systemarchitektur .........................
4.4.2 Erfassung, Beschaffung und Validierung
von Content.............................................................
4.4.3 Ablage von Content................................................
4.4.4 Strukturierung von Content .................................
4.4.5 Retrieval und Anzeige von Content.....................
4.4.6 Beziehungsmodelle für Content...........................
4.4.7 Steuerung und Kontrolle von
Content-Workflows ...............................................
4.4.8 Content-Aggregation, -Delivery
und -Publishing ......................................................
4.4.9 Personalisierung von Content ..............................
4.4.10 Archivierung und Revisionssicherheit................
4.4.11 Integration für Nutzer, Content, Funktion
und Prozesse ...........................................................
4.4.12 Administration .......................................................
4.5 Ausblick...............................................................................
Literatur ........................................................................................
197
197
197
199
201
203
204
204
205
208
209
211
211
213
217
219
220
222
224
226
232
234
236
240
241
242
Inhaltsverzeichnis
■
■
■
XI
5
Usability und Design.....................................................................
5.1 Usability ...............................................................................
5.1.1 Mensch und Computer ..........................................
5.1.2 Usability als Qualität der Nutzung .......................
5.1.3 Nutzen von Usability..............................................
5.2 Theoretische Grundlagen ..................................................
5.2.1 Überblick..................................................................
5.2.2 Ein Modell zur Nutzung interaktiver Systeme....
5.2.3 Information Foraging – die Suche
nach Informationen................................................
5.2.4 Persuasive Aspekte .................................................
5.2.5 Attraktivität .............................................................
5.3 Design...................................................................................
5.3.1 User Centred Design...............................................
5.3.2 Nutzungskontextanalyse........................................
5.3.3 Entwurf und Gestaltung.........................................
5.3.4 Prototyping..............................................................
5.3.5 Evaluation – Prüfung und Inspiration.................
5.3.6 Dokumentation .......................................................
5.4 Integration von Usability-Engineering
und Software-Engineering.................................................
5.5 Abschlussüberlegungen.....................................................
Literatur.........................................................................................
245
245
245
246
249
253
253
255
260
262
264
268
268
271
276
281
283
287
288
291
292
Autorenverzeichnis................................................................................. 303
Index .......................................................................................................... 307
XII
■
■
■
Inhaltsverzeichnis
1 Computergrafik
und Virtual Reality
Bernhard Eberhardt, Jens-Uwe Hahn
Virtuelle Welten und künstlich erzeugte Bilder haben mit steigender
Rechenleistung und mit der Ausreifung der eingesetzten Verfahren
und Techniken zunehmenden Einfluss auf unser tägliches Leben.
Die Einsatzgebiete sind dabei vielseitig und reichen von Werbeund Kinofilmen über Computerspiele bis hin zu Virtual-Reality(VR-) Anwendungen, die es erlauben, virtuelle Prototypen von Gebäuden, Flugzeugen, Fahrzeugen und vielen anderen Produkten in
Echtzeit zu betrachten, zu bewerten und weiterzuentwickeln.
Dieses Kapitel bietet eine Einführung und einen Überblick über die
Verfahren, die dabei zum Einsatz kommen. Das erste Unterkapitel
befasst sich mit der Modellierung virtueller Welten und den dafür
eingesetzten Datenstrukturen. Das zweite Unterkapitel behandelt die
Erzeugung von Bildern solcher virtuellen Welten. Das dritte Unterkapitel gibt einen Überblick über die Techniken, die in interaktiven VRUmgebungen zum Einsatz kommen.
1.1
Modellierung virtueller Welten
Obwohl Kameramann und Fotograf häufig Bilder realer Gegenstände
zeigen, die wir aus unserer Umgebung kennen, überraschen uns die
Künstler dieser Fächer immer wieder mit neuen Ein- und Aussichten
in ihren Einstellungen. Aber stellen Sie sich einen Fotografen vor, der
etwas fotografiert, das gar nicht da ist. Gerade in der Computergrafik
und -animation besteht aber zu Beginn immer das Problem, dass
selbst der Gegenstand oder das Objekt, von dem man gerne Bilder
produzieren möchte, nicht realer Natur ist. Objekte, Szenerie und
Darsteller existieren nur in unserer Phantasie, sie müssen erst mathematisch beschrieben und erzeugt werden. Sie bleiben aber bis zuletzt
künstlich, virtuell.
1.1 Modellierung virtueller Welten
■
■
■
1
Doch gerade in dieser Problematik kann auch der Reiz und Schatz
von Virtual-Reality-Anwendungen oder Computeranimationen liegen, denn nur die menschliche Vorstellung begrenzt die Produktion.
Diesem Problem, d. h. der Beschreibung und schnellen Verarbeitung virtueller Modelle, werden wir uns in diesem Kapitel zuwenden.
Wir wollen Datenstrukturen entwickeln, die für Virtual-RealityAnwendungen und Computeranimationen eingesetzt werden können,
und ihre jeweiligen Vor- und Nachteile besprechen.
1.1.1
Objektmodellierung, -repräsentation
und ihre Datenstrukturen
Erster Schritt der „technischen“ Produktionspipeline ist es also, dreidimensionale Gegenstände, Szenen oder virtuelle Darsteller in ihrer
Form und Eigenschaft zu beschreiben – das Modellieren.
Wie und wodurch beschreiben wir (dreidimensionale) Objekte?
Eine erste Antwort auf diese Frage ist schnell gefunden, nämlich durch
die Angabe der geometrischen Form, welche durch die Angabe der
(dreidimensionalen) Punkte und Flächen gegeben ist. Diese Punkte
und mathematischen Formulierungen dienen dazu, die Objekte beschreiben zu können.
Zunächst betrachten wir einfache Randrepräsentierungen, welche
eine Objektoberfläche durch geschicktes und genaues Zusammenfassen
von Polygonen, die wiederum aus Punkten und Kanten beschrieben
werden, als Näherung darstellen. Dann folgt die Beschreibung durch
Kurven und Flächen höherer Ordnung, sogenannte Freiformflächen.
So entstehen mehrere Möglichkeiten, dreidimensionale Objekte zu
beschreiben, und je nach beabsichtigter Anwendung, d. h. technischer
Konstruktion, Animation oder wissenschaftlicher Simulation, besitzen
diese Vor- und Nachteile. Es ist also eine sorgfältige Wahl der verwendeten Datenstruktur zu treffen.
1.1.1.1
Randrepräsentierungen
Dreidimensionale Objekte werden in ihrer Form durch ihre (sichtbare) Oberfläche beschrieben. Punkte sind durch Kanten verbunden, die
zu ebenen Polygonflächen zusammengefasst werden. Eine erste Datenstruktur, wie man sie z. B. in OpenInventor, Java3D und Wavefront
obj-Formaten wiederfindet, ist einfach gehalten. Sie trennt aber schon
die Lage der Punkte (Geometrie) von der Verbindung zu Flächen (Topologie).
2
■
■
■
1 Computergrafik und Virtual Reality
Definition: Explizite Darstellung eines Polygonnetzes (vgl. Java 3D,
VRML ...)
i
i
i
i
• Facette: Pi = (V 1, V 2, ... ,V n), mit V j∈ ℝd
• Netz: P=(P0,P1,...,Pm-1)
Polygonnetz
Dieses Vorgehen wird an folgendem Beispiel deutlich: Wir wollen
einen einfachen (Einheits-)Quader darstellen:
Abb. 1.1:
Beispiele für die Darstellung eines
Polygonnetzes
Sie sehen in Abb. 1.1 bereits zwei mögliche Datenstrukturen für einen einfachen dreidimensionalen Einheitswürfel. Datenstruktur 1 besteht aus einer Liste der im Modell vorkommenden Punktkoordinaten
und einer davon getrennten Liste der das Modell definierenden Polygonflächen.
Datenstruktur 2 hingegen definiert die Polygonflächen direkt durch
die Angabe der Koordinaten der Punkte unter der Vereinbarung, dass
jeweils vier (oder drei) aufeinander folgende Punkte eine geschlossene
Fläche bilden.
Datenstruktur 1 besitzt einige Vorteile: Zuerst ist sie sehr einfach
und intuitiv. Durch die Trennung von Topologie und Geometrie sind
bei einer Lageänderung eines oder mehrerer Punkte nur die neuen
Koordinaten der Punkte neu zu setzen bzw. zu übertragen. Der innere
Zusammenhang, d. h. die Gitterstruktur der Kanten oder besser die
Topologie des Körpers, ändert sich nur dann, wenn der Körper auseinanderbrechen würde.
1.1 Modellierung virtueller Welten
■
■
■
3
Der Nachteil dieser sog. knotenbasierten Datenstrukturen wird sofort deutlich, wenn man Anwendungen programmieren möchte, bei
denen sich die Form und Geometrie der Körper ändert. Will man die
Geometrie ändern, so muss der entsprechende Eintrag in der Vertexliste geändert werden bzw. muss in allen Flächen, welche diesen Punkt
enthalten, entsprechend die Koordinate abgeändert werden. Aufwendige Suchfunktionen sind dafür notwendig. Noch schwieriger wird es,
wenn die Topologie des Körpers verändert wird, wie z. B. bei einer
booleschen Differenz oder Summe in einem CAD-Modellierer.
Diese knotenbasierten Datenstrukturen sind deswegen häufig dort
im Einsatz, wo es schlicht um eine Visualisierung und kleine Datenformate bei der Übertragung geht.
All die Schwierigkeiten kreisen um ein und dasselbe Problem. Wie
können Nachbarschaftsinformationen, die wir für eine Verarbeitung
des Modells benötigen, schnell bereitgestellt werden? Aber überlegen
wir zunächst, was das für Informationen sind und wie viele es gibt?
Alles, was wir brauchen, um Oberflächenmodelle von Körpern darzustellen, sind Punkte (Vertices) V, Kanten (Edges) E und Flächen
(Faces) F. Will man nun Informationen zusammenstellen, so ergeben
sich genau neun verschiedene Fragen:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Vertex
Vertex
Vertex
Edge
Edge
Edge
Face
Face
Face
alle benachbarten Vertices
alle benachbarten Edges
alle benachbarten Faces
alle benachbarten Vertices
alle benachbarten Edges
alle benachbarten Faces
alle benachbarten Vertices
alle benachbarten Edges
alle benachbarten Faces
bzw:
Abb. 1.2:
Nachbarschaftsbeziehungen in
Oberflächenmodellen
4
■
■
■
1 Computergrafik und Virtual Reality
VV
VE
VF
EV
EE
EF
FV
FE
FF
Schnell wird klar, dass nicht alle 9 Informationen in einer Datenstruktur abgelegt werden können, wenn diese Datenstruktur noch mit
einem erträglichen Aufwand verwaltet und gespeichert werden soll.
Betrachten wir noch einmal die beiden knotenbasierten Datenstrukturen. Die Information, welche Fläche welche Vertices besitzt, ist explizit abgelegt. Will man jedoch alle zu einem Vertex benachbarten Flächen wissen, so muss die komplette Flächenliste nach diesem Vertex
durchsucht werden. Diese Abfrage ist also von der Größe des abgespeicherten Modells abhängig und kann unter Umständen lange dauern.
Es stellt sich also die Frage, welche dieser 9 Nachbarschaftsinformationen bestmöglich ausreichen, um einen möglichst kleinen Aufwand
bei der Suche nach den anderen Informationen zu haben.
Die Vielzahl der Datenstrukturen unterscheidet sich also in der
Zahl der explizit abgelegten (Nachbarschafts-)Informationen. Datenstrukturen können daher bezüglich Speicheraufwand und Komplexität der Algorithmen zur Nachbarschaftssuche klassifiziert werden.
Wir gehen hier auf die wichtigsten Datenstrukturen ein. Eine genauere
Untersuchung ist in [NB94] zu finden.
1.1.1.2
Kantenorientierte Datenstrukturen
Bei einer Suche nach einem Ausweg beobachten wir, dass die wesentliche Information über die Form von Körpern in den Kanten des Polygonnetzes steckt. Eine Fläche ist z. B. genau durch einen geschlossenen Kantenzug gegeben. Es liegt also nahe, dreidimensionale Objekte
durch eine Datenstruktur zu definieren, die als wesentliche Einträge
Kanten nutzt.
Im Jahre 1975 stellte Bruce G. Baumgart [Bau75] eine solche kantenorientierte Datenstruktur vor. Folgende Überlegungen führen zu
dieser Winged-Edge-Datenstruktur:
Winged-Edge-Datenstruktur
• Jede Kante besitzt genau 2 Nachbarflächen.
• In der Orientierung der Fläche gibt es für jede Kante genau eine
vorhergehende und nachfolgende Kante.
• Deswegen der Name dieser Datenstruktur: An jeder Kante hängen
zwei „Flügel“ ncw (next clockwise) und nccw (next counterclockwise).
• Sind die Flächen konsistent orientiert, kommt jede Kante einmal +
und – vor.
1.1 Modellierung virtueller Welten
■
■
■
5
Abb. 1.3:
Winged-Edge-Datenstruktur
Für unser Würfel-Testmodell ergeben sich die in Abb. 1.4 dargestellten Einträge in die abzuspeichernde Datenstruktur.
Die Vorteile dieser Datenstruktur werden sofort klar, wenn man
sich z. B. die Aufgabe stellt, eine beliebige Fläche aus dem obigen Datensatz zu zeichnen. Wir wollen versuchen, die fünfte Fläche (Index 4
der Facelist) zu zeichnen:
Beginnen werden wir wie angegeben mit Kante e11, die wir positiv,
d. h. von Vstart (Vertex 7) zu Vend (Vertex mit Index 4) durchlaufen.
Der Eintrag ncw, für die Kante 11, ist mit e4 angegeben (ncw beim
positiven Durchlauf), welche Vstart 0 und Vend 4 besitzt. Da wir nun
aber mit der ersten Kante bei Vertex 4 angekommen sind, müssen wir,
um e4 zu zeichnen, diese Kante in negativer Richtung, d. h. von Vend
nach Vstart, durchlaufen. Also folgt als nächste zu zeichnende Kante
nccw e3 usw.
Nach Durchlaufen der vierten Kante stellen wir fest, dass wir wiederum als folgende Kante e11 zeichnen müssten, die jedoch schon zu
Beginn verwendet wurde. Wir sind also einen geschlossenen Kantenzug abgelaufen und haben somit die Fläche f4 durch „lokales Umrunden“ gezeichnet.
Damit haben wir gleichzeitig die Nachbarschaftsinformation FE (die
zu einer Fläche inzidenten Kanten) bereitgestellt. Die Abfrage dauert
also so lange, wie man braucht, um einmal die Fläche zu umrunden, ist
damit nur von der lokalen Eigenschaft abhängig und hängt somit nicht
Abb. 1.4:
Beispiel für
Winged-Edge-Datenstruktur
6
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.5:
Bestimmung der benachbarten Kanten
einer Fläche durch lokales Umrunden
von der Größe des gesamten Polygonnetzes ab. Die Antwort dieser
Nachbarschaftsabfrage ist also in konstanter Zeit zu erwarten!
Jedoch sind die anderen Nachbarschaftsabfragen wie z. B. FF oder
EF leider noch immer nur mit Durchsuchen der gesamten Flächen
und Kantenliste zu lösen. Um diese letzten Nachbarschaftsbeziehungen auch noch in konstanter Zeit abfragen zu können, betrachten wir
die folgend beschriebene Full-Winged-Edge-Datenstruktur.
Die Winged-Edge-Datenstruktur kann auf interessante Weise erweitert werden: Jede Kante besitzt genau zwei Nachbarflächen. Anders
herum wird eine Kante bezüglich einer Fläche nur in einer Richtung
durchlaufen. Daher konnten wir in der Winged-Edge-Datenstruktur +
oder – (ein Bit) nutzen, um genau die Fläche anzugeben. Legt man diese
Information nun noch in die Kantenliste, so kann auf das Bit in der
Flächenliste verzichtet werden: Wir erhalten die sog. Full-WingedEdge-Datenstruktur, bei der die Kanten zusätzlich Information über die
zugehörige Fläche bei positivem und negativem Durchlauf enthalten.
Bei der Full-Winged-Edge-Datenstruktur können alle Nachbarschaftsinformationen durch lokales Umrunden, d. h. in konstanter
Zeit O(1), berechnet werden. Die Abfragen E* sind jedoch wesentlich
langsamer als F*.
Full-Winged-Edge-Datenstruktur
Abb. 1.6:
Full-Winged-Edge-Datenstruktur
1.1 Modellierung virtueller Welten
■
■
■
7
Abb. 1.7:
Beispiel für
Full-Winged-Edge-Datenstruktur
Trotz der großen Vorteile der Full-Winged-Edge-Datenstruktur
existiert noch ein gravierendes Problem: Die bisher beschriebenen
Edge-Datenstrukturen gehen davon aus, dass eine Fläche durch nur
eine Randkuve (d. h. eine Folge von Kanten) definiert ist.
Es gibt aber viele Körper, die Flächen mit Löchern haben, wie im
folgenden Beispiel. Die obere Fläche, mit aufgesetztem kleinerem
Quader, besitzt zwei Randkurven:
Abb. 1.8:
Fläche mit Loch
Eine mögliche Lösung ist, eine zusätzliche Kante einzufügen. Diese
Kante hat nun die gleiche Fläche in den Einträgen fcw und fccw.
Eine zweite Möglichkeit ist in obigem Beispiel dargestellt. Die obige
Fläche hat zwei Randkurven, jedoch mit unterschiedlichen Umlaufrichtungen (zwei Einträge in der Flächenliste).
Einen dritten Ausweg bietet die Einführung von sogenannten
Halbkanten [Mä88]. Eine Kante kann prinzipiell in zwei Richtungen
durchlaufen werden. Eine Halbkante ist also definiert durch zwei
Punkte und eine Durchlaufrichtung. Daher braucht man 2 Halbkanten
8
■
■
■
1 Computergrafik und Virtual Reality
für eine volle Kante. Eine Darstellung von Halbkantendatenstrukturen
findet man in [ES97, Mä88].
1.1.2
Kurven
Sind die Oberflächen der darzustellenden Objekte nicht eben und eher
krummliniger, organischer Natur, so braucht man eine hohe Anzahl
von Geradenstücken oder ebenen Flächen, um diese gut zu approximieren. Ihre weitere Bearbeitung wird dadurch langsam und aufwendig. Jedoch ist dies nicht der alleinige Nachteil: Wo kommen die vielen
Punkte der Annäherungskurven und -ebenen zu liegen, d. h., wie ermitteln wir deren Koordinaten?
Nehmen wir das einfache Beispiel einer exakten Kreislinie in der
Ebene. Annäherungen wären ein Quadrat, ein Sechs-, Acht- oder
n-Eck. Einige Koordinaten der Linienpunkte können mit Zirkel und
Lineal konstruiert werden. Sollen jedoch die Punkte von einem 1000Eck angegeben werden, brauchen wir eine „Formel“ zur Berechnung.
Diese Formel kann leicht mit den „Kreisfunktionen“ Sinus und Kosinus ausgedrückt werden.
Geraden- und Ebenenstücke reichen also nur eingeschränkt aus,
um dreidimensionale Objekte zu gestalten. Besser wäre es, wenn ein
paar wenige Punkte (sog. Kontrollpunkte) genügen würden, um den
Verlauf der Fläche mit seinen vielen Punkten zu steuern. Zwei Herangehensweisen finden sich in der Computergrafik: Zum einen sind dies
parametrisierte Kurven und Flächen und zum anderen eine Beschreibung der Objektoberfläche durch Angabe von Punkteigenschaften
(implizite Flächen) der Oberfläche.
1.1.2.1
Monome und parametrisierte Kurven
Wir wollen uns zuerst auf den einfacheren Kurvenfall beschränken.
Was ist nun eine sog. parametrisierte Kurve?
3
Definition: Sei I=[a,b] ⊂ ℝ ein Invervall. Eine Abbildung g:I→ℝ heißt
parametrisierte Kurve:
⎛ x(t ) ⎞
⎜
⎟
g (t ) = ⎜ y(t ) ⎟ ∈
⎜ z(t ) ⎟
⎝
⎠
3
Parametrisierte Kurve
, für alle t ∈ [a,b ]
Eine parametrisierte Kurve g heißt n-mal stetig differenzierbar, falls
jede Koordinatenfunktion x(t), y(t) und z(t) n-mal stetig differenzierbar
1.1 Modellierung virtueller Welten
■
■
■
9
ist, und man schreibt g ∈ C n (I ,
heißt regulär (in t0), falls
3
)lim
. Eine parametrisierte Kurve
x→∞
⎛ x ′(t 0 ) ⎞
⎜
⎟
g ′(t 0 ) = ⎜ y ′(t 0 ) ⎟ ≠ 0
⎜ z ′(t ) ⎟
0 ⎠
⎝
Der Gradient g´(t)∈ ℝ ist die Tangente in t an g und gibt die Momentangeschwindigkeit (in Betrag und Länge) beim Durchlaufen der
Kurve an. Die (Bogen-)Länge einer Kurve kann durch
3
u
S(u) = ∫ g ′(s) ds
a
berechnet werden.
3
3
Zwei reguläre Kurven, g1: [a,b]Æ ℝ und g2: [s,t] Æ ℝ , heißen
äquivalent, wenn es eine bijektive differenzierbare Abbildung
ϕ:[a,b]Æ[s,t] mit ϕ ´(u)>0 gibt, so dass
g1(u)= g2(ϕ (u))
Parametrische Stetigkeit
gilt.
Wir sagen in diesem Fall auch, dass g2 durch ϕ reparametrisiert
wurde, und nennen ϕ einen richtungserhaltenden Parameterwechsel
oder eine Reparametrisierung von g1.
Zwei Kurven können aneinandergefügt werden. Zwei n-mal stetig
3
3
differenzierbare reguläre Kurven g1: [a,b]Æ ℝ und g2: [s,t] Æ ℝ
n
schließen an der Stelle b, s C -stetig aneinander (parametrisch stetig),
genau dann, wenn
g 1( k ) (b) = g 2( k ) (s) für alle 0 ≤ k ≤ n.
Abb. 1.9:
Zwei äquivalente Kurven
10
■
■
■
1 Computergrafik und Virtual Reality
Für Animationen und sonstige Anwendungen der Computergrafik
ist diese Definition des parametrisch stetigen Übergangs zu strikt. Es
zählt vielmehr der visuell-glatte Übergang. Daher definieren wir (Geon
metrisch stetiger Anschluss oder G -stetiger Übergang): Zwei n-mal
3
3
stetig differenzierbare reguläre Kurven g1: [a,b]Æ ℝ und g1: [s,t]Æ ℝ
n
schließen an der Stelle b, s G -stetig aneinander, falls es eine zu g1 äqui3
n
valente Kurve r: [a1,b1]Æ ℝ gibt, so dass r0 und g2 an der Stelle b1, s C stetig aneinanderschließen.
Also existiert eine bijektive differenzierbare Abbildung ϕ:[a, b]→
[a1, b1 ] mit ϕ´(.)≥0, so dass r= g1°ϕ.
Damit ergibt sich mit der Kettenregel für die Ableitungen:
Geometrische Stetigkeit
g 2 (s) = r (b1 ) = g 1 (ϕ (b))
g 2′ (s) = g 1′(ϕ (b))ϕ ′(b)
g 2′′(s) = g 1′′(ϕ (b))ϕ ′(b)2 + g 1′(ϕ (b))ϕ ′′(b)
0
1
Also heißt G - und G -Stetigkeit:
• G -Stetigkeit entspricht der C -Stetigkeit.
1
• G -Stetigkeit: Der Übergang ist stetig und beide Tangentenvektoren
haben am Übergang die gleiche Richtung.
0
0
Der dreidimensionale Raum ℝ steht hier stellvertretend für allged
mein d-dimensionale Räume ℝ . Es sind dann natürlich entsprechend
mehr oder weniger Koordinatenfunktionen zu definieren.
Man sieht, dass zur Angabe einer parametrisierten Kurve neben dem
Intervall die Angabe von Koordinatenfunktionen genügt, wie in dem in
Abb. 1.10 dargestellten Beispiel einer ebenen parametrisierten Kurve.
Im Prinzip darf man für die Koordinatenfunktionen jede mögliche
Funktion wählen, jedoch besitzen vor allem die Polynomfunktionen
besonders schöne (aber auch schlechte) Eigenschaften. Insbesondere,
und das ist in der Informatik besonders wichtig, sind sie sehr schnell
3
Abb. 1.10:
Beispiel einer ebenen parametrisierten
Kurve
1.1 Modellierung virtueller Welten
■
■
■
11
auszuwerten. Dies ist ein Grund, dass man sich in der Computergrafik
vor allem diesen Funktionsarten verschrieben hat.
Definition: Die Menge
⎧ n
⎫
P n ([a, b]) = ⎨∑α it i , für α i ∈ R3 und t ∈ [a, b ]⎬
⎩ i=0
⎭
Monombasis
Taylorbasis
aller Polynome vom Grad n ist ein endlich dimensionaler Unterraum
3
von C([a,b], ℝ ), dem Raum der stetigen, parametrisierten Kurven.
Die Vektoren αi heißen Taylorkoeffizienten des Polynoms.
n
Der Unterraum P [a,b] hat Dimension n+1 und die Menge der Mo2
n
nome {1,t,t ,..., t } bildet eine Basis, die sog. Monom- oder Taylorbasis.
Wie man leicht sehen kann, ist es egal, ob man drei polynomielle
Koordinatenfunktionen mit reellen Koeffizienten oder vektorielle
Koeffizienten wählt: Ein Beispiel:
⎛ 1 + t + 1.5t 2 − 3t 3 ⎞ ⎛ 1 ⎞ ⎛ 1 ⎞ ⎛ 1.5 ⎞
⎛ −3 ⎞
⎜
⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 2 ⎜ ⎟ 3
2
p(t ) = ⎜ 1.5 − t + 3t
⎟ = ⎜ 1.5 ⎟ + ⎜ −1 ⎟t + ⎜ 3 ⎟t + ⎜ 0 ⎟t
⎜ 3 + 6t − t 2 + 6t 3 ⎟ ⎜ 3 ⎟ ⎜ 6 ⎟ ⎜ −1 ⎟
⎜6⎟
⎝
⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠
⎝ ⎠
Hornerschema
Polynomfunktionen sind besonders schnell auszurechnen, d. h., ein
Funktionswert an einer vorgegebenen Intervallstelle t0 kann durch das
sog. Hornerschema ausgewertet werden. Das vollständige Hornerschema erlaubt sogar die Berechnung der Ableitungen:
Ist ein Polynom in Monomdarstellung
p(t ) = α nt n + α n−1t n−1 +
+ α 2t 2 + α1t + α 0
gegeben, so errechnet sich leicht der Funktionswert p(t0) an der Stelle
t0 nach folgendem Schema (Hornerschema): Von oben nach unten
wird mit t0 multipliziert − von links nach rechts. Der Funktionswert
steht rechts in der Tabelle.
αn
+
·t0
0
αnt0
αn-1
αnt0
(αn-1+αnt0) t0
αn-2
…
…
…
α0
**t0
p(t0)
Das vollständige Hornerschema sei an einem Beispiel demonstriert:
Gesucht sei der Funktionswert des folgenden Polynoms an der Stelle
t0 = 2
p(t ) = t 4 + 2t 3 − 3t 2 − 7
12
■
■
■
1 Computergrafik und Virtual Reality
Dann ergibt sich:
1
+ 0
⋅2 1
+ 0
⋅2 1
+ 0
⋅2 1
+ 0
2
2
4
2
6
2
8
2
−3 0 −7
8 10 20
5 10 13 = p(2)
12 34
17 44 ⋅ 1!= p′(2)
16
33 ⋅ 2!= 33 ⋅ 2 ⋅ 1 = p′′(2)
⋅ 2 1 10 ⋅ 3!= 10 ⋅ 3 ⋅ 2 ⋅ 1 = p′′′(2)
+ 0
⋅ 2 1 ⋅ 4!= 1 ⋅ 24 = p (4 ) (2)
Die Auswertung eines Polynoms mit dem Hornerschema ist effektiver als die Auswertung nach Funktionsvorschrift.
Wie ist aber unser Programm der Objektmodellierung zu realisieren? Gegeben sei eine komplexe Form und diese soll als parametrisierte Kurve dargestellt werden, am besten noch als Polynomfunktion.
Dadurch könnte eine komplexe, kontinuierliche Form durch ein paar
wenige Punkte, d. h. die Koeffizienten αi, vollkommen definiert werden. Schnell stellt sich die Frage, ob das überhaupt möglich ist und,
falls ja, wie die Koeffizienten αi zu berechnen sind?
1.1.2.2
Interpolationsaufgabe, Monominterpolation
Wir kennen jedoch ein positives Resultat, welches uns auf unserem
Weg bestärkt. Zunächst noch einmal die Aufgabe:
Gegeben: Eine Reihe von (Mess-)Punkten (ui,Pi), i=0,...,n, mit ui∈R
3
und Pi ∈ ℝ .
Gesucht: (Interpolationsaufgabe IA) Eine Funktion f, welche der Bedingung genügt, dass
f(ui)= Pi für alle i=0,...,n
die Kurve f also zu den vorgegebenen Parameterwerten ui durch die
vorgegebenen Punkte Pi verläuft. ui heißen Stützstellen, der Vektor
(u0, ..., un) Stützstellenvektor und Pi heißt Stützpunkt. Die Paare (ui, Pi)
heißen Knoten der IA.
1.1 Modellierung virtueller Welten
■
■
■
13
Wie bereits erwähnt, gibt es zu diesem zentralen Problem eine positive Antwort. Diese Tatsache ist nicht nur für die Modellierung von Objekten von Bedeutung, sondern das nachfolgende Theorem hat vielfältige Anwendungen in der Numerik und damit in der Computergrafik.
Theorem: Es seien n+1 paarweise verschiedene Knoten (ui, Pi), i=0,...,n
d
mit ui ∈ℝ und Pi ∈ ℝ gegeben. Dann existiert genau ein Polynom p
d
vom Grad ≤n, mit n+1 Koeffizienten ci ∈ ℝ , so dass
n
p(t ) = ∑ cit i und p(ui ) = Pi für alle i = 0,1,..., n
i =0
Beweis: Nach Voraussetzung gilt:
c0 + c1u0 + c2u02 + … + cnu0n = P0
c0 + c1u1 + c2u12 + … + cnu1n = P1
c0 + c1un + c 2un2 + … + cnunn = Pn
In Vektorschreibweise ergibt sich dann:
⎛ 1 u0
⎜
⎜ 1 u1
⎜
⎜
⎝ 1 un
u0 2
u12
un 2
u0n ⎞⎛ c0 ⎞ ⎛ P0 ⎞
⎟⎜ ⎟ ⎜ ⎟
u1n ⎟⎜ c1 ⎟ ⎜ P1 ⎟
=
⎟⎜ ⎟ ⎜ ⎟
⎟⎜ ⎟ ⎜ ⎟
unn ⎠ ⎝ cn ⎠ ⎝ Pn ⎠
Μ ⋅C = P
Die Matrix M hat die bekannte Form der sog. Van der Monde’schen
Matrix. Die Zeilen sind jeweils fortschreitende Potenzen von ui. Sind
die Stützstellen ui paarweise verschieden, ist die Matrix M invertierbar
und das Gleichungssystem ist lösbar. Die unbekannten Koeffizienten ci sind dadurch eindeutig gegeben.
Diese Methode (Interpolation mit Monomen) liefert die Existenz
einer Lösung der Interpolationsaufgabe und deren Eindeutigkeit. Das
Problem ist aber, die unbekannten Koeffizienten ci zu finden. Fügt
man einen neuen Knoten ein (hat man einen zusätzlichen Interpolationspunkt), so muss die volle Matrix invertiert werden. Eine Lösung
des Problems ist die Newton-Interpolation [Br00].
Schwieriger als das eben beschriebene Problem ist jedoch folgendes
Phänomen: Stellen wir uns eine Kurve vor, welche wir durch Monominterpolation gewonnen haben:
n
p(t ) = ∑ cit i und p(ui ) = Pi für alle i = 0,1,..., n
i =0
14
■
■
■
1 Computergrafik und Virtual Reality
Wobei also die Knoten (ui,Pi), i=0,…,n, vorgegeben und die Koeffizienten ci durch Lösen des Gleichungssystems gewonnen wurden.
Wird nun auf diese Kurve eine affine Transformation (z. B. eine Rotation) angewandt, so stellt sich die Frage, ob die Kurve wieder durch
die nun ebenfalls rotierten Punkte Pi geht. Leider ist dem nicht so!
Untersuchen wir diese Eigenschaft einmal genauer: Es sei Φ eine
d
Abbildung (z. B. Translation, Rotation, Streckung) in ℝ . Φ heißt eine
affine Abbildung, wenn für alle Skalare λ0, λ1, ..., λn∈ℝmit ∑ λi=1 und
alle Punkte P0,…,Pn folgende Gleichung gilt:
⎛
⎝
⎞
⎠
Φ ⎜ ∑ λi Pi ⎟ = ∑ λΦ
(Pi )
i
i
i
Nun sind aber c0, c1,..., cn∈ ℝ und p(u) eine Polynomkurve mit
p(u)=∑0≤i ≤ n ci fi(u). Diese Darstellung ist genau dann affin invariant,
wenn
d
n
∑ f (u) = 1
i
∀u ∈[a, b] , denn dann gilt
i =0
⎛
⎝
n
⎞
⎠
n
Φ ⎜ ∑ fi (u)Pi ⎟ = ∑ fi (u)Φ (Pi ) ∀u ∈[a, b]
i =0
i =0
Anschaulich erhält man den gleichen Kurvenverlauf, unabhängig
davon, ob man zuerst die Stützpunkte affin verschiebt und dann die
Kurve berechnet, oder ob man zuerst die Kurve berechnet und dann
die einzelnen Kurvenpunkte affin transformiert.
i
Für Monome gilt jedoch im Allgemeinen ∑ u ≠1 für u∈[a,b], daher
ist die Polynomdarstellung mit Monomen (Taylorbasis) nicht affin
invariant.
Betrachten wir dazu ein Beispiel:
Wir nehmen an, dass wir den Weg eines berühmten Bergsteigers auf
den Gipfel des Mount Everest modellieren wollen. Er befindet sich zu
gewissen Zeiten ui in den Basislagern Pi, die über GPS bestimmt wurden.
Sein Weg wird durch Bestimmung der Taylorkoeffizienten computergrafisch modelliert. Leider dreht sich die Erde in 24 Stunden einmal um
sich selbst und damit wird in einem globalen, geozentrischen Koordinatensystem die Kurve unseres Bergsteigers auf den Gipfel rotiert. Die
Kurve muss immer dieselbe sein und es genügt nun nicht, einfach die
Taylorkoeffizienten zu rotieren, um die Kurve zeichnen zu können! Um
die Kurve durch die Basislager zu zwingen, müssen wir, Bild für Bild,
zur Bestimmung der Taylorkoeffizienten ci ein Gleichungssystem lösen.
1.1 Modellierung virtueller Welten
■
■
■
15
Außerdem ist es nicht möglich, die Koeffizienten ci irgendwie mit
dem Verlauf der Kurve in Beziehung zu setzen. Sie haben keine geometrische Bedeutung für den Kurvenverlauf.
Dies alles sind schwerwiegende Probleme bei der Interpolation mit
Monomen. Die einzige Lösung aus diesem Dilemma ist, eine neue
Menge von Basisvektoren für den Raum aller Polynomkurven zu finden, die die gewünschten Eigenschaften besitzt:
•
•
•
•
Einfache Berechnung der Koeffizienten ci
Geometrische Deutung der Koeffizienten ci
Affine Invarianz der Kurve
Einfache Berechnung der Kurve p(t)
1.1.2.3
Interpolationsaufgabe, Lagrangekurven
Die ersten drei Eigenschaften sind leicht durch folgenden Ansatz zu
erreichen:
Lni (u) =
=
n
u − uj
j =0, j ≠i
ui − u j
∏
(u − u0 )(u − u1 ) (u − ui−1 )(u − ui+1 ) (u − un )
(ui − u0 )(ui − u1 ) (ui − ui−1 )(ui − ui+1 ) (ui − un )
Es seien n+1 Knoten (ui,Pi) gegeben, mit i=0,...,n und u0<u1<...<un.
Weiter sei I=[a,b] ein Intervall. Für jedes i=0,…,n definieren wir das
folgende Polynom vom Grad n (i-tes Lagrange-Polynom vom Grad n):
Die Interpolationsaufgabe ist durch
n
p(u) = ∑ Lni (u)Pi , u ∈ [a, b ]
i =0
eindeutig gelöst. Außerdem ist ∑0≤i≤n Li (u)=1, d. h., die Kurve ist affin
invariant.
Diese Tatsache ist leicht einzusehen. Zentral ist die Eigenschaft der
Lagrangepolynome, dass
n
⎧1 i = k
Lni (uk ) = δ ik = ⎨
⎩0 sonst
Damit scheinen wir alle Punkte erreicht zu haben. Leider ist die
Kurve nicht einfach zu ermitteln und muss nach der Definition gerechnet werden. Kommt ein neuer Knotenpunkt hinzu, so ändert sich
komplett die Form der Lagrangepolynome.
16
■
■
■
1 Computergrafik und Virtual Reality
Beispiel: Gegeben seien drei Knoten (ui,Pi) i=0,1,2 mit (0,(1|0)),
(1,(−1|0)) und (3,(3|3)). Die Lagrangepolynome sind dann
(u − 1)(u − 3) u2 − 4u + 3
=
(0 − 1)(0 − 3)
3
u(u − 3)
L21 (u) =
−2
u
(
u
− 1)
L22 (u) =
6
L20 (u) =
und die Interpolationskurve ist durch
⎛ 1 ⎞ u2 − 4u + 3 ⎛ −1 ⎞ u(u − 3) ⎛ 3 ⎞ u(u − 1)
p(u) = ⎜ ⎟
+⎜ ⎟
+⎜ ⎟
3
⎝0⎠
⎝ 0 ⎠ −2
⎝ 3⎠ 6
gegeben. Der Kurvenverlauf ist in Abb. 1.11 dargestellt.
Versucht man mit diesen Kurven Objekte zu modellieren, so stellt
man leicht fest, dass diese Kurven ihre Form stark ändern, wenn ein
(Interpolations-)Punkt verschoben wird. Leider ändert sich die Form
der Kurve auch nicht immer in Richtung der Verschiebung des Punktes. Zudem kann am Anfang und Ende der Kurve die Steigung nicht
vorgegeben werden, was ein „glattes“ Aneinanderfügen von Kurvenstücken sehr schwer macht.
Abb. 1.11:
Beispiel einer Lagrangekurve
1.1.2.4
Interpolationsaufgabe, Hermitekurven
Da Kurvensegmente in der Monom- und Lagrangebasis in der Regel
0
nur mit C -Stetigkeit aneinandergefügt werden können, sind diese
1
Basen nicht für stückweise C -stetige Interpolation geeignet.
1.1 Modellierung virtueller Welten
■
■
■
17
Für diesen Fall bieten sich z. B. kubische Hermite-Splines an:
Sind die Parameterwerte t0, t1 ,..., tn∈ ℝ, die dazugehörigen Punkte
d
p0 , p1 ,..., pn∈ ℝ und in den Knotenpunkten die Ableitungen m0, m1 ,...,
d
mn∈ℝ gegeben, so erfüllen folgende Segmente qi , i=0,...,n-1 die Interpolationsaufgabe:
qi (u) = pi H 03 (si ) + Δ i mi H13 (si )
+ Δi mi+1 H 23 (si ) + pi+1 H 33 (si ) , u ∈[t i ,t i+1 ]
wobei
si =
(u − t i )
Δ i = t i+1 − t i
(t i+1 − t i )
Die Polynome H 03 , H13 , H 23 und H 33 heißen Hermitepolynome vom
Grad 3. Den Parameter u nennt man globalen Parameter des Splines
und Parameter si heißt lokaler Parameter für das Intervall [ti,ti+1]. Die
vier kubischen Hermitepolynome über dem Intervall [0,1] sind in
Abb 1.12 definiert.
Abbildung 1.13 zeigt einige Beispiele von kubischen Hermitekurven.
Dennoch gibt es bei dieser Art von Interpolationskurven ein Problem: Oft hat man die Tangenten mi nicht alle explizit gegeben.
Abb. 1.12:
Die vier kubischen Hermitepolynome
Abb. 1.13:
Beispiele kubischer Hermitekurven
18
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.14:
Vorgabe der Tangenten an allen
Stützstellen
Trick: Berechne die fehlenden Tangenten aus Stützstellen. Die Tangentenrichtung mi im Punkt Pi wird parallel zur Sehne durch Pi-1 und
Pi+1 gewählt. Der entstehende Interpolant wird auch als Catmull-RomSpline bezeichnet (FMILL-Schätzung).
Mit Hermite-Interpolationskurven ist einfach und intuitiv zu modellieren. Jedoch ist die explizite Angabe der Steigungstangenten der
Kurve in der Praxis oft ein Problem.
1.1.2.5
Bézierkurven
Wieder sind wir auf der Suche nach einem Satz von Polynomfunktion
nen als Basis des P ([s,t]). Dafür betrachten wir das Intervall [s,t] und
berechnen:
(t − s)n = (t − u + u − s)n
n
⎛n⎞
= ∑ ⎜ ⎟(t − u)i (u − s)n−i
i =0 ⎝ i ⎠
Wir können abkürzend schreiben:
t
s
Bin (u) =
1 ⎛n⎞
(t − u)i (u − s)n−i , i = 0,..., n .
n ⎜ ⎟
i
(t − s) ⎝ ⎠
Dies sind n+1 Polynome vom Grad n über dem Intervall [s,t] und
aus der Definition ergibt sich direkt, dass
n
1 = ∑ st Bin (u), für alle u ∈[s,t ].
i =0
Diese n+1 Polynome heißen Bernsteinpolynome vom Grad n über
dem Intervall [s,t]. Häufig wählt man das Einheitsintervall [0,1] und
n
schreibt einfacher Bi . Es kann gezeigt werden, dass diese n+1 Poly-
1.1 Modellierung virtueller Welten
Bernsteinpolynome
■
■
■
19
nome linear unabhängig sind und daher eine Basis des Polynomraums
n
P ([s,t]) bilden.
Viele weitere Eigenschaften der Bernsteinpolynome sind einfach
aus der Definition nachzurechnen:
n
∑
t
s
Bin (u) = 1, für u ∈[s,t ]
Partition der Eins
t
s
Bin (u) ≥ 0, für u ∈[s,t ]
Positivität
i =0
u − s t n−1
t − u t n−1
s Bi −1 (u) +
s Bi (u) Rekursion
t −s
t −s
t n
t
n
Symmetrie
s Bi (u) = s Bn−i (t − (u − s ))
t
s
Bin (u) =
t
s
Bin (s) = 0 = ts Bin (t ), ts B0n (s) = 1 =ts Bnn (t ), ts B0n (t ) = 0 = ts Bnn (s)
max ts Bin (u) = ts Bnn−i (i / n)
Für den Fall n=4, s=0 und t=1 ergeben sich die folgenden Bern4
3
2 2
4
4
4
4
steinpolynome B0 = (1–u) , B1 = 4(1–u) u, B2 = 6(1–u) u sowie B3 =
3
4
4
4(1–u)u und B4 = u :
Abb 1.15:
Bernsteinpolynome vom Grad 4 über
dem Intervall [0,1]
Diese Basisfunktionen sind nun Ausgangspunkt für folgende Definition einer Bézierkurve: Sei mit I=[s,t] ein Intervall und b0, b1,...,bn
d
∈ ℝ Punkte gegeben, dann heißt
n
p(u) = ∑ bi ⋅ st Bin (u), u ∈[s,t ]
i =0
Bézierkurve vom Grad n. Die Punkte b0, b1,...,bn heißen Bézierd
punkte und definieren zusammen das Bézierpolygon in ℝ .
20
■
■
■
1 Computergrafik und Virtual Reality
Beispiel: b0=(1|0), b1=(0|2), b2=(1|5.5), b3=(6|5.5), b4=(7.5|0.5) seien
Bézierpunkte in der Ebene. Wir wählen das Einheitsintervall als Parametervorrat. Die Bézierkurve ist dann durch
4
3
2
2
p(u)=(1|0) (1-u) + (0|2) 4 (1-u) u + (1|5.5)6 (1-u) u
3
4
+ (6|5.5) 4(1-u)u + (7.5|0.5) u
gegeben. Das Schaubild sieht folgendermaßen aus:
Aus den oben genannten Eigenschaften der Bernsteinpolynome
können sofort elementare Eigenschaften der Bézierkurven abgeleitet
werden.
Die erste Eigenschaft (Partition der Eins) zusammen mit der Positivität der Bernsteinpolynome zeigt direkt die affine Invarianz der
Bézierkurven. Außerdem schließen wir daraus auch, dass die Bézierkurve innerhalb der konvexen Hülle der Bézierpunkte verläuft, und
zwar als Konvexkombination der Bézierpunkte.
Die Bézierkurve verläuft durch Anfangs- und Endpunkt b0 und bn.
Dies folgt aus den vorletzten Eigenschaften der Bernsteinpolynome,
die die Werte 0 und 1 genau an den Grenzen des Parameterintervalls
annehmen.
Betrachtet man die Ableitung einer Bézierkurve am Anfang und
Ende, so ist leicht zu zeigen, dass die respektiven Ableitungen durch
p′(s) =
n
n
(b1 − b0 ) und p′(t ) =
(bn − bn−1 )
t −s
t −s
gegeben sind. Dies bedeutet aber, dass die Bézierkurve innerhalb der
konvexen Hülle der Bézierpunkte verläuft und tangential an das
Bézierpolygon ist.
1.1 Modellierung virtueller Welten
■
■
■
21
Abb. 1.16:
Bézierkurve mit Bézierpunkten
und -polygon
Allgemeiner gilt für die i-te Ableitung der Bézierkurve:
p(i ) (s) =
n! i ⎛ i ⎞
1
∑ ⎜ ⎟(−1)i− j b j
(t − s)i (n − i)! j=0 ⎝ j ⎠
p(i ) (t ) =
n! i ⎛ i ⎞
1
∑ ⎜ ⎟(−1) j bn− j
i
(t − s) (n − i)! j=0 ⎝ j ⎠
Konvention: Im Folgenden betrachten wir s=0, t=1, d. h. I=[0,1]
n
1 n
und schreiben einfach Bi (u) statt 0 Bi (u). Im Übrigen kann jederzeit
durch die folgende Abbildungen
u=
u−s
, u ∈[s,t ] bzw. u = s(1 − u) + tu,
t −s
u ∈[0,1]
reparametrisiert werden.
1.1.2.6
Der De-Casteljau-Algorithmus
Bei der Monomdarstellung von Polynomfunktionen haben wir das
Hornerschema zur Berechnung von Funktionswerten der Kurve kennengelernt. Auch im Falle von Bézierkurven existiert nun ein Berechnungsschema, das die schnelle Berechnung von Kurvenwerten erlaubt:
Das Schema nach de Casteljau oder der De-Casteljau-Algorithmus:
d
Seien I=[0,1] und b0, b1 ,..., bn∈ ℝ gegeben und
n
p(u) = ∑ bi Bin (u)
i =0
eine Bézierkurve, dann liefert für jedes u∈I=[0,1] das rekursiv definierte Schema
bi0 (u) = bi
i = 0, ..., n
b (u) = u ⋅ b (u) + (1 − u) ⋅ b (u)
r
i
r −1
i +1
r −1
i
den Funktionswert p(u) = b0n (u).
22
■
■
■
1 Computergrafik und Virtual Reality
r = 1, ..., n, i = 0, ..., n − r
Wir betrachten folgendes Beispiel: Es seien I=[0,1] und die Bézierpunkte b0=(1|0), b1=(0|2), b2=(1|5.5), b3=(6|5.5) und b4=(7.5|0.5) gegeben. Wir suchen den Funktionswert p(u) für u=0.5:
De-Casteljau-Schema
⎛1⎞
b00 (0.5) = b0 = ⎜ ⎟
⎛ 0.5 ⎞
⎝0⎠ 1
b0 (0.5) = ⎜ ⎟
⎛0⎞
⎛ 0.5 ⎞
⎝ 1 ⎠ 2
b0 (0.5) = ⎜
b10 (0.5) = b1 = ⎜ ⎟
⎟
⎛ 0.5 ⎞
⎝ 2⎠ 1
⎝ 2.125 ⎠ ⎛ 1.25 ⎞
b1 (0.5) = ⎜
⎜
⎟
⎟
⎛ 2 ⎞ ⎝ 3 ⎠ ⎛ 2.40625 ⎞
⎛ 1 ⎞
⎝ 3.25 ⎠ 2
0
b1 (0.5) = ⎜
b2 (0.5) = b2 = ⎜ ⎟
⎜
⎟
⎟
⎛ 3.5 ⎞
⎝ 3.875 ⎠ ⎛ 3.5625 ⎞ ⎝ 3.34375 ⎠
⎝ 5.5 ⎠ 1
b2 (0.5) = ⎜ ⎟
⎜
⎟
⎛ 5.125 ⎞ ⎝ 3.6875 ⎠
⎛ 6 ⎞
⎝ 5.5 ⎠ 2
0
b2 (0.5) = ⎜
b3 (0.5) = b3 = ⎜ ⎟
⎟
⎛ 6.75 ⎞
⎝ 3.5 ⎠
⎝ 5.5 ⎠ 1
b3 (0.5) = ⎜
⎟
⎛ 7.5 ⎞
⎝ 2.5 ⎠
b40 (0.5) = b4 = ⎜ ⎟
⎝ 0.5 ⎠
Dieses Schema wird von links nach rechts aufgebaut. Jeweils zwei
untereinander stehende Punkte werden mit Koeffizienten s und (1 – s)
multipliziert und addiert, um einen neuen Wert der nächsten Spalte
zu ergeben. Der gesuchte Funktionswert steht ganz rechts am Ende
dieses Dreiecksschemas. Also ist
⎛ 2.41 ⎞
p( 12 ) = ⎜
⎟
⎝ 3.34 ⎠
Das Schema wird größer, je mehr Bézierpunkte für die Kurve verwendet werden.
1.1.2.7
Unterteilung und Graderhöhung von Bézierkurven
Diesem Schema ist noch mehr zu entnehmen! Dazu betrachten wir die
(i)
Ableitungen der Bézierkurve einmal näher. Die i-te Ableitung p (u)
ergibt sich aus dem De-Casteljau-Schema in der (n-i)-ten Stufe.
p(i ) (u) =
1
n! i ⎛ i ⎞
∑ ⎜ ⎟(−1)i−k bkn−i (u)
(t − s)i (n − i)! k=0 ⎝ k ⎠
1.1 Modellierung virtueller Welten
■
■
■
23
Für die erste Ableitung ist die vorletzte Stufe des Schemas entscheidend:
b00
b10
0
2
b
b30
b01
1
1
b
b21
b02
2
1
b
b03 p ′(u ) =
(
n
b1n −1 (u ) − b0n −1 (u )
(t − s )
)
1. Ableitung
Das De-Casteljau-Schema dient also nicht nur zur Berechnung von
Funktionswerten der Kurve, sondern kann auch für die Berechnung
der Ableitungen verwendet werden.
Eine Besonderheit des De-Casteljau-Algorithmus ist seine unmittelbar geometrische Veranschaulichung. Zur einfacheren Konstruktion wollen wir einmal 4 Bézierpunkte in der Ebene betrachten. Die
einzelnen Konstruktionsebenen sind in Abb. 1.17 farblich markiert.
Abb. 1.17:
Geometrische Konstruktion nach de
Casteljau
Die geometrische Konstruktion in der Ebene ist exemplarisch für
gegebene Bézierpunkte.
2
2
Die Strecke b0 und b1 liegt, wie wir uns überlegt haben, tangential
zur Bézierkurve. Der Funktionswert p(1/2) ist markiert.
Der De-Casteljau-Algorithmus erlaubt es, eine gegebene Bézierkurve
leicht in zwei Bézier-Teilsegmente zu zerlegen. Die neuen Bézierpunkte
der Teilsegmente ergeben sich aus dem oberen und unteren Rand des
Schemas. Dies kann wieder in der Konstruktion dargestellt werden:
24
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.18:
Zerlegung einer Bézierkurve
in Teilsegmente
Ist also q∈[s,t] ein beliebiger Punkt des Intervalls, so kann die
Bézierkurve in q geteilt werden, und die neuen Bézierpunkte auf den
Teilsegmenten [s,q] und [q,t] ergeben sich aus dem De-CasteljauAlgorithmus wie folgt:
⎧n q n
i
⎪∑ s Bi (u)b0 (q)
⎪ i =0
p(u) = ⎨ n
⎪ t Bn (u)b n −i (q)
q i
i
⎪⎩∑
i =0
s≤u≤q
q≤u≤t
Man beobachtet nun, dass bei mehrmaliger, fortgesetzter Unterteilung der Bézierkurve die Folge der Bézierpolygone gegen die eigentliche Kurve konvergiert. Bei fortgesetzter Halbierung des Parameterintervalls ist diese Konvergenz exponentiell und liefert ein praktisches
Verfahren zur Darstellung einer Bézierkurve durch eine stückweise
lineare Approximation.
Werden zur genaueren Approximation einer geometrischen Figur
durch eine Bézierkurve mehr Bézierpunkte benötigt als vorhanden, so
kann der Grad der Kurve erhöht werden. Bei Erhöhung um einen
Grad wird ein weiterer Kontrollpunkt in das Kontrollpolygon eingefügt, ohne dass sich die geometrische Form der Kurve ändert.
Ist eine Bézierkurve p vom Grad n mit den Bézierpunkten b0, b1,...,bn
d
∈ ℝ gegeben, so ist p als Bézierkurve vom Grad n+1 darstellbar, so
dass gilt:
n
∑b
i =0
t
i s
Graderhöhung einer
Bézierkurve
n +1
~
Bin (u ) = p (u ) = ∑ bi ts Bin +1 (u ), u ∈ [ s, t ]
i =0
1.1 Modellierung virtueller Welten
■
■
■
25
Abb. 1.19:
Graderhöhung einer
Bézierkurve
Die neuen Bézierpunkte sind gegeben durch:
~
b0 = b0
~
bj =
~
bn +1
Eigenschaften von Bézierkurven
26
■
■
■
j
j
)b j ,
b j −1 + (1 −
n +1
n +1
= bn
j = 1,..., n
Dieses Vorgehen wird uns an anderer Stelle noch einmal begegnen
und zeigen, wie Bézierkurven mit Subdivisionalgorithmen erzeugt
werden können. An dieser Stelle sei einfach die Idee in einer Figur
dargestellt.
Bézierkurven vereinigen einige sehr gute Eigenschaften, die zur (interaktiven) Modellierung gebraucht werden. Die Kurven sind schnell
zu berechnen, sie sind affin invariant und haben zahlreiche geometrische Eigenschaften: Das Bézierpolygon vermittelt den ungefähren
Verlauf der Kurve. Neben der erwähnten Tatsache, dass die Kurve
einfach auszurechnen ist, hat man die Ableitungen ebenso unter Kontrolle; die Kurve verläuft am Anfang und Ende tangential zum Bézierpolygon der Kurve und die Ableitung kann aus dem De-CasteljauAlgorithmus bestimmt werden.
Außerdem können Bézierkurven unterteilt und weiter verfeinert
werden. Verändert man interaktiv die Lage der Bézierpunkte, so folgt
die Kurve der Richtung der Lageänderung. Dies ermöglicht erst ein
intuitives und interaktives Modellieren.
Doch sind neben all diesen schönen Eigenschaften auch ein paar
Punkte, die wir noch verbessern sollten: Sind n+1 Bézierpunkte gegeben, so sind n+1 Bernsteinpolynome zur Gewichtung notwendig. Dien
se besitzen den Grad n und bilden eine Basis des Vektorraums P aller
d
Polynomkurven vom Grad n in ℝ . Der Grad einer Bézierkurve ist also
direkt mit der Anzahl der Bézierpunkte gekoppelt. Je mehr Bézierpunkte oder „Gestaltungspunkte“ man für eine Kurve betrachtet,
desto größer werden der Grad und damit die Welligkeit der Kurve.
1 Computergrafik und Virtual Reality
Ein weiterer Punkt: Betrachtet man einmal die Bernsteinpolynome,
so erkennt man, dass diese zwar positiv sind und sich zu 1 addieren,
jedoch sind sie auf dem gesamten Intervall positiv und verschwinden
nie. Dies bedeutet dann aber wiederum, dass der Einfluss eines Bézierpunktes, der mit einem Bernsteinpolynom gewichtet wird, sich über das
gesamte Intervall erstreckt. Der Bézierpunkt beeinflusst global die Form
der Kurve. Dies ist ein Nachteil, will man doch lokal die Form der Kurve
gestalten und nicht durch lokale Änderung eines Kurven(kontroll)punktes eine globale Formänderung der Kurve in Kauf nehmen müssen.
1.1.2.8
Splines, Béziersplines
Um den Grad des Interpolationspolynoms nicht allzu groß werden zu
lassen, unterteilen wir das Problem (Interpolationsaufgabe, Approximation von Kurven) in Teilstücke von Kurvensegmenten mit niederem Grad (in der Praxis meist vom Grad 3) und fügen diese Kurvenn
segmente G stetig aneinander. Wir definieren:
Ein Spline ist eine stetige Abbildung q von einer Menge von Interd
vallen in den Vektorraum ℝ .
Die Intervalle [ti,ti+1], i=0,...,l-1 werden durch einen Stützstellenvektor T=(t0, t1,..., tl) mit t0≤ t1≤ … ≤ tl definiert.
Jedes Intervall [ti,ti+1] wird dabei auf ein Polynomsegment, das SplineSegment, abgebildet.
So können wir nun mit Bézierkurven einen solchen Spline gestalten. Interessant sind die Stellen ti, an welchen die Teilkurven aneinanderstoßen:
Gegeben seien Intervalle [ti,ti+1], i=0,...,l-1, durch einen Stützstellenvekd
tor T=(t0, t1,..., tl) mit t0≤ t1≤ … ≤ tl und Bézierpunkte bi,j∈ℝ für i=0,...,l
und j=0,...,n. Dann heißt die durch die Segmente
n
qi (u) = ∑ ttii +1 B nj (u) bi, j , u ∈[ti , ti +1 ]
j =0
definierte Kurve q=∑qi Bézierspline vom Grad n.
Abb. 1.20:
Aneinanderfügen von Kurvensegmenten
1.1 Modellierung virtueller Welten
■
■
■
27
Zu Beginn des Kapitels hatten wir Reparametrisierung und Anschlüsse von Kurven beschrieben und dabei parametrisch und geometrisch richtige Anschlüsse unterschieden. Zur Erinnerung: Wir
definierten die Ableitungsvektoren folgendermaßen:
T (u) = p′(u), u ∈[s,t ] Tangentenvektor an die Kurve in u
K (u) = p′′(u), u ∈[s,t ] Krümmungsvektor an die Kurve in u
In Anfangs- und Endpunkt einer Kurve sind die rechts- und linksseitigen Ableitungen zu betrachten.
d
d
Sind nun zwei Spline-Segmente qi:[ti-1,ti]→ℝ und qi+1:[ti,ti+1]→ℝ
mit den Bézierpunkten bi,0 ,…, bi,n und bi+1,0 ,…, bi+1,n gegeben, so stoßen
sie in ti aneinander.
… ≤ ti-1 ≤ ti ≤ ti+1 ≤ ...
qi(u)
b1,n-1
bi,n=bi+1,0
...
qi+1(u)
bi
bi+1,1
bi,1
bi.0
Stetigkeit an den Anschlussstellen
.
bi+1,n-1
bi+1,2
Zu untersuchen ist, welchen Stetigkeitsgrad, parametrisch stetig
n
n
(C ) oder geometrisch stetig (G ), dieser Anschluss besitzt.
1
Die G -Stetigkeit an der Verbindung von qi und qi+1 ist gleichbedeutend mit bi,n=bi+1,0 und der Kollinearität der Punkte bi,n-1, bi,n, bi+1,0, bi+1,1.
Wie wir wissen, verläuft nämlich die Bézierkurve qi in bi,n tangential
zum Vektor bi,n-1-bi,n und die Bézierkurve qi+1 in bi+1,0 tangential zu bi+1,0–
bi+1,1.
Sind also die vier Bézierpunkte kollinear, so zeigen die Ableitungen
am Ende und Anfang der Bézier-Spline-Segmente in dieselbe Rich1
tung und dann sind qi und qi+1 G -stetig in ti.
1
C -Stetigkeit fordert die Eigenschaft, dass sowohl Richtung als auch
Länge der beiden Tangenten (im Ende und Anfang der Spline-Segmente) gleich ist. Also sind in diesem Falle nicht nur die Kollinearität
der vier Bézierpunkte zu testen, sondern auch noch die Längenverhältnisse. Es muss gelten:
n
n
(bi ,n − bi ,n−1 ) = qi′(t i ) = qi′+1 (t i ) =
(bi+1,1 − bi+1,0 )
t i − t i−1
t i+1 − t i
28
■
■
■
1 Computergrafik und Virtual Reality
2
2
2
G - und C -Stetigkeit sind auch noch von Interesse. Für G Stetigkeit ist Folgendes zu überprüfen: Der Übergang ist stetig, beide
Tangentenvektoren haben am Übergang die gleiche Richtung und die
Krümmungsvektoren haben auch die gleiche Richtung. Für unsere
Bézier-Spline-Segmente bedeutet dies, dass die Punkte bi,n-2, bi,n-1, bi,n
und bi+1,0, bi+1,1, bi+1,2 komplanar sein müssen und natürlich bi,n= bi+1,0
gelten muss.
1.1.2.9
B-Splines
Béziersplines sind Kurven, die schon viele gute Eigenschaften realisieren. Jedoch ist noch immer eine gewisse Bindung des Grades der gesamten Kurve an die Zahl der Bézierpunkte festzustellen. Die wirkliche Unabhängigkeit von Grad und Anzahl der Kontrollpunkte ist nur
durch das Erreichen eines lokalen Trägers der Polynomfunktionen zu
schaffen. Dann muss auch nicht durch Einfügen eines neuen Kontrollpunktes der Grad der Kurve erhöht werden. Im Falle von Béziersplines wäre dies nur durch eine größere Umordnung zu schaffen.
Alle „guten“ Eigenschaften (affine Invarianz, konvexe Hülleneigenschaft, De-Casteljau-Berechnung) sollten jedoch für unsere neue Kurvenart in ähnlicher Weise gelten. Wir müssen neue Basisfunktionen
finden, mit denen wir wiederum gegebene Punkte gewichten, die den
Kurvenverlauf steuern.
Erinnern wir uns an die Eigenschaften der Bernsteinpolynome, so
war die Rekursionsgleichung besonders wichtig. Mit ihrer Hilfe ergab
sich der De-Casteljau-Algorithmus, mit seiner Hilfe konnte die konvexe Hülleneigenschaft bewiesen werden und und und …
Also sollte diese Rekursionsgleichung eine zentrale Rolle für die
neuen Basispolynomfunktionen spielen. Warum also nicht die Rekursionsgleichung als Definitionsbasis hernehmen?
Es seien Zahlen n ≤ m ∈ ℕ und eine schwach monotone Folge
T = (t0 = ... = tn, tn+1, ... , tm, tm+1 = ... = tm+n+1) von Knoten ti ≤ ti+n+1 ,
0 ≤ i ≤ m, gegeben (schwach monoton = monoton, aber es dürfen auch
gleiche Elemente vorkommen).
n
Die normalisierten B-Spline-Basisfunktionen Ni vom Grad n über T
sind durch
⎧1 falls t i ≤ u ≤ t i+1
N i0 (u) = ⎨
sonst
⎩0
u − t i r −1
t − u r −1
N ir (u) =
N i (u) + i+1+r
N i+1 (u), 1 ≤ r ≤ n
t i +r − t i
t i+1+r − t i+1
1.1 Modellierung virtueller Welten
■
■
■
29
Abb.1.21:
B-Spline-Basisfunktionen
rekursiv definiert. Vorkehrung ist für ti+r = ti und ti+r+1 = ti+1 zu treffen
(schwach monotone Folge). In diesem Fall definieren wir den Summanden gleich 0.
Zu beachten ist, dass die B-Spline-Basisfunktionen abhängig vom
gewählten Trägervektor T sind. Sind die Abstände ti+n+1 – ti , für alle
0 ≤ i ≤ m stets gleich, so sprechen wir von gleichförmigen (uniform),
andernfalls von nicht-gleichförmigen (non-uniform) B-Spline-Basisfunktionen.
Wie für Bernsteinpolynome, so können viele Eigenschaften der
B-Spline-Basisfunktionen abgeleitet werden. Sie können sämtlich
durch vollständige Induktion bewiesen werden.
• So bestehen die B-Spline-Basisfunktionen Ni (u) stückweise aus
Polynomen vom Grad n über T.
n
• Die Funktionen Ni besitzen einen lokalen Träger.
n
• Es gilt Ni (u)≥0 für alle u ∈ [ti ,ti+n+1] und
n
• Ni (u)=0 für alle u ∉ [ti ,ti+n+1].
• Wie die Bernsteinpolynome summieren sich die B-Splines für jeden
Parameterwert auf zu eins:
n
n
∑N
i =0
n
i
(u) = 1 , u ∈[t 0 ,t n+m+1 ]
Wichtig für die Glattheit der Kurve ist die Aussage, dass falls tj,
n
j∈{0,...,m+n+1}, ein einfacher Knoten ist ( tj-1≠tj ≠ tj+1), so ist Ni (tj)
n– 1
mindestens C -stetig.
Wir sehen, dass die Eigenschaften der Bernsteinpolynome erweitert
n
wurden. Man erkennt sogar, dass die B-Splines Ni (u) die Bernsteint n
polynome s Bi (u) über einem Intervall [s,t] als Spezialfall enthalten:
Es sei s<t∈ℝund T = (s,...,s,t,...,t) ein Knotenvektor mit (n+1)fachen Randknoten s und t. Dann stimmen für s ≤ u ≤ t die B-Splines
n
t n
Ni auf T mit den Bernsteinpolynomen s Bi auf [s,t] überein.
30
■
■
■
1 Computergrafik und Virtual Reality
Jetzt ist es an der Zeit, Kurven aus diesen neuen Basisfunktionen zu
definieren: Wie üblich wählen wir uns zuerst einen Trägervektor T
und dazu Zahlen n≤m∈N und eine schwach monotone Folge
T = (t0 = ... = tn, tn+1, ... , tm, tm+1 = ... = tm+n+1)
mit ti≤ ti+n+1 , 0 ≤ i ≤ m.
Die B-Spline-Basispolynome sind damit eindeutig definiert und wir
können die Punkte d0, …, dm∈ℝd mit den Basisfunktionen gewichten.
m
q(u) = ∑ di N in (u), u ∈[t 0 ,t n+m+1 ]
i =0
Die entstehende Kurve heißt B-Spline-Kurve oder einfach B-Spline
über T vom Grad n. Häufig beschränkt man sich jedoch auf kubische
B-Splines. Die Punkte d0,...,dm heißen Kontroll- oder De-Boor-Punkte
von q. Sie bilden das Kontroll- oder De-Boor-Polygon.
Die Eigenschaften der B-Spline-Basisfunktionen zeigen, dass die
Kurve affin invariant (Partition der 1) ist, innerhalb der konvexen
Hülle der De-Boor-Punkte verläuft (Konvex-Kombination) und durch
Anfangs- und Endpunkt geht. Wie sieht es nun mit der gesuchten lokalen Einflusseigenschaft eines De-Boor-Punktes aus? Aus Definition
n
n
der Basisfunktionen Ni (u) ist klar, dass Ni (u)≥0 für alle u ∈ [ti ,ti+n+1]
n
und Ni (u)=0 für alle u ∉ [ti ,ti+n+1] ist. Also ist das Produkt des Den
Boor-Punktes di mit Ni (u) nur auf dem Parameterstück [ti ,ti+n+1] ungleich null und verschwindet auf dem ganzen Rest des Intervalls
[t0 ,tn+m+1]. Die Form der Kurve wird über dem Intervall [ti ,ti+n+1] also
nur von den De-Boor-Punkten di-n,...,dn beeinflusst und die Basisfunkn
tionen Ni (u) schalten bei Segmentübergängen ti neue De-Boor-Punkte
an oder aus.
Außerdem folgt die Kurve der Verschiebungsrichtung des De-BoorPunktes wie bei Bézierkurven. Aber Bézierkurven sind auch ein Spezi-
Kontrollpunkte (De-Boor-Punkte)
Kontrollpolygon
Abb. 1.22:
Manipulation eines B-Splines durch
Verschiebung der Kontrollpunkte
1.1 Modellierung virtueller Welten
■
■
■
31
alfall, da der Trägervektor T=(s,s,…,s,t,t,…,t) speziell gewählt wurde
(n-mal s und t)
1.1.3
De-Boor-Algorithmus für B-Splines
Auch die Berechnung des Kurvenverlaufs kann wie bei Bézierkurven
durch ein rekursives Schema durchgeführt werden: Gegeben sei ein
B-Spline vom Grad n über
T = (t0 = ... = tn, tn+1, ... , tm, tm+1 = ... = tm+n+1)
mit ti≤ ti+n+1 , 0 ≤ i ≤ m:
m
q(u) = ∑ di N in (u), u ∈[t l ,t l+1 ]
i =0
dann liefert das rekursiv definierte Schema (De-Boor-Algorithmus)
n
den Funktionswert q(u)=dl-n (u).
di0 (u) = di ,
i = l − n,..., l
⎛
u − t i +r
dir (u) = ⎜ 1 −
t
i +n+1 − t i +r
⎝
⎞ r −1
u − t i +r
⋅ dir+−11 (u)
⎟ ⋅ di (u) +
t
t
−
i +n+1
i +r
⎠
i = l − n,..., l − r und 0 ≤ r ≤ n
Noch einmal sieht man hier den Zusammenhang zwischen allgemeineren B-Splines und Bézierkurven: Ist der Trägervektor T = (s,...,s,t,...,t),
dann geht der De-Boor-Algorithmus in den De-Casteljau-Algorithmus
über. Insbesonderes stimmt dann die B-Spline-Darstellung einer
B-Spline-Kurve q über T mit der Bézierdarstellung von q über [s,t]
überein.
Wir wollen einmal diesen Algorithmus an einem Beispiel testen.
Bekannt ist, dass der B-Spline durch Anfangs- und Endpunkt verläuft.
Kommt dies auch beim De-Boor-Algorithmus heraus? Dazu betrachten wir beispielhaft: n=2, T=(0,0,0,1,2,3,3,3) und d0=(0|0), d1=(1|0),
d2=(1|1), d3=(0|1). Wir wollen den Anfangspunkt berechnen, somit ist
u=0 und damit u∈[0,1]=[t2,t3], also l=2. Der De-Boor-Algorithmus
liefert:
d 0 = (0 | 0) d 0 = (1 | 0) d 0 = (1 | 1)
0
1
2
d1 = (0 | 0) d1 = (1 | 0)
0
1
d2
0
32
■
■
■
= (0 | 0)
1 Computergrafik und Virtual Reality
Auch diesmal kann der De-Boor-Algorithmus als geometrische
Konstruktion interpretiert werden, wie wir an einem weiteren Beispiel,
das in Abb. 1.24 dargestellt ist, sehen können: Es sei wieder n=2,
T=(0,0,0,1,2,2,2) und d0=(0|0), d1=(1|0), d2=(1|1), d3=(0|1).
Abb. 1.23:
Geometrische Konstruktion
des De-Boor-Algorithmus
Viele Eigenschaften lassen sich für B-Splines beweisen. Hier sind
die wichtigsten zusammengefasst:
Für tl≤u≤ tl+1 liegt q(u) in der konvexen Hülle der n+1 Kontrollpunkte dl-n, ..., dl (konvexe Hüllen-Eigenschaft, convex hull property):
Abb. 1.24:
Konvexe Hüllen-Eigenschaft
Fallen n Kontrollpunkte dl-n+1=dl-n=...= dl=d zusammen, so gilt
q(tl+1)=d, d. h., die Kurve verläuft durch diesen Kontrollpunkt.
Abb. 1.25:
n-facher Kontrollpunkt
1.1 Modellierung virtueller Welten
■
■
■
33
Liegen n+1 Kontrollpunkte dl-n=...= dl auf einer Geraden L, so gilt
q(u)∈L für tl≤u ≤ tl+1.
Abb. 1.26:
n+1 kollineare Kontrollpunkte
Fallen n Knoten tl+1 = ... tl+n =:t zusammen, so ist q(t) = dl ein Kontrollpunkt, und die Kurve schmiegt sich dort tangential an das Kontrollpolygon. Insbesondere verläuft die Kurve bei (n+1)-fachen Anfangs- und Endknoten durch die Endpunkte des Polygons und ist dort
tangential zum Kontrollpolygon.
Abb. 1.27:
n-facher Knoten
Einfügen weiterer Kontrollpunkte
Wie bei Bézierkurven will man durch interaktives Einfügen weiterer Kontrollpunkte die Geometrie der Kurve „verfeinern“. Der
B-Spline lässt sich flexibler gestalten. Analog wollen wir einen neuen
De-Boor-Punkt dr* einfügen, allerdings ohne gleichzeitig den Grad des
B-Splines zu erhöhen!
Gegeben sei ein B-Spline vom Grad n über
T = (t0 = ... = tn, tn+1, ... , tm, tm+1 = ... = tm+n+1).
m
q(u) = ∑ di N in (u)
i =0
34
■
■
■
1 Computergrafik und Virtual Reality
Es sei weiter dr*∈ℝd und etwa tr≤ t* ≤ tr+1. Dann besitzt q(u) die Darstellung vom Grade n über T = (t0 = ... = tn, tn+1, ..., tr, t*, tr+1,… , tm, tm+1
= ... = tm+n+1)
m+1
q(u) = ∑ d i∗ N in (u)
i =0
Die neuen De-Boor-Punkte di* sind:
d i∗ = (1 − ai ) d i −1 + ai d i
⎧
1
⎪⎪ t − t
i
ai = ⎨
t
-t
⎪ i+n i
⎪⎩
0
mit
für i ≤ r − n
bleiben
für r − n + 1 ≤ i ≤ r
für r + 1 ≤ i
nur n De-BoorPunkte
geshiftet
1.1.3.1
Rationale Kurven
Mit den B-Splines besitzen wir ein mächtiges Werkzeug zur Gestaltung von Kurven. Sie bieten die Möglichkeit, interaktiv zu modellieren
und sind schnell auszurechnen. Außerdem sind diese Kurven stabil
unter affinen Transformationen. Jedoch tritt wieder ein Problem auf:
Es gibt leider Kurven, die wir nicht als B-Spline beschreiben können.
Eine der elementarsten Kurven ist ein Kreis:
⎛ r cos(2πu )⎞
⎟⎟, u ∈ [0.0,1.0]
K (u ) = ⎜⎜
⎝ r sin (2πu ) ⎠
Jedoch sieht man nun sofort, dass die Koordinatenfunktionen aus
Sinus- und Cosinusfunktion bestehen, die wiederum nicht als Polynom endlichen Grades dargestellt werden können. Sie sind Exponentialreihen. Also gibt es keine Chance, Kreise als Monom-, Lagrange-,
Hermite-, Bézier- oder B-Spline-Kurve darzustellen. Es wäre immer
nur eine gute Näherung, aber nicht exakt ein Kreis.
Aber es gibt auch hier einen Ausweg! Kreise erhält man auch als
Projektionen eines Kegelmantels (Kegelschnitt). Die parametrisierte
Kurve eines Kreises hat daher auch die Form
1.1 Modellierung virtueller Welten
■
■
■
35
⎛ 1 − u 2 2u ⎞
⎟
K (u ) = r ⋅ ⎜⎜
2
2 ⎟
⎝1+ u 1+ u ⎠
Rationale Bézierkurve
Nun aber sind die Koordinaten durch (ganz)rationale Funktionen
gegeben. Aus dieser Not wird eine Tugend und wir definieren:
Gegeben seien Bézierpunkte bi∈ℝd, i=0,...,n, und Gewichte ωi≥0,
i=0,...,n, mit ω0=ωn=1. Dann heißt
n
r(u) =
∑ω b
t
i s
i
Bin (u)
i =0
n
∑ωi st Bin (u)
, u ∈[s,t ]
i =0
Rationale B-Spline-Kurve
rationale Bézierkurve vom Grad n.
Nun kann man nicht nur rationale Bézierkurven betrachten, sondern auch dasselbe für die allgemeineren B-Splines durchführen.
Sei T = (t0 = ... = tn, tn+1, ... , tm, tm+1 = ... = tm+n+1) ein Trägervektor und
sind m+1 Kontrollpunkte di∈ℝd und Gewichte ωi≥0, i=0,...,m, gegeben, so heißt
m
m
q(u) = ∑ di
i =0
ωi N in (u)
m
∑ω N
i
n
j
(u)
j =0
NURBS
=
∑d ω N
i
i
n
i
(u)
i =0
m
∑ω N
i
n
j
(u)
j =0
rationale B-Spline-Kurve. Sind die Intervallgrößen in T unterschiedlich, heißt q nicht-gleichförmiger rationaler (non-uniform-rational)
B-Spline (NURBS).
In beiden Kurvenarten sind jeweils Bézier- oder B-Spline-Kurven in
Zähler und Nenner zu finden. Zur Berechnung der Kurve könnte man
nun naiv Zähler und Nenner mit dem De-Casteljau- oder De-BoorAlgorithmus auswerten und den Quotient als Kurvenwert berechnen.
Jedoch geht es besser, wenn man sich daran erinnert, dass wir Projektionen vor uns haben (Kreis als Kegelschnitt)!
Gegeben seien Bézierpunkte bi=(xi,yi,zi) ∈ℝ3, i=0,...,n, und
Gewichte ωi≥0, i=0,...,n, mit ω0=ωn=1.
Dann ist bi = (ωi xi, ωi yi, ωi zi, ωi) ∈ℝ4, und
h
n
F (u) = ∑ bih st Bin (u), u ∈[s, t ]
i =0
definiert eine Bézierkurve im ℝ4.
36
■
■
■
1 Computergrafik und Virtual Reality
Diese Bézierkurve wird nun auf die Hyperebene ℝ3 =(*,*,*,1) projiziert, d. h. durch die letzte Koordinate dividiert. Man erhält die rationale Bézierkurve r(u). Gleiches gilt für die B-Spline-Kurven und
(N)URBS.
Für die Berechnung wendet man also den De-Casteljau- oder Deh
Boor-Algorithmus auf bi an. Wir erhalten den Funktionswert der
vierdimensionalen Kurve F(u)=(x|y|z|w). Den gesuchten Funktionswert der rationalen Kurven erhält man nun, indem man die Koordinaten x, y und z durch die vierte berechnete Koordinate w dividiert und
somit auf die dreidimensionale Hyperebene (mit w=1) projiziert.
Sei zum Beispiel T=(0,0,0, 1,1,1) gegeben mit b0=(1|0), b1=(1|1) und
b2=(0|1) mit Gewichten ω0=1= ω1 und ω2=2 . Dann ist die rationale
Bézierkurve des Viertelkreises gegeben durch:
2
r(u) =
∑ω b B (u)
i
i
2
i
i =0
2
∑ωi Bin (u)
, u ∈[0,1]
i =0
=
⎛1⎞
⎛1⎞
⎛0⎞
⎝ ⎠
⎝ ⎠
⎝ ⎠
ω0 ⎜ ⎟(1 − u)2 + ω1 ⎜ ⎟ 2u(1 − u) + ω2 ⎜ ⎟ u2
0
1
1
ω0 (1 − u)2 + ω1 2u(1 − u) + ω2u2
Wie nun leicht nachzurechnen ist, gilt
⎛ x(u) ⎞ ⎛ 1 − u2
r(u) = ⎜
⎟=⎜
2
⎝ y(u) ⎠ ⎝ 1 + u
T
2u ⎞
2
2
⎟ , mit x (u) + y (u) = 1
1 + u2 ⎠
Also beschreibt r(u) einen Kreisbogen, der in (1|0) beginnt und in
(0|1) endet. Zur Berechnung (und Darstellung) der Kreisbogenpunkte
wird jedoch nicht die obige Formel verwendet, sondern es wird der
h
h
De-Casteljau-Algorithmus auf die Punkte b0 =(1|0|1), b1 =(1|1|1) und
h
b2 =(0|1|2) angewendet. Es entsteht eine dreidimensionale Bézierkurve, welche dann auf die Ebene x3=1 projiziert wird.
Abb. 1.28:
Einfluss der Gewichte auf den
Kurvenverlauf
1.1 Modellierung virtueller Welten
■
■
■
37
Wird das Gewicht ωk vergrößert, so bewegt sich die Kurve zum
k-ten Kontrollpunkt.
1.1.4
Flächen
Im vorhergehenden Kapitel hatten wir Kurven immer nach dem gleichen Prinzip gebildet: Wir hatten gegebene Kontrollpunkte mit verschiedenen (polynomiellen) Basisfunktionen, die über einem Intervall
[s,t] definiert waren, gewichtet. Was, wenn nun die Kontrollpunkte
selbst wieder durch Kurven definiert werden? Man erhält die sogenannten Tensorproduktflächen. Zunächst betrachten wir zur Begriffsklärung allgemeine Flächenfunktionen.
Sei Ω⊆ℝ2 ein Gebiet in der Ebene − der Parameterbereich. Meist
verwendet man Rechtecks- oder Dreiecksgebiete als Parameterbereich. Eine Fläche ist eine Abbildung q: Ω→ℝd.
Im Falle d=3 und Ω=[0,1]×[0,1] ist eine Fläche also durch drei Koordinatenfunktionen x, y und z in jeweils zwei Parametern u und v
gegeben:
⎛ x(u, v ) ⎞
⎜
⎟
q : (u, v ) → ⎜ y(u, v ) ⎟ , (u, v ) ∈[0,1]2
⎜ z(u, v ) ⎟
⎝
⎠
Stetigkeit von Flächen
Reguläre Flächen
Wieder sind wie im Kurvenfall d Koordinatenfunktionen zu wählen, die Stetigkeitseigenschaften besitzen. So sagen wir, die Fläche ist
n
C -stetig oder n-mal differenzierbar, falls die Abbildung q mindestens
n-mal stetig differenzierbar ist, d. h., q ist n-mal stetig partiell differenzierbar.
Eine Fläche heißt regulär in (u0,v0), falls q einmal stetig differenzierbar ist und die Vektoren
⎛ ∂x
⎞
⎜ (u0 , v0 ) ⎟
⎜ ∂u
⎟
∂y
∂q
∂q
⎜
(u0 , v0 ) =
(u0 , v0 ) ⎟ qv (u0 , v0 ) =
qu (u0 , v0 ) =
(u0 , v0 )
⎜ ∂u
⎟
∂u
∂v
⎜ ∂z
⎟
⎜ (u0 , v0 ) ⎟
⎝ ∂u
⎠
Tangentialvektoren
38
■
■
■
linear unabhängig sind (und damit nicht verschwinden). qu und qv
heißen Tangentialvektoren.
1 Computergrafik und Virtual Reality
Ist q regulär, so spannen qu und qv eine Tangentialebene auf. Die
Normale dieser Tangentialebene ist definiert durch das Kreuzprodukt
(oder Vektorprodukt) der Tangentialvektoren
n(u0 , v0 ) =
Normale
qu (u0 , v0 ) × qv (u0 , v0 )
qu (u0 , v0 ) × qv (u0 , v0 )
und heißt Normalenvektor in (u0,v0).
Abb. 1.29:
Beispiele für parametrisierte Flächen
1.1.4.1
Tensorproduktflächen
Tensorproduktflächen gewinnt man leicht aus den uns bekannten
Kurvendarstellungen. Betrachten wir zum Beispiel eine Kurve q, gegeben durch
n
q(u) = ∑Ci Fi (u)
i =0
mit Kontrollpunkten Ci und Basisfunktionen Fi.
Nun bewegen wir diese Kurve mittels eines weiteren unabhängigen
Parameters v durch den Raum, wobei wir auch Deformationen der
Kurve zulassen werden. Deformation der Kurve bedeutet dabei Veränderung der Kontrollpunkte Ci, d. h., wir beschreiben diese Verände-
1.1 Modellierung virtueller Welten
■
■
■
39
rung wieder durch eine Kurve mit dem neuen Parameter v und möglicherweise anderer Basisfunktionen Gj:
m
Ci (v ) = ∑ AijG j (v ).
j =0
Insgesamt entsteht so die Tensorproduktfläche:
n
m
i =0
j =0
q(u, v ) = ∑∑ AijG j (v )Fi (u), (u, v ) ∈[a, b]× [c , d]
Ein einfaches Beispiel einer Tensorproduktfläche ist ein Geradenstück, bei dem die beiden Endpunkte mittels einer Kurve verändert werden. So entsteht zum Beispiel eine Kegelstumpf-Mantelfläche:
Abb. 1.30:
Beispiel einer Tensorproduktfläche
Eine Tensorproduktfläche mit rechteckigem Parametergebiet kann
auch in Matrixform angegeben werden:
Sei (u, v ) ∈[a, b]× [c , d]
n
m
i =0
j =0
q(u, v ) = ∑∑ AijG j (v )Fi (u) =
= ( F0 (u)
⎛ A00
⎜
Fn (u)) ⎜
⎜A
⎝ n0
A0m ⎞⎛ G0 (v ) ⎞
⎟⎜
⎟
⎟⎜
⎟
⎟
Anm ⎟⎜
⎠⎝ Gm (v ) ⎠
Man erkennt deutlich die regelmäßige Gitterstruktur der gegebenen Kontrollpunkte Aij, die für eine so gebildete Tensorproduktfläche
40
■
■
■
1 Computergrafik und Virtual Reality
notwendig gegeben sein müssen. Regelmäßig soll heißen, in der gleichen Anzahl der Kontrollpunkte in u- und v-Richtung und nicht in
der Raumlage der Punkte. Sind die Kontrollpunkte unregelmäßig
verteilt (scattered), müssen andere Techniken eingesetzt werden, wie
sie bei der Scattered-Data-Interpolation entwickelt wurden [LF99].
1.1.4.2
Interpolation
Wie im Kurvenfall stellt sich in der Praxis oft die Aufgabe, eine Fläche
(Kurve) durch eine gegebene Anzahl von Kontrollpunkten zu legen.
Es seien also n×m Kontrollpunkte Pij, i=0,…,n, und j=0,…,m, gegeben
zu Parameterwerten ui und vj. Gesucht sei nun eine (polynomielle)
Fläche X(u,v), die diese Punkte interpoliert. Es ergibt sich aus der
Voraussetzung X(ui,vj)=Pij für i=0,...,m, j=0,...,n ein Gleichungssystem
P=FAG aus Matrizen:
⎛ P00
⎜
P =⎜
⎜P
⎝ n0
⎛ F0 (u0 )
⎜
F =⎜
⎜ F (u )
⎝ 0 n
P0m ⎞
⎛ A00
⎟
⎜
A=⎜
⎟
⎜A
Pnm ⎟⎠
⎝ n0
Fn (u0 ) ⎞
⎛ G0 (v0 )
⎟
⎜
⎟ G=⎜
⎜ G (v )
Fn (un ) ⎟⎠
⎝ m 0
A0m ⎞
⎟
⎟
Anm ⎟⎠
G0 (vm ) ⎞
⎟
⎟.
Gm (vm ) ⎟⎠
Dieses Gleichungssystem ist nach der unbekannten Matrix A aufzulösen. Sind wiederum wie im Kurvenfall die Parameterwerte ui und vj
paarweise verschieden, und wählt man als Basisfunktionen Fi und Gj
Monome, dann sind F und G invertierbare van der Monde’sche Matrizen. Das Gleichungssystem kann dann zu A = F −1 PG −1 aufgelöst werden
und liefert die Existenz und Eindeutigkeit einer Interpolationsfläche.
Werden für F und G Lagrangepolynome verwendet, d. h.
⎧1 falls i = k
Fi n (uk ) = δ ik = ⎨
⎩0 sonst
m
G j (vl ) = δ jl ,
so sind F und G Einheitsmatrizen und wir erhalten, wie im Fall der
Kurven, eine besonders einfache Lösung der Interpolationsaufgabe
mit A=P.
1.1 Modellierung virtueller Welten
■
■
■
41
1.1.4.3
Bézier-Tensorproduktflächen
Verwendet man als Basisfunktionen F und G die bekannten Bernsteinpolynome über [0,1] oder [s,t] vom Grad n bzw. m, so erhalten
d
wir mit gegebenen Bézierpunkten bij ∈ ℝ eine Bézier-Tensorproduktfläche oder ein Bézierpflaster:
Abb. 1.31:
Bézier-Tensorproduktfläche
Kontrollnetz
Die Bézierpunkte bilden das Kontrollnetz des Bézierpflasters.
Die Parameterlinien liefern Bézierkurven, wie man leicht durch geeignetes Klammern erkennt:
n
n
⎛ m
⎞
q(u0 , v ) = ∑ ⎜ ∑ bij Bim (u0 ) ⎟Bnj (v ) = ∑ b j (u0 )Bnj (v )
j =0 ⎝ i =0
j =0
⎠
Die Bézier-Tensorproduktfläche liegt für die Parameterwerte
(u,v)∈[0,1] ebenfalls in der konvexen Hülle des Kontrollnetzes, wie
man aus den Eigenschaften
m
⎛
n
⎝
j =0
⎞
∑ ⎜ ∑ B (v) ⎟ B
i =0
n
j
⎠
m
i
(u) = 1 und
=1
=1
m
n
∑∑ B
m
i
i =0
42
■
■
■
(u)Bnj (v ) ≥ 0
j =0
1 Computergrafik und Virtual Reality
erkennen kann. Die erste der obigen Eigenschaften sichert auch die
affine Invarianz dieser Flächen.
Eine weitere Eigenschaft ist direkt aus den Bernsteinpolynomen abzuleiten, ähnlich wie im Kurvenfall: Die Bézierpunkte der Randkurven
sind die Randpunkte des Bézier-Tensorproduktflächen-Kontrollnetzes.
Die Ableitungen in den Randpunkten lassen sich wie bei den Kurven aus den Bézierpunkten der Randkurven berechnen:
Abb. 1.32:
Ableitungen in den Randpunkten von
Bézier-Tensorproduktfläche
Der bereits von den Bézierkurven bekannte De-Casteljau-Algorithmus kann auf Tensorproduktflächen erweitert werden:
n
n
⎛ m
⎞
q(u0 , v0 ) = ∑ ⎜ ∑ bij Bim (u0 ) ⎟Bnj (v ) = ∑ b j (u0 )Bnj (v0 )
j =0 ⎝ i =0
j =0
⎠
für festes i ,u0 aus den
b0 ( u0 )=bij ( u0 )
mit de Casteljau Kurve an
der Stelle v =v0 auswerten
ij
mit de Casteljau
b j ( u0 )=bn ( u0 ) berechnen
ij
Die vorletzten Elemente des De-Casteljau-Schemas liefern wieder
die Richtungen der partiellen Ableitungen qu bzw. qv der Bézierfläche.
1.1.5
Anschlüsse von Bézier-Tensorproduktflächen
Wie wir wissen, definieren die Randpunkte des Kontrollnetzes den
Verlauf der Randkurve der Tensorproduktfläche. Durch sie können
wir auch zwei Tensorproduktflächen q1 und q2, die wir aneinanderfügen wollen, kontrollieren.
m
n
i =0
j =0
m
n
i =0
j =0
q1 (u, v ) = ∑∑ bij or11 Bim (u) st11 Bnj (v )
q2 (u, v ) = ∑∑ cij or22 Bim (u) st22 Bnj (v )
1.1 Modellierung virtueller Welten
■
■
■
43
Abb. 1.33:
Aneinanderfügen zweier
Bézier-Tensorproduktflächen
Sollen sie stetig aneinandergefügt werden, so müssen die jeweiligen
Randpunkte der Kontrollnetze an der Anschlussstelle identisch sein.
Dann besitzen die beiden Bézierflächen dieselbe Randkurve. Ein wenig schwieriger wird es, die beiden Flächenstücke an der Übergangs1
1
stelle C oder G stetig zu gestalten.
Wir wissen jedoch, wie sich die Randableitungen, d. h. die partiellen Ableitungen an den Rändern, berechnen.
1
Um zwei Pflaster entlang der Randkurve in v-Richtung (C -stetig)
aneinanderschließen zu können, müssen erstens die beiden Pflaster
dieselbe Randkurve in v-Richtung besitzen, d. h., für die Bézierpunkte
gilt
bmj=c0j, j=0,...,n,
und zweitens müssen entlang der Randkurve, d. h. zu jedem festen v,
die Ableitungen in u-Richtung in Betrag und Richtung überein1
stimmen. Für C -Stetigkeit muss also gelten (Anschluss in v-Richtung), dass die Ableitungen in u-Richtung entlang der gemeinsamen
v-Kurve gleich sind:
bmj − bm−1, j = c1 j − c0 j
Fordert man beim Aneinanderfügen nur paarweise kollineare Tan1
gentenvektoren − also gleiche Tangentenrichtung −, was der G -Stetigkeit entlang der gesamten Nahtlinie entspricht, so müssen die Polygonsegmente des Kontrollnetzes zwar kollinear sein, aber in keinem
bestimmten Längenverhältnis stehen.
k
Allgemeiner kann festgestellt werden, will man einen C -stetigen
Übergang erzwingen, müssen die Kontrollpunkte des Netzes so gek
wählt werden, dass alle Kurven (in u- und v-Richtung) C -stetig sind.
44
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.34:
Anschlussbedingungen beim
Aneinanderfügen mehrerer
Bézierpflaster
Beim Aneinanderfügen von drei oder mehr Bézierpflaster sind so
eine ganze Reihe von Bedingungen an die Kontrollpunkte zu erfüllen.
Vor allem am gemeinsamen Punkt sind Vorkehrungen zu treffen.
1
Wie man aus Abb. 1.34 leicht erkennen kann, sind schon im G -Fall
die vier nächsten Kontrollpunkte zum gemeinsamen Punkt in einer
Ebene zu wählen.
Will man vier Bézierpflaster so aneinanderfügen, dass die Überk
k
gänge C -(G -)stetig sind, so sind am besten die Randkurven
(schwarz) glatt vorzugeben und die inneren (freien) Kontrollpunkte
entsprechend der geforderten Stetigkeit zu setzen.
1.1.5.1
Rationale Bézier-Tensorproduktflächen
Sind ein Kontrollnetz bij∈ℝ und Gewichte wij∈ℝgegeben (i=0,…m
und j=0,…,n), kann eine rationale Bézierfläche gebildet werden:
d
m
n
i =0
j =0
m
n
∑∑b B
ij
R(u, v ) =
m
i
∑∑ w B
ij
i =0
(u)Bnj (v )
m
i
,
n
j
(u)B (v )
j =0
wobei
⎧wij bij , falls wij ≠ 0
bij = ⎨
sonst.
⎩ bij
1.1 Modellierung virtueller Welten
■
■
■
45
Abb. 1.35:
Beispiele rationaler
Bézier-Tensorproduktflächen
Um diese rationale Bézierfläche durch die Eckpunkte zu zwingen,
fordert man wm0=w0n=1.
Die rationale Bézierfläche ist wieder als Projektion einer Fläche in
4
ℝ in den dreidimensionalen Raum zu betrachten. Daher übertragen
sich die Eigenschaften wie konvexe Hülle, affine Invarianz, Stetigkeit
u. A. auch auf diesen Flächentyp.
1.1.5.2
Tensorproduktflächen über Dreiecken
Wie schon erwähnt werden nicht nur rechteckige Parametergebiete
zur Flächenbildung verwendet. In der Tat gibt es Modelle, die durch
Rechteckspflaster nicht zu realisieren sind:
Abb. 1.36:
Modelle, die nicht nur aus
Viereckspflastern bestehen
Vor allem zur Modellierung von Augen-, Nasen- und Mundbereichen sind Mischungen von Dreiecks- und Vierecksflächen notwendig.
46
■
■
■
1 Computergrafik und Virtual Reality
Um diese Situationen lösen zu können, sind zwei Strategien möglich: Zum einen können „entartete“ Vierecksnetze verwendet werden,
bei denen zwei Kontrollpunkte zusammenfallen.
Zum anderen können, um wieder auf Viereckspflaster zu kommen,
zusätzliche Punkte eingefügt werden:
Abb. 1.37:
Einfügen zusätzlicher Punkte,
um Viereckspflaster zu erreichen
Die dritte Möglichkeit besteht in der Verallgemeinerung von Tensorproduktflächen auf Dreiecksgebieten.
Sind nun drei Punkte R, S und T der Ebene gegeben, welche nicht
kollinear sind, so kann bekanntlich jeder weitere Punkt U der Ebene
in baryzentrischen Koordinaten der Punkte R, S und T ausgedrückt
werden:
Abb. 1.38:
Baryzentrische Koordinaten
Die Koeffizienten ρ (U), σ (U) und τ (U) heißen baryzentrische Koordinaten des Punktes U bezüglich des Dreiecks RST.
Dann definieren die Funktionen
RST
⎛ n ⎞
i
j
k
Bin, j ,k (U ) := ⎜
⎟ ρ (U ) σ (U ) τ (U ) , i + j + k = n
i
j
k
,
,
⎝
⎠
die sog. verallgemeinerten Bernsteinpolynome bezüglich des Referenzdreiecks RST. Dabei ist
Verallgemeinerte Bernsteinpolynome
⎛ n ⎞
n!
⎜
⎟=
i
j
k
,
,
⎝
⎠ i ! j !k !
1.1 Modellierung virtueller Welten
■
■
■
47
der bekannte verallgemeinerte Binomialkoeffizient. Wie die Bernsteinpolynome eine Basis für den Raum der reellwertigen univariaten
Polynome (Polynome in einer Variablen) bilden, so bilden die oben
definierten verallgemeinerten Bernsteinpolynome eine Basis für den
Raum aller reellwertigen bivariaten Polynome (Polynome in zwei
Variablen) vom Grad n.
Für jedes bivariate Polynom q(u,v), q:ℝ2→ℝ3 existiert also eine
Bézierdarstellung
q(u, v ) = q(U ) =
∑
RST
Bijkn (U )bijk
i + j +k =n
bezüglich des Referenzdreiecks RST und den Bézierpunkten bijk∈ℝ .
Die Punkte bijk bilden das Kontroll- oder Béziernetz.
Setzen wir für eine so gegebene Bézierfläche
d
bi0, j ,k (U ) := bijk , mit i + j + k = n
und bir, j ,k (U ) := ρ (U )b(ri−+11), j ,k (U ) +
+ σ (U )bir,(−1j+1),k (U ) +
+ τ (U )bir,−j1,( k+1) (U ), mit i + j + k + r = n,
n
dann ist der Funktionswert q(U) mit dem letzten Glied b0,0,0
(U ) des
rekursiven Schemas berechnet (de Casteljau für Dreiecksflächen).
Wieder sind die bekannten Resultate für diese Dreiecksflächen ableitbar:
• Liegt U im Dreieck RST, so liegt q(U) innerhalb der abgeschlossenen konvexen Hülle des Kontrollpolygons.
• Fläche und Kontrollpolygon sind affin invariant.
• Die Fläche verläuft durch die drei Eckpunkte des Bézierpolygons,
d. h. q(R) = bn,0,0, q(S) = b0,n,0 und q(T) = b0,0,n.
• Die Fläche verläuft in den Eckpunkten q(R), q(S) und q(T) tangential an das Kontrollnetz.
• Die Einschränkung von q auf die Gerade (S,T) (und analog für die
Geraden (R,S) und (T,R)) ist eine Bézierkurve mit den Bézierpunkten b0,n-k,k, d. h., für U∈(S,T) gilt:
n
q(U ) = ∑ TS Bkn (U )b0,n−k ,k .
k =0
Für den Anschluss von Dreiecksflächen sei auf die Literatur verwiesen
[ES97] bzw. [HL89].
48
■
■
■
1 Computergrafik und Virtual Reality
1.2
Bildberechnung – vom Modell zum Bild
Im vorigen Kapitel wurden einige Datenstrukturen vorgestellt, mit
deren Hilfe dreidimensionale Objekte durch die geometrische Beschreibung ihrer Oberflächen im Rechner repräsentiert werden.
In diesem Kapitel wird die Erzeugung zweidimensionaler Ansichten aus solchen geometrischen Beschreibungen behandelt, wie sie zum
Beispiel zur Darstellung der Szenen auf einem Bildschirm benötigt
werden. Dazu sind mehrere Arbeitsschritte notwendig, die im Folgenden vorgestellt werden.
Zunächst müssen die Objekte in der Regel Transformationen unterzogen werden, um eine Darstellung in Weltkoordinaten zu erhalten. Anschließend müssen die Objekte auf die Bildebene projiziert
werden. Dies kann durch eine orthogonale Projektion oder eine perspektivische Projektion geschehen. Die mathematischen Grundlagen
zu Transformationen und Perspektive und ihre Umsetzung in der
Computergrafik sind zum Beispiel in [FD96] zu finden.
Nun müssen diejenigen Objektteile der so entstandenen zweidimensionalen geometrischen Objekte abgeschnitten werden, die außerhalb des sichtbaren Bereiches des Bildschirms liegen. Diesen Vorgang bezeichnet man als Clipping. Ausführliche Informationen finden
Sie z. B. in [BB06] oder [FD96].
Auch die gegenseitige Verdeckung von Objekten muss berücksichtigt werden, so dass nur die sichtbaren und unverdeckten Teile der
Objekte dargestellt werden (siehe Kap. 1.2.4).
Zur Ausgabe grafischer Darstellungen werden heutzutage fast ausschließlich Raster-Ausgabegeräte verwendet, bei denen das dargestellte Bild aus vielen einzelnen Bildpunkten (Pixeln) besteht. Die geometrischen Objekte müssen deshalb in einem nächsten Schritt rasterisiert
werden, das heißt, es müssen diejenigen Bildpunkte bestimmt werden,
die von den einzelnen Objekten bedeckt werden [BB06 55 ff.][FD96].
Bei der Rasterisierung treten Abtastfehler (Aliasing) auf, die zu visuellen Artefakten wie zum Beispiel Treppenstufeneffekten führen, die mit
geeigneten Gegenmaßnahmen (Antialiasing) minimiert werden müssen [Wa02 435 ff.].
Die Farbwerte der einzelnen Pixel ergeben sich jeweils aus der
Leuchtdichte der Oberfläche, die das entsprechende Pixel bedeckt, in
Richtung des Beobachters. Diese wird bestimmt vom Einfluss der Lichtquellen auf die Oberfläche, von den Reflexionseigenschaften der Oberfläche und auch von gegenseitigen Wechselwirkungen der Oberflächen
untereinander, wie z. B. Spiegelungen oder indirekte Beleuchtung.
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
49
Um eine realistische Darstellung dreidimensionaler Szenen zu erhalten, ist es deshalb notwendig, die Beleuchtungssituation in den
Szenen mehr oder weniger genau zu berechnen. Die Genauigkeit der
Berechnung hat dabei einen entscheidenden Einfluss auf den Realitätsgrad der Darstellung, da eventuelle Fehler von Beobachtern aufgrund ihrer Erfahrungen in realen Szenen schnell als störend wahrgenommen werden.
Eine exakte Berechnung der Beleuchtung für größere Szenen ist
aber auch mit der heute zur Verfügung stehenden Rechenleistung
nicht in akzeptabler Zeit möglich. Deshalb müssen in der Praxis Vereinfachungen vorgenommen werden, die es erlauben, eine hinreichende Näherung der Beleuchtungssituation schnell zu berechnen.
Modelle zur Berechnung der Beleuchtung in dreidimensionalen
Szenen werden Beleuchtungsmodelle genannt. Man unterscheidet
hierbei zwischen lokalen Beleuchtungsmodellen (siehe Kap. 1.2.3), die
nur den Einfluss der Lichtquellen auf die Oberflächen berechnen und
Wechselwirkungen der Oberflächen untereinander außer Acht lassen,
und globalen Beleuchtungsmodellen (siehe Kap. 1.2.6), die auch solche Wechselwirkungen berücksichtigen.
Globale Beleuchtungsmodelle erfordern einen wesentlich höheren
Berechnungsaufwand als die lokalen, weshalb sie in der Regel für interaktive Anwendungen, die eine sehr schnelle Bildberechnung erfordern, nicht in Betracht kommen. Globale Beleuchtungsmodelle erreichen aber einen wesentlich höheren Realitätsgrad.
1.2.1
Die Beleuchtungsgleichung
Für eine physikalisch korrekte Simulation der Lichtausbreitung in
einer Szene müssen die Reflexionen an den Oberflächen der Szene
möglichst genau modelliert werden. Die physikalischen Vorgänge bei
der Lichtausbreitung in dreidimensionalen Szenen sind denen der
Wärmeausbreitung in der Thermodynamik sehr ähnlich.
Im Jahr 1986 veröffentlichte Kajiya eine Übertragung der Wärmeleitungsgleichung auf das Problem der Lichtausbreitung und stellte in
[Ka86] die allgemeine Beleuchtungsgleichung vor. Diese Gleichung ist
gegeben durch
Beleuchtungsgleichung
L(x,ωr ) = LE (x, ωr ) + LR (x,ωr )
mit
LR (x,ωr ) = ∫ ρ (x,ωr ,ωi )L(x′,ωr )H (x, x′)
F
50
■
■
■
1 Computergrafik und Virtual Reality
cosφi cosφ0
dx ′
2
x − x′
für alle Oberflächenpunkte x in der Szene und alle Richtungen ωr.
Dabei ist
•
•
•
•
•
F die Menge aller Oberflächenpunkte der Szene
L(x,ωr) die Leuchtdichte am Punkt x in Richtung ωr
LE(x,ωr) die emittierte Leuchtdichte am Punkt x in Richtung ωr
LR(x,ωr) die reflektierte Leuchtdichte am Punkt x in Richtung ωr
H(x,x’) die Sichtbarkeitsfunktion zwischen x und x’. Sie ist 1 im Fall
der Sichtbarkeit und 0 im Fall einer Verdeckung
• φi der Winkel zwischen der Oberflächennormalen am Punkt x und
der Verbindungslinie zwischen x und x’
• φ0 der Winkel zwischen der Oberflächennormalen am Punkt x’ und
der Verbindungslinie zwischen x und x’
• ρ (x,ωr ,ωi ) die bidirektionale Reflexionsfunktion
Die bidirektionale Reflexionsfunktion (in der englischen Literatur
als bidirectional reflection distribution function (BRDF) bezeichnet)
gibt dabei an, welcher Anteil der aus Richtung ωi am Punkt x einfallenden Leuchtdichte in Richtung ωr reflektiert wird. Dabei sei ωi die
Richtung, aus der Strahlungsleistung vom Punkt x’ auf den Punkt x
einstrahlt.
Gesucht ist eine Funktion L(x,ωr), die diese Beleuchtungsgleichung
löst und für die das Integral
∫
Bidirektionale Reflexionsfunktion (BRDF)
L(x,ωr ) d(x, ωr )
2
F×Ω
existiert (Funktion endlicher Energie). Dabei läuft x über alle Oberflächenpunkte der Szene und ωr über alle Raumrichtungen des oberen
Halbraumes Ω über dem Punkt x. Mathematisch formuliert gehört die
2
Funktion L zum Raum L . Der mathematisch interessierte Leser findet
weitere Details hierzu z. B. in [We00].
Eine Lösung dieser allgemeinen Beleuchtungsgleichung zu bestimmen ist eine äußerst komplexe Aufgabe, die auch mit modernen
Techniken der Numerik nicht einfach gelöst werden kann. Die größten Schwierigkeiten dabei sind:
• Es handelt sich um eine zweidimensionale Integralgleichung.
• Die Sichtbarkeitsfunktion H ist sehr aufwendig zu bestimmen.
• Die bidirektionale Reflexionsfunktion muss für jeden Oberflächenpunkt für jede Einstrahl- und jede Reflexionsrichtung berechnet
werden. Auch die Speicherung dieser Funktion wäre extrem aufwendig, wenn sie bestimmt werden könnte.
Dennoch werden selbst durch diese komplexe Gleichung nicht alle
in der Realität auftretenden Beleuchtungseffekte erfasst. So kann es
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
51
z. B. vorkommen, dass Licht, das auf eine Oberfläche trifft, diese nicht
am selben Punkt wieder verlässt, sondern eine kurze Strecke innerhalb der Oberfläche zurücklegt, um an anderer Stelle wieder auszutreten. Auch die Wellenlänge des Lichtes kann bei der Reflexion verändert werden. Um diese Effekte abzudecken, muss die BRDF durch eine
sog. BSSRDF (bidirectional scattering surface reflectance distribution
function) ersetzt werden. Weitere Details dazu finden sich z. B. in
[JM01].
1.2.2
Farben in der Computergrafik
Das sichtbare Licht besteht aus einem kontinuierlichen Wellenlängenspektrum von ca. 400 nm bis 800 nm. Eine korrekte Beleuchtungsberechnung müsste also dieses komplette Spektrum berücksichtigen,
d. h., die Beleuchtung müsste mit Hilfe von Funktionen über diesem
Spektrum angegeben werden.
Das menschliche Auge ist aber nicht in der Lage, das komplette
Wellenlängenspektrum als solches wahrzunehmen. Die Netzhaut des
Auges besitzt drei Arten von Zäpfchen, die für das Farbsehen verantwortlich sind. Die Reize dieser drei Zäpfchenarten bestimmen den
wahrgenommenen Farbeindruck.
Um einen bestimmten Farbeindruck zu erzeugen, ist es deshalb
nicht notwendig, eine bestimmte Spektralverteilung zu erzeugen, sondern es genügt, eine Spektralverteilung (aus unendlich vielen möglichen) zu wählen, die bei den drei Zäpfchenarten die entsprechenden
Reize auslöst.
Deshalb ist es möglich, (fast) jeden Farbeindruck durch eine Kombination von drei geeigneten Grundfarben zu erzeugen. Bei aktiven
Anzeigegeräten wie Monitoren oder Projektoren werden dazu die
Farben Rot, Grün und Blau verwendet. In der Drucktechnik kommen
deren komplementäre Farben Cyan, Magenta und Gelb zum Einsatz.
Die Berechnung der Beleuchtung wird deshalb meist separat für die
drei Grundfarben Rot, Grün und Blau durchgeführt, was Darstellungen in voller Farbe erlaubt.
Eine ausführliche Einführung in Lichtmodellierung und Wahrnehmung ist zum Beispiel in [Gl95] zu finden.
1.2.3
Lokale Beleuchtungsmodelle und Shading
Ein Beleuchtungsmodell beschreibt, wie die Beleuchtung eines Oberflächenpunktes in einer dreidimensionalen Szene zu berechnen ist. Daraus ergibt sich dann der Farbwert für die Darstellung dieses Punktes
52
■
■
■
1 Computergrafik und Virtual Reality
auf einem Ausgabegerät. Ein Shading-Algorithmus beschreibt, an welchen Punkten eines geometrischen Objektes die Beleuchtung berechnet wird und wie die Pixel, die von diesem Objekt bedeckt werden,
dann zu füllen sind.
Obwohl bei lokalen Beleuchtungsmodellen bereits die gegenseitigen Wechselwirkungen der Flächen ignoriert werden, ist es notwendig, weitere Vereinfachungen vorzunehmen. Sowohl die Abstrahleigenschaften realer Lichtquellen als auch die Reflexionseigenschaften
von Oberflächen sind sehr komplex. Eine exakte Berechnung wäre
sehr aufwendig. Die Berechnung wird deshalb eingeschränkt auf wenige idealisierte Lichtquellen- und Reflexionstypen.
1.2.3.1
Lichtquellen
Punktlichtquellen strahlen Licht von einem Punkt aus gleichmäßig in
alle Richtungen des Raumes. Eine Punktlichtquelle wird definiert
durch ihre Position und ihre Lichtstärke I (in Candela). Sie bewirkt
2
eine Beleuchtungsstärke von E=cosφ⋅I/r (in lux) auf einem Oberflächenpunkt in der Entfernung r. Dabei ist φ der Winkel zwischen der
Lichteinfallsrichtung und der Oberflächennormalen (siehe Abb. 1.39).
Bei einem Strahler ist die Lichtausstrahlung auf einen Lichtkegel
begrenzt. Dabei ist die Lichtstärke im Zentrum des Kegels maximal
und nimmt nach außen hin zum Rand des Kegels ab. Ein Strahler wird
definiert durch seine Position, Lichtabstrahlrichtung, Öffnungswinkel,
Abschwächungsexponent und seine Lichtstärke. Er bewirkt innerhalb
n
2
seines Lichtkegels eine Beleuchtungsstärke von E=(cosθ) ⋅cosφ⋅I/r (in
lux) auf einen Oberflächenpunkt in der Entfernung r. Dabei ist n der
Abschwächungsexponent, φ der Winkel zwischen der Lichteinfallsrichtung und der Oberflächennormalen, θ der Winkel zwischen der
Lichtabstrahlrichtung der Lichtquelle und der Richtung von der Lichtquelle zum Oberflächenpunkt (siehe Abb. 1.40).
Abb. 1.39:
Punktlichtquelle
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
53
Abb. 1.40:
Strahler
Abb. 1.41:
Richtungslichtquelle
Richtungslichtquellen sind unendlich ferne Lichtquellen. Ihre Strahlen fallen parallel aus einer konstanten Richtung ein (wie z. B. das Sonnenlicht). Eine Richtungslichtquelle wird definiert durch ihre Rich2
tung und die spezifische Lichtausstrahlung M (in Lumen/m ). Sie
bewirkt auf einem Oberflächenpunkt eine Beleuchtungsstärke von
E=M⋅cosφ. Dabei ist φ der Winkel zwischen der Lichteinfallsrichtung
und der Oberflächennormalen (siehe Abb. 1.41).
Umgebungslicht (ambiente Lichtquelle): gibt es als Lichtquellentyp
in der Realität nicht. Da bei lokalen Beleuchtungsmodellen der Einfluss
anderer Oberflächen wie z. B. die indirekte Beleuchtung unberücksichtigt bleibt, wären viele Teile einer Szene, die nicht direkt von einer
Lichtquelle beleuchtet werden, völlig dunkel. Das ambiente Licht soll
die fehlende indirekte Beleuchtung in der Szene ersetzen. Es fällt auf
alle Flächen der Szene mit gleicher Beleuchtungsstärke ein und wird
deshalb auch durch die Beleuchtungsstärke (in lux) charakterisiert.
1.2.3.2
Reflexionstypen
Diffuse Reflexion: Bei ideal diffuser Reflexion (auch Lambert’sche Reflexion genannt) wird einfallendes Licht gleichmäßig in den gesamten
Halbraum oberhalb der Fläche reflektiert, und zwar so, dass die reflek2
tierte Leuchtdichte (in cd/m ) in alle Reflexionsrichtungen gleich ist.
54
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.42:
Diffuse Reflexion
Die reflektierte Leuchtdichte Lr ist dann durch das Lambert’sche Cosinus-Gesetz gegeben:
⎧ ρ ⋅ L ⋅ cos φ
Ld = ⎨ d
⎩0
für φ < 90°
sonst
Lambert’sches Cosinus-Gesetz
Dabei ist L die einfallende Leuchtdichte, 0≤ρd<1 der diffuse Reflexionsgrad der Oberfläche und φ der Einfallswinkel des Lichts (siehe
Abb. 1.42).
Ideal spiegelnde Reflexion: Für die ideal spiegelnde Reflexion gilt das
aus der Optik bekannte Reflexionsgesetz. Ein auf die Oberfläche auftreffender Lichtstrahl wird, ohne sich zu streuen, so reflektiert, dass der
einfallende Strahl, die Flächennormale und der reflektierte Strahl in
einer Ebene liegen und der einfallende und der reflektierte Strahl mit
der Flächennormalen jeweils denselben Winkel bilden.
Abb. 1.43:
Ideal spiegelnde Reflexion
Spekulare Reflexion: In der Praxis trifft man häufig Oberflächen an,
die weder ideal diffus noch ideal spiegelnd reflektieren, sondern das
Licht mehr oder weniger unregelmäßig streuen. Sehr häufig beobachtet man aber, dass viel Licht in Richtungen nahe der ideal spiegelnden
Reflexion gestreut wird. So nimmt man auf glänzenden Oberflächen
an der Stelle einen hellen Lichtfleck wahr (auch Glanzlicht genannt),
an der sich eine Lichtquelle spiegeln würde, wenn die Oberfläche ideal
spiegelnd wäre.
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
55
Abb. 1.44:
Spekulare Reflexion
Dieses Phänomen wird durch die spekulare Reflexion modelliert,
die ein Maximum in Richtung der idealen Spiegelung aufweist. Die
reflektierte Leuchtdichte ist gegeben durch:
⎧⎪ ρ ⋅ L ⋅ ( cos γ )m
Ls = ⎨ s
⎪⎩ 0
für γ < 90°
sonst
Dabei ist L die einfallende Leuchtdichte, 0≤ρs<1 der spekulare Reflexionsgrad der Oberfläche und γ der Winkel zwischen der betrachteten
Reflexionsrichtung und der Richtung der idealen Spiegelung (siehe
Abb. 1.43).
Ambiente Reflexion: Die ambiente Reflexion gibt es – wie die ambiente Lichtquelle – in der Realität nicht, sie reflektiert das Umgebungslicht und soll die in der Realität auftretende, aber bei lokalen Beleuchtungsmodellen unberücksichtigte indirekte Beleuchtung reflektieren.
Die reflektierte Leuchtdichte ist gegeben durch:
La = ρa ⋅ L
Dabei ist L die einfallende Leuchtdichte und 0≤ρa<1 der ambiente
Reflexionsgrad der Oberfläche.
1.2.3.3
Das Phong’sche Beleuchtungsmodell
In diesem Abschnitt wird das Phong’sche Beleuchtungsmodell vorgestellt, das bei (fast) allen Echtzeitdarstellungen zum Einsatz kommt
und von aktuellen Grafikkarten durch entsprechende Hardware unterstützt wird.
Das Phong’sche Beleuchtungsmodell ist ein empirisches Modell, das
Anfang der siebziger Jahre entwickelt wurde und mit geringem Aufwand realitätsnahe Darstellungen von Oberflächen erreichen sollte.
56
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.45:
Phong’sches Beleuchtungsmodell
Die berechnete Leuchtdichte setzt sich hierbei aus 3 einzeln zu berechnenden idealisierten Teilen zusammen:
LPhong = La + Ld + Ls
Dabei sind La, Ld und Ls ambient, diffus und spekular reflektierte Anteile (siehe Abb. 1.45).
1.2.3.4
Shading-Algorithmen
Da zur Darstellung von Dreiecken effiziente und ausgereifte Techniken zur Verfügung stehen, die von aktuellen Grafikkarten durch
Hardware-Implementierung unterstützt werden, werden geometrische
Objekte für die Echtzeitdarstellung durch Dreiecksnetze approximiert.
Die folgenden Abschnitte befassen sich deshalb mit Techniken zur
Darstellung von Dreiecken.
Ein Shading-Algorithmus beschreibt, an welchen Punkten eines
Dreiecks die Beleuchtung durch Auswertung eines Beleuchtungsmodells (wie z. B. des Phong’schen Beleuchtungsmodells) bestimmt wird
und wie daraus die Werte für die einzelnen Pixel des Dreiecks gewonnen werden.
Das Flat-Shading ist die einfachste Shading-Methode. Hier wird die
Beleuchtung an einem Punkt innerhalb des Dreiecks berechnet und
1.2 Bildberechnung – vom Modell zum Bild
Flat-Shading
■
■
■
57
Gouraud-Shading
Phong-Shading
das Dreieck dann mit konstanter Farbe gefüllt. Der Berechnungsaufwand für diese Methode ist zwar gering, die Darstellung gekrümmter
Oberflächen ist aber nicht realistisch, da die Triangulierungen der
Oberflächen deutlich sichtbar sind. Außerdem ist die Methode ungeeignet für Beleuchtungsmodelle mit spekularem Anteil, da hieraus
resultierende Glanzeffekte nicht sinnvoll wiedergegeben werden (siehe
Abb. 1.46).
Gouraud-Shading wurde 1971 von Henri Gouraud [Go71] vorgestellt. Hierbei wird die Beleuchtung an den Eckpunkten der Dreiecke
berechnet und die Leuchtdichten (oder Farbwerte) dann innerhalb der
Dreiecke linear interpoliert. Dadurch entsteht im Gegensatz zum FlatShading auch an den Kanten zwischen aneinandergrenzenden Dreiecken ein stetiger Farbverlauf.
Der Verlauf der Leuchtdichte (und damit der Farbverlauf) an den
Dreieckskanten ist aber nicht stetig differenzierbar, was bei starker
Änderung der Leuchtdichte zu sogenannten Machbandeffekten führen kann. Dies sind helle oder dunkle Linien, die das Auge an solchen
Stellen nicht stetiger Leuchtdichten-Änderung wahrnimmt. Solche
Machbandeffekte sind bei der mittleren Kugel in Abb. 1.46 im rechten
oberen Bereich deutlich zu erkennen.
Auch das Gouraud-Shading führt bei spekularen Reflexionen nicht
zu befriedigenden Ergebnissen, da auch hier die Glanzeffekte nicht hinreichend genau wiedergegeben werden.
Bei diffuser Reflexion sind die Ergebnisse aber trotz der auftretenden Machbandeffekte befriedigend. Das Verfahren lässt sich sehr gut
in den Prozess der Rasterung integrieren und kann effizient realisiert
werden.
Beim Phong-Shading werden die an den Eckpunkten der Dreiecke
vorliegenden 3D-Positionen und Normalen im Innern der Dreiecke
linear interpoliert. Bei der Rasterisierung der Dreiecke wird für jedes
Pixel mit Hilfe der so interpolierten 3D-Position und Normalen das
Beleuchtungsmodell ausgewertet. Die Berechnung der Beleuchtung
Abb. 1.46:
Shading-Algorithmen
58
■
■
■
1 Computergrafik und Virtual Reality
erfolgt hier also pixelgenau, was zu einer korrekten Darstellung von
spekularen Reflexionen führt (siehe Abb. 1.46).
Machbandeffekte sind bei dieser Shading-Methode zwar teilweise
noch zu erkennen, aber im Vergleich zu Gouraud-Shading stark reduziert. (Die hier auftretenden Machbandeffekte sind auf Unstetigkeiten
höherer Differentiationsordnung zurückzuführen, die das Auge in
manchen Situationen immer noch wahrnimmt.)
Der Berechnungsaufwand beim Phong-Shading ist wesentlich höher als beim Gouraud-Shading, da das Beleuchtungsmodell für jedes
Pixel ausgewertet werden muss und 3D-Positionen und Normalen
interpoliert werden müssen. Die interpolierten Normalen müssen vor
der Auswertung des Beleuchtungsmodells jeweils normiert werden,
was die Berechnung einer Quadratwurzel erfordert. Um den Aufwand
zu reduzieren, wird in manchen Implementierungen auf die Normierung verzichtet, was aber zu Fehlern in der Berechnung führt und
Machbandeffekte verstärkt.
1.2.4
Verdeckungsrechnung
Ein grundlegendes Problem bei der Bilderzeugung aus dreidimensionalen Modellen ist die Bestimmung der Objektteile, die von einer gegebenen Kameraposition aus sichtbar sind.
Werden bei der perspektivischen Projektion mehrere Objekte auf
dieselbe Position der Bildebene abgebildet, verdecken sie sich gegenseitig. Nur das Objekt, das der Kameraposition am nächsten liegt, ist
sichtbar.
Zur Lösung des Verdeckungsproblems gibt es zwei unterschiedliche Klassen von Verfahren: Objektraumverfahren und Bildraumverfahren. Objektraumverfahren arbeiten mit den analytischen
3D-Objekten und bestimmen die sichtbaren Teile dieser Objekte direkt im Objektraum. Bildraumverfahren arbeiten mit den diskreten
Daten des Ausgabegerätes und ermitteln für jedes Pixel das Polygon,
das an diesem Pixel sichtbar ist.
Der z-Buffer-Algorithmus wurde 1974 von W. Strasser [St74] vorgeschlagen. Weil er zusätzlichen Speicherplatz erfordert, der zu dieser
Zeit noch sehr teuer war, wurde er damals aber aus Kostengründen
nicht realisiert. Bereits seit vielen Jahren ist der z-Buffer-Algorithmus
nun das Standardverfahren zur Behandlung der Verdeckung bei der
Bilderzeugung.
Dabei wird der Bildspeicher erweitert, und für jedes Pixel wird zusätzlich zum Farbwert ein Tiefenwert (z-Wert) gespeichert, der den
Abstand des an diesem Pixel gezeichneten Objektpunktes von der
Bildebene angibt.
1.2 Bildberechnung – vom Modell zum Bild
z-Buffer Algorithmus
■
■
■
59
Painters-Algorithmus
Kombination von z-Buffer und
Painters-Algorithmus
60
■
■
■
Zu Beginn der Bilderzeugung werden die z-Werte aller Pixel mit
dem maximal möglichen z-Wert initialisiert. Anschließend werden die
Polygone der Szene in beliebiger Reihenfolge mit der Bildauflösung
gerastert. Dabei werden die z-Werte innerhalb der Polygone für jedes
Pixel perspektivisch korrekt interpoliert. Für jedes Pixel kann nun
festgestellt werden, ob an diesem Pixel bereits ein Polygon gezeichnet
wurde, das sich näher an der Bildebene befindet (und deshalb das
aktuelle Polygon verdeckt), indem der aktuelle z-Wert mit dem im
z-Buffer gespeicherten Wert verglichen wird. Nur wenn der aktuelle
z-Wert kleiner ist, wird das Pixel gezeichnet und der z-Buffer entsprechend neu gesetzt.
Alle aktuellen Grafikkarten unterstützen den z-Buffer-Algorithmus
in Hardware und erlauben so die Lösung des Verdeckungsproblems
bei der Bilderzeugung praktisch ohne Zeitverlust.
Der z-Buffer-Algorithmus führt auf der anderen Seite aber auch zu
den für Rasterverfahren typischen Problemen. Eine exakte Glättung
(Antialiasing) von Objektkanten ist prinzipiell nicht möglich. Diese
Probleme können aber durch Supersampling (Rasterung auf Subpixelebene) oder anschließende Filterung reduziert werden. Ein weiterer
Nachteil ist, dass der z-Buffer-Algorithmus für transparente Objekte
nicht verwendet werden kann. Dafür kommt deshalb häufig der nachfolgend beschriebene Algorithmus zum Einsatz.
Beim Painters-Algorithmus werden die Objekte so gezeichnet, wie
dies ein Maler bei einem Ölgemälde gewöhnlich tut: Er beginnt mit
den am weitesten entfernten Objekten und übermalt diese dann durch
näher liegende Objekte.
Die Polygone werden zuerst nach ihrem Abstand von der Kamera
sortiert. Dabei kann es notwendig sein, Polygone in einzelne Teile aufzuspalten, um eine eindeutige Sortierung erreichen zu können. Anschließend werden die Polygone von hinten nach vorne gezeichnet.
Dieser Algorithmus führt auch bei transparenten Objekten zu einem korrekten Ergebnis. Ein Nachteil ist aber, dass die Sortierung
(und eventuell auch die Aufspaltung der Polygone) bei Änderung der
Kameraposition neu bestimmt werden muss.
Da bei Kamerafahrten die Tiefensortierung bei benachbarten Kamerapositionen häufig sehr ähnlich ist, führt aber z. B. der BubbleSort-Algorithmus, ausgehend von der vorhergehenden Sortierung,
schnell zu einer Lösung. Die Sortierung lässt sich durch geeignete
Verfahren, wie z. B. die Verwendung von BSP-Bäumen (binary space
partitioning) oder Octrees, wesentlich beschleunigen.
Häufig werden bei der Bilderzeugung zuerst alle nicht transparenten
Objekte mit Hilfe des z-Buffer-Algorithmus gezeichnet. Anschließend
werden die transparenten Objekte mit Hilfe des Painters-Algorithmus
hinzugefügt. Der z-Buffer kann dann auch hier verwendet werden, um
1 Computergrafik und Virtual Reality
die transparenten Objekte korrekt zwischen die nicht transparenten
einzufügen.
1.2.5
Mapping-Techniken
Die Darstellung von Objekten mit lokalen Beleuchtungsmodellen
hängt vom Einfluss der Lichtquellen auf die Oberflächen und von
deren Reflexionseigenschaften ab. In der Regel arbeitet man dabei mit
einer Triangulierung der Oberflächen. Die Reflexionseigenschaften
werden innerhalb der einzelnen Dreiecke konstant gehalten.
In der Praxis trifft man aber häufig Oberflächen mit feinen und
komplexen Farbstrukturen an, wie z. B. Marmor, Holzmaserungen,
Tapeten oder Bilder. Um solche Oberflächen korrekt darstellen zu
können, wäre eine sehr feine, an die Farben der Oberflächen angepasste Triangulierung notwendig. Auch die geometrische Struktur der
Oberflächen ist häufig sehr komplex, wie z. B. bei der Schale einer
Orange. Ein korrektes geometrisches Modell wäre hier sehr aufwendig
und würde zu einer riesigen Anzahl von Dreiecken führen.
Um dies zu vermeiden, werden Mapping-Techniken eingesetzt, die
es erlauben, die Oberflächeneigenschaften zu modulieren. Dieser Vorgang kann mit dem Tapezieren einer Wand verglichen werden. Das
geometrische Modell der Wand besteht aus einem ebenen Rechteck
(oder zwei in einer Ebene liegenden Dreiecken), die Oberflächenfarbe
wird durch ein aufgeklebtes zweidimensionales Bild definiert.
Auf diese Weise lassen sich aber nicht nur Farben manipulieren,
sondern auch andere Oberflächeneigenschaften, wie z. B. die Oberflächennormalen. Selbst die Parameter von Beleuchtungsmodellen können so manipuliert werden. Abbildung 1.47 zeigt ein ebenes Rechteck,
bei dem mit Hilfe von Mapping-Techniken verschiedene Parameter
moduliert wurden.
Abb. 1.47:
Einsatz von Mapping-Techniken
auf einem ebenen Rechteck
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
61
1.2.5.1
Textur-Mapping
Unter Textur-Mapping verstehen wir hier Mapping-Techniken, welche die Reflexionseigenschaften (und damit die Farben) von Oberflächen beeinflussen.
Eine zweidimensionale Textur ist formal eine Abbildung, die Punkte
(u,v) des zweidimensionalen Texturraums auf (r,g,b)-Farben abbildet.
Abb. 1.48:
Textur: Jedem Punkt (u,v) wird
ein Farbwert zugeordnet
Texturkoordinaten
Gewöhnlich wird der Texturraum auf den Parameterbereich [0,1]×
[0,1] beschränkt, und die Texturen werden entsprechend in diesen
Bereich skaliert.
Um eine Textur auf eine Oberfläche aufbringen zu können, müssen
allen Punkten der Oberfläche eindeutige Koordinaten im Texturraum,
die sog. Texturkoordinaten, zugeordnet werden.
Bei triangulierten Modellen geschieht dies durch Zuordnung von
Texturkoordinaten an allen Dreiecks-Eckpunkten (auch Vertices genannt), die dann im Innern der Dreiecke interpoliert werden. Dabei
ist allerdings zu beachten, dass die Interpolation perspektivisch korrekt durchgeführt wird. Einfache bilineare Interpolation in der Bildebene führt zu einem falschen Ergebnis.
Abb. 1.49:
Texturkoordinaten zur Positionierung
der Textur auf der Oberfläche
62
■
■
■
1 Computergrafik und Virtual Reality
Bei Triangulierungen parametrischer Flächen, wie z. B. ebenen
Rechtecken, Zylindermänteln, Kugeln oder B-Spline-Flächen, lässt
sich leicht eine Zuordnung von Texturkoordinaten zu den Eckpunkten der Dreiecke aus der Parametrisierung ableiten. Bei nicht parametrischen Flächen ist diese Zuordnung jedoch in der Regel nicht
trivial. Eine häufig angewandte Methode zur TexturkoordinatenBestimmung ist die Projektion der Objekte auf Ebenen, Zylinder oder
Kugeln, um dann die Parametrisierung dieser Flächen zur Texturkoordinaten-Bestimmung heranzuziehen.
Viele Softwareprodukte bieten auch Werkzeuge zur interaktiven
Zuordnung von Texturkoordinaten. So können z. B. Kanten definiert
werden, an denen die Flächen in einzelne Teilflächen aufgetrennt
werden, die dann in die Ebene abgewickelt werden können. Diese
Abwicklung kann dann über die Textur gelegt werden. Durch Verschieben der einzelnen Dreiecks-Eckpunkte kann die Texturkoordinaten-Zuordnung interaktiv angepasst werden.
Soll eine Textur auf einer Oberfläche mehrfach wiederholt werden,
lässt man Texturkoordinaten kleiner als 0 oder größer als 1 zu. Beim
Zugriff auf die Textur wird dann der ganzzahlige Anteil der Koordinaten ignoriert.
Eine Texturabbildung, die Texturkoordinaten (u,v) auf (r,g,b)Farben abbildet, kann entweder als prozedurale oder als diskrete Textur gegeben sein. Bei prozeduralen Texturen wird der Farbwert zu
einem Koordinatenpaar (u,v) mit Hilfe einer mathematischen Funktion ermittelt. Diskrete Texturen, die in der Praxis weitaus häufiger
Verwendung finden, sind einfach durch Pixelbilder gegeben. Jedes
Pixel der Textur (auch Texel genannt) repräsentiert dabei den Farbwert zu einem bestimmten Texturkoordinaten-Paar. Farbwerte zu
beliebigen Texturkoordinaten-Paaren werden in der Regel durch bilineare Interpolation der Farbwerte der vier benachbarten Texel bestimmt. Textur-Mapping mit diskreten Texturen wird von den Grafikkarten in Hardware unterstützt.
Prozedurale und diskrete Texturen
1.2.5.2
Bump-Mapping
Beim Bump-Mapping werden Abbildungen verwendet, die Punkte
(u,v) des zweidimensionalen Texturraums auf Grauwerte abbilden.
Diese Grauwerte werden als Höhenwerte über der Objektoberfläche
interpretiert, mit deren Hilfe die Oberflächennormalen für die Beleuchtungsrechnung manipuliert werden. Aufgrund der dadurch entstehenden Verdunklungen, Aufhellungen und Glanzlichter nimmt der
Betrachter Vertiefungen und Erhebungen auf der Oberfläche war. Dies
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
63
ist in Abb. 1.47 deutlich zu erkennen, die ein ebenes Rechteck zeigt,
das mit einer Textur-Map und einer Bump-Map versehen ist.
Da bei diesem Verfahren nur die Beleuchtungsrechnung beeinflusst
wird, die Position der Oberflächenpunkte aber unverändert bleibt,
erhält man bei schrägem Blickwinkel keine Parallaxenverschiebung,
wie dies bei einer echten Oberflächenerhebung der Fall wäre. Dies
führt zum einen zu einer verzerrten Darstellung der Texturen, zum
anderen werden die Objektkonturen von Bump-Maps nicht beeinflusst. Das heißt, die Kontur einer Kugel besteht auch dann aus einem
exakten Kreis, wenn sie mit einer Bump-Map versehen ist.
Solche Probleme werden z. B. durch das sogenannte DisplacementMapping [Co84] oder das Parallax-Mapping [KT01] adressiert.
1.2.5.3
Reflexions- und Umgebungs-Mapping
Beim Reflexions-Mapping [MH84; HS93]werden mit Hilfe von Texturen Spiegelungen auf Objektoberflächen simuliert. Da Spiegelungen
von der Beobachterposition abhängen und sich bei Bewegung des
Beobachters ihre Position ändert, können Spiegelungen nicht fest mit
Hilfe einer Textur auf eine Oberfläche gemappt werden.
Beim Reflexions-Mapping werden Reflexionen mit Hilfe von Texturierungs-Hardware approximativ berechnet. Zugrunde liegt dabei
die folgende Beobachtung: Ist ein Objekt sehr klein im Vergleich zur
Entfernung der Objekte, die sich in seiner Oberfläche spiegeln, so
hängt die gespiegelte Leuchtdichte im Wesentlichen von der Reflexionsrichtung ab, während die exakte Oberflächenposition nur eine
untergeordnete Rolle spielt.
Ignoriert man die Oberflächenposition, so hängt die Spiegelung nur
noch von der Reflexionsrichtung ab, die sich mit zwei Werten parametrisieren lässt. Damit wird es möglich, Spiegelungen für ein Objekt im
Voraus zu berechnen und in einer zweidimensionalen Textur zu speichern. Man kann sich das so vorstellen, dass das Objekt von einer virtuellen Kugel umgeben ist, an deren Innenseite sich die Szenenumgebung
befindet. Bei der Bilderzeugung können Spiegelungen nun in Echtzeit
an der Innenseite der Kugel abgelesen werden, indem aus der Blickrichtung und der Oberflächennormalen die Reflexionsrichtung berechnet
wird. Deshalb spricht man häufig auch von Umgebungs-Mapping.
Abbildung 1.50 zeigt dazu eine schematische Darstellung. Die
durch den gestrichelten Vektor gekennzeichnete exakte Reflexion
wird näherungsweise durch die Reflexion ersetzt, die durch den gepunkteten Vektor gegeben ist. Dies ist die Reflexion, die man vom
Zentrum der Kugel aus beobachten würde.
64
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.50:
Approximative Berechnung der
Spiegelung beim Umgebungs-Mapping
In der Praxis ist für die Umgebungstextur eine geeignete Parametrisierung erforderlich. Dafür gibt es verschiedene Alternativen, wie
z. B. die Verwendung von Kugelkoordinaten, die Projektion auf die
Seiten eines umgebenden Würfels oder das sog. Sphere-Mapping, das
von OpenGL® und Direct3D® (siehe Kap. 1.2.7) für Echtzeitanwendungen unterstützt wird.
Eine Sphere-Map enthält das Bild, das man sehen würde, wenn
man eine ideal spiegelnde Kugel betrachten würde, die sich an der
Position des spiegelnden Objektes befindet.
Eine Umgebungstextur liefert die korrekte Spiegelung der Umgebung, wenn sich ein Oberflächenpunkt genau im Zentrum des spiegelnden Objektes befindet und, je nach verwendetem Verfahren, wenn
außerdem die Blickrichtung dieselbe ist, die bei der Erzeugung der
Umgebungstextur verwendet wurde. An anderen Positionen oder
eventuell auch bei Betrachtung aus anderer Blickrichtung ist das Ergebnis nicht mehr exakt. Bei stark gekrümmten Oberflächen, wie z. B.
Türgriffen, Töpfen usw., erscheint das Ergebnis aber trotzdem sehr
realistisch, da der Beobachter nicht in der Lage ist, die Ungenauigkeiten wahrzunehmen.
Abb. 1.51:
Sphere-Map:
Die Spiegelung im rechten Bild wurde
mit Hilfe der im linken Bild dargestellten
Sphere-Map erzeugt
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
65
1.2.5.4
Texturfilterung
Footprint
Bei der Verwendung diskreter Texturen kommt es häufig vor, dass diese
Texturen verkleinert dargestellt werden. Das heißt, mehrere Texel einer
Textur werden auf dasselbe Bildschirmpixel abgebildet. In solchen Fällen kommt es zu einer Unterabtastung der Textur und zu Abtastfehlern
im Bild. Abbildung 1.52 zeigt eine Rechtecksfläche unter schrägem Betrachtungswinkel, die mit einer Schachbrett-Textur versehen ist. Im
weiter entfernten Bereich, in dem die Textur aufgrund der Perspektive
verkleinert dargestellt wird, sind die Abtastfehler deutlich zu erkennen.
Mathematisch kann dieses Verhalten mit Hilfe des Abtasttheorems von
Whittaker, Kotelnikow und Shannon [Je77] erklärt werden.
Um solche Abtastfehler zu verhindern, muss entweder die Abtastrate erhöht werden, indem die einzelnen Pixel in mehrere Subpixel
aufgeteilt werden, oder die Textur ist mit einem Tiefpassfilter zu filtern, was moderne Grafikkarten in Hardware unterstützen.
Der Bereich einer Textur, der bei der Darstellung auf ein Bildschirmpixel fällt, wird Footprint genannt. Eine korrekte Texturfilterung bestünde in der Mittelwertbildung der Texel des Footprints (entsprechend ihrer Entfernung vom Bildschirm-Pixel gewichtet). Dieser
Mittelwert wird bei praktikablen Verfahren durch einfachere Mittelwerte ersetzt, die leichter und im Voraus zu berechnen sind.
Abb. 1.52:
Abtastfehler
Abb. 1.53:
Mipmap-Pyramide
66
■
■
■
1 Computergrafik und Virtual Reality
Das wohl wichtigste Verfahren zur Texturfilterung in Echtzeitanwendungen ist das sog. Mipmap-Verfahren. Dabei werden die Texturen, deren Größe in x- und in y-Richtung jeweils eine Zweierpotenz
sein muss, in fortlaufend halbierten Auflösungsstufen gespeichert, so
dass eine Pyramide von Texturen entsteht, deren Spitze nur noch ein
einzelnes Pixel enthält.
Je nach Größe des Footprints (die mit Hilfe der partiellen Ableitungen der (u,v)-Koordinaten nach den Bildschirmachsen abgeschätzt werden kann) wird dann auf eine entsprechend verkleinerte
Textur der Mipmap zugegriffen oder zwischen zwei benachbarten
Mipmap-Stufen interpoliert. In diesem Fall spricht man auch von
trilinearer Interpolation, da die Farbwerte zwischen den MipmapStufen linear und innerhalb der Mipmap-Stufen bilinear interpoliert
werden. Eine ausführliche Beschreibung des Mipmap-Verfahrens
finden Sie in [Wi83].
Das Mipmap-Verfahren lässt sich sehr gut in Hardware implementieren. Die verkleinerten Texturen der einzelnen Mipmap-Stufen lassen sich im Voraus berechnen, und der Speicherbedarf beträgt lediglich ein Drittel dessen, was für die Originaltextur benötigt wird.
Der Footprint wird beim Mipmap-Verfahren aber immer durch ein
Rechteck approximiert, das dasselbe Seitenverhältnis besitzt wie die
Originaltextur. Die Richtungsabhängigkeit des Footprints bleibt dabei
unberücksichtigt. Vor allem bei schrägem Betrachtungswinkel von
texturierten Oberflächen werden deshalb Mittelwerte über zu große
Bereiche der Textur gebildet, was dazu führt, dass die Texturen unscharf werden.
Beim Footprint Assembly [SK96] werden solche Probleme weitgehend vermieden (siehe Abb. 1.54. Hierbei handelt es sich um ein sog.
anisotropes Verfahren, das die Richtungsabhängigkeit des Footprints
berücksichtigt. Dabei wird der Footprint durch mehrere Rechtecke
approximiert, deren Mittelwert jeweils mit Hilfe einer Mipmap bestimmt werden kann. Anstatt eines Zugriffs auf ein Mipmap-Level
grober Auflösung werden also mehrere Zugriffe auf MipMap-Levels
Mipmap-Verfahren
Footprint Assembly
Abb. 1.54:
Texturfilterung mit
Mipmapping (links) und
Footprint Assembly (rechts)
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
67
feinerer Auflösung gemittelt, wodurch der eigentliche Footprint wesentlich genauer angenähert werden kann.
1.2.6
Globale Beleuchtung
Anders als bei den lokalen Beleuchtungsmodellen, bei denen die möglichst schnelle und effiziente Berechnung im Vordergrund steht, wird
bei globalen Beleuchtungsmodellen ein möglichst realistisches Ergebnis angestrebt. Dazu werden auch Wechselwirkungen der Oberflächen
untereinander in die Berechnung einbezogen, wie z. B. Schattenwurf,
Spiegelungen, Brechungen oder indirekte Beleuchtung.
Da die Lösung der allgemeinen Beleuchtungsgleichung (siehe
Kap. 1.2.1) zu aufwendig wäre, werden auch bei den globalen Beleuchtungsverfahren wieder Vereinfachungen vorgenommen. Die im Folgenden vorgestellten Verfahren berechnen also keine Lösung dieser
allgemeinen Gleichung, sondern berücksichtigen jeweils nur einen Teil
der möglichen Wechselwirkungen zwischen den Oberflächen der Szene.
1.2.6.1
Raytracing
Raytracing ist ein optisches Verfahren, das ideale Spiegelungen und
Lichtbrechungen berücksichtigt. Die Idee besteht darin, Lichtstrahlen
auf ihrem Weg von den Lichtquellen durch die Szene bis zum Auge
des Beobachters zu verfolgen. Da nur solche Lichtstrahlen von Bedeutung sind, die auch tatsächlich das Auge des Beobachters treffen, werden die Strahlen beim klassischen Raytracing rückwärts vom Auge
ausgehend durch die Szene verfolgt. Das heißt, man versucht die Frage
zu beantworten, woher die Strahlen kommen, die das Auge treffen.
Abb. 1.55:
Raytracing
68
■
■
■
1 Computergrafik und Virtual Reality
Um den Farbwert eines Pixels zu bestimmen, wird ein Primärstrahl
(auch Sehstrahl genannt) vom Auge ausgehend durch dieses Pixel in
die Szene geschossen und der nächstliegende Schnittpunkt dieses
Strahls mit den Szenenobjekten bestimmt. Die durch direkte Lichteinstrahlung auf diesen Schnittpunkt bedingte Leuchtdichte wird durch
Auswertung eines lokalen Beleuchtungsmodells (z. B. des PhongModells) an diesem Punkt bestimmt. Außerdem wird ein ideal reflektierter und ein ideal gebrochener Strahl berechnet, deren Leuchtdichte
rekursiv auf dieselbe Weise bestimmt wird. Diese Leuchtdichten werden dann gewichtet mit dem Reflexions- bzw. Refraktionskoeffizienten des Materials zu der zuvor berechneten Leuchtdichte addiert.
Um die Sichtbarkeit von Lichtquellen zu erkennen, werden vor der
Auswertung des lokalen Beleuchtungsmodells an den Schnittpunkten
Schattenstrahlen zu den Lichtquellen geschickt und auf Schnittpunkte
mit Szenenobjekten getestet. Es werden dann nur die Beiträge der
unverdeckten Lichtquellen berücksichtigt.
Die rekursive Strahlverfolgung wird abgebrochen, wenn ein Strahl
auf ein Objekt trifft, das weder spiegelt noch transparent ist, wenn ein
Strahl die Szene verlässt, wenn die durch einen Strahl transportierte
Abb. 1.56:
Raytracing-Bilder
berechnet mit PYTHA RAYTRA
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
69
Leuchtdichte zu gering wird oder wenn eine vorgegebene Rekursionstiefe überschritten wird.
Der weitaus größte Teil der Rechenleistung beim Raytracing wird
für die Schnittpunktberechnungen benötigt. Mit Hilfe geeigneter Beschleunigungstechniken, wie z. B. regulären Gittern, Octrees oder
Szenenhierarchien [ES97; Wi83], kann dieser Aufwand aber auf ein
praktikables Maß reduziert werden.
Raytracing liefert für Szenen mit hohem spiegelndem und transparentem Flächenanteil sehr gute Ergebnisse. Die Szenengeometrie kann
in analytischer Form gehalten werden, eine Triangulierung der Oberflächen ist nicht notwendig. Da die Berechnung blickpunktabhängig
ist, ist Raytracing zur Darstellung bei Echtzeitanwendungen nicht
geeignet. Diffuse indirekte Beleuchtung wird nicht berücksichtigt.
Als Kajiya 1986 die Beleuchtungsgleichung (siehe Kap. 1.2.1) vorstellte, bemerkte er, dass das Raytracing-Verfahren eine Lösung dieser
Gleichung berechnet, wobei das Intergral durch die Summe der direkten Beleuchtung und der beiden rekursiv berechneten Anteile ersetzt
wird.
Um weitere Beleuchtungseffekte berücksichtigen zu können, existieren verschiedene Erweiterungen des klassischen Raytracing-Algorithmus, wie z.B:
Pfad-Tracing
Photon-Tracing
70
■
■
■
• Pfad-Tracing: Hier werden an den Schnittpunkten nicht alle möglichen Aufspaltungen des Lichtstrahls rekursiv weiterverfolgt, sondern es wird zufällig eine Möglichkeit der Reflexion gewählt. So
verfolgt man einen einzelnen, zufällig gewählten Pfad der Lichtausbreitung. Bei dieser Vorgehensweise ist man nicht mehr auf ideale
Spiegelung und Brechung beschränkt, sondern kann beliebige
BRDFs abtasten und kann somit z. B. auch diffuse Reflexionen berücksichtigen. Um eine ausreichende Abtastung zu gewährleisten,
ist es aber notwendig, für jedes Pixel des Bildschirms eine größere
Anzahl an Strahlen zu verfolgen.
• Photon-Tracing (oder bidirektionales Raytracing): Dieses Verfahren
besteht aus zwei Schritten. Im ersten Schritt werden nach der Art
des Pfad-Tracing sogenannte Photonen, die eine bestimmte Energie
transportieren, von den Lichtquellen ausgehend durch die Szene
transportiert. Die Oberflächen werden mit Photonen-Maps versehen, die das Auftreffen von Photonen registrieren (in der Regel Gitter mit einer gewissen Auflösung). Dieser Schritt ist unabhängig
von der Beobachterposition. In einem zweiten Schritt wird mit klassischem Raytracing oder Pfad-Tracing ein Bild berechnet. Dabei
werden die im ersten Schritt an den Oberflächen der Szene gewonnenen Informationen benutzt. Mit Photon-Tracing lassen sich auch
diffuse Beleuchtungseffekte und Kaustiken berechnen [Je01].
1 Computergrafik und Virtual Reality
1.2.6.2
Radiosity
Das Radiosity-Verfahren ist ein globales Beleuchtungsverfahren, das
auf einer Einschränkung der Beleuchtungsgleichung (siehe Kap. 1.2.1)
auf ideal diffus reflektierende Oberflächen beruht. Solche Oberflächen
sind in Innenraumszenen häufig vorherrschend, weshalb das Radiosity-Verfahren hier Ergebnisse mit sehr hohem Realitätsgrad erreicht.
Die Einschränkung auf diffus reflektierende Oberflächen bedeutet,
dass die BRDF ρ(x,ωr ,ωi ) = ρ(x) unabhängig vom Einfallswinkel und
Ausfallswinkel ist und dass die reflektierte Leuchtdichte Lr (x,ωr ) = Lr (x)
unabhängig von der Abstrahlrichtung ist. Die Beleuchtungsgleichung
lautet damit
L(x) = LE (x) + LR (x)
mit
LR (x) = ρ (x)∫ L(x′)H (x, x′)
F
cosφi cosφ0
dx ′
2
x − x′
für alle Oberflächenpunkte x in der Szene.
Da alle Oberflächen diffus reflektierend sind, kann anstatt mit der
Leuchtdichte auch mit der spezifischen Ausstrahlung (englisch:
Radiosity) gerechnet werden, die mit dem Buchstaben B bezeichnet
wird. Dabei ist die spezifische Ausstrahlung B(x) an einem Punkt x
identisch mit dem Integral über L(x,ωr ) , wobei ωr über alle Winkel
des oberen Halbraumes Ω läuft:
B(x) = ∫ L(x, ωr )cosφr dωr = π L(x)
Ω
Ersetzt man πρ (x) durch den Reflexionsfaktor
0 ≤ ρ (x) < 1 , erhält man damit die Radiosity-Gleichung
B(x) = E(x) + ρ (x) ⋅ ∫ B(x ′)H (x, x ′)
F
ρ (x)
mit
Radiosity-Gleichung
cosφi cosφ0
dx ′
2
π x − x′
Gesucht ist hier eine Funktion B, die diese Gleichung erfüllt und für
die das Integral
∫
F
2
B(x) dx
2
existiert (eine Funktion aus dem Raum L ). Der mathematisch interessierte Leser findet ausführliche Informationen hierzu z. B. in [We05].
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
71
Klassisches Radiosity
Doch auch diese Gleichung ist für realistische Szenen nicht explizit
zu lösen. Man versucht deshalb, die Lösung dieser Gleichung durch
eine Linearkombination endlich vieler geeigneter Funktionen zu approximieren. Mathematisch formuliert wählt man einen endlichdi2
mensionalen Teilraum von L mit einer geeigneten Basis und löst die
auf diesen Teilraum projizierte korrespondierende Gleichung. Damit
erhält man eine Linearkombination der gewählten Basisfunktionen als
Lösung der Gleichung.
Beim klassischen Radiosity zerlegt man die Szene in n Flächenstücke Fi, i=1,...,n (auch Patches genannt), und wählt als Teilraum den
Raum der auf diesen Flächenstücken konstanten Funktionen. Das
heißt, man nimmt an, dass die Radiosity-Funktion auf jedem dieser
kleinen Flächenstücke konstant ist (B(x)=Bi für alle x∈Fi). Geht man
ferner davon aus, dass der Reflexionsfaktor ρ(x)=ρi auf jedem Flächenstück Fi konstant ist, erhält man die klassische RadiosityGleichung:
n
Bi = E i + ρi ∑ B j
j =1
1
Ai
∫ ∫
Fi
n
= E i + ρi ∑ B j Fij
Fj
H ( x, x′)
cos φi cos φ j
π x − x′
2
dx′
für alle i = 1,..., n
j =1
Formfaktor
Dabei ist Ai der Flächeninhalt von Flächenstück Fi und
Fij =
1
Ai
∫∫
Fi
Fj
H (x, x′)
cosφi cosφ j
π x − x′
2
dx′
der sog. Formfaktor [FD96; SH93] von Flächenstück Fi zu Flächenstück Fj. Dieser Formfaktor ist eine geometrische Größe und gibt an,
welcher Anteil der Strahlungsleistung, die von Flächenstück Fi abgestrahlt wird, auf dem Flächenstück Fj ankommt.
Da die Integrale unter Vertauschung invariant sind, ergibt sich zwischen den Formfaktoren Fij und Fji die Reziprozitätsbeziehung:
Ai Fij = Aj Fji
i = 1,..., n
Aus Gründen der Energieerhaltung gilt außerdem:
n
∑F
j =1
72
■
■
■
ij
≤ 1 für alle i = 1,..., n
1 Computergrafik und Virtual Reality
Da ein ebenes Flächenstück kein Licht auf sich selber abstrahlt, gilt
außerdem:
Fii = 0 für alle i = 1,..., n
Die klassische Radiosity-Gleichung ist ein lineares Gleichungssystem und kann deshalb in Matrixform geschrieben werden. Mit den
oben erwähnten Eigenschaften lautet die Gleichung dann
⎛ 1
⎜
⎜ − ρ2 F21
⎜
⎜
⎝ − ρn Fn1
− ρ1 F12
1
− ρn Fn 2
− ρ1 F1n ⎞⎛ B1 ⎞ ⎛ E1 ⎞
⎟⎜ ⎟ ⎜ ⎟
− ρ 2 F2n ⎟⎜ B2 ⎟ ⎜ E2 ⎟
=
⎟⎜ ⎟ ⎜ ⎟
⎟⎜ ⎟ ⎜ ⎟
1 ⎠⎝ Bn ⎠ ⎝ En ⎠
Da die Reflexionsfaktoren ρi alle kleiner als 1 sind und die Summe
der Formfaktoren in jeder Zeile auch kleiner oder gleich 1 ist, ist die
Koeffizientenmatrix strikt zeilendiagonaldominant und damit auch
regulär. Das heißt, dieses Gleichungssystem besitzt eine eindeutige
Lösung.
Um die Radiosity-Werte Bi zu berechnen, müssen nun zum einen
die Formfaktoren berechnet werden, und zum andern muss das Gleichungssystem gelöst werden. Dabei stellt die Größe der Matrix ein
besonderes Problem dar, da realistische Szenen oft aus Hunderttausenden oder gar Millionen Flächenstücken bestehen.
Zur Darstellung des Ergebnisses werden an den Eckpunkten Mittelwerte der Farbwerte aller angrenzenden Flächenstücke gebildet. Die
einzelnen Flächenstücke können dann mittels Gouraud-Shading dargestellt werden, so dass kontinuierliche Farbverläufe auf den Oberflächen erreicht werden.
Darstellung des Ergebnisses
Abb. 1.57:
Unterteilung der Szene in Flächenstücke
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
73
Berechnung der Formfaktoren
Fernnäherung
Hemicube-Verfahren
74
■
■
■
Die Bestimmung der Formfaktoren erfordert die Berechnung doppelter Flächenintegrale, deren Integranden aufgrund der Sichtbarkeitsfunktion H Unstetigkeiten aufweisen können. Solche Integrale lassen
sich nur in einfachen Anordnungen analytisch lösen [SH93]. Auch die
ansonsten in der Numerik üblichen Quadraturformeln zur numerischen Lösung von Integralen lassen sich wegen der Unstetigkeiten der
Integranden nicht effizient einsetzen. Deshalb müssen die Formfaktoren entweder mit Monte-Carlo-Methoden stochastisch gelöst werden,
was in [BG62], [HH64] und [Be99] ausführlich beschrieben wird, oder
es müssen vereinfachende Annahmen getroffen werden, wie dies bei
den im Folgenden beschriebenen Verfahren geschieht.
Eine wesentliche Vereinfachung erhält man durch die Annahme,
dass die Ausdehnung der beiden Flächenstücke im Vergleich zu ihrem
Abstand klein ist (Fernnäherung). Häufig lässt sich dies durch Unterteilung der Flächenstücke erreichen. In manchen Fällen, z. B. bei aneinandergrenzenden Flächenstücken, kann diese Annahme aber nicht
erfüllt werden, wodurch es zu sichtbaren Fehlern in der Berechnung
kommt. Unter der Annahme der Fernnäherung ist der Formfaktor Fij
unabhängig von der Ausdehnung der Fläche Fi (d. h., die Fläche Fi
kann als infinitesimal klein angenommen werden) und die Abstände
x − x′ können durch eine Konstamte r ersetzt werden.
Das erste effiziente Verfahren zur Berechnung von Formfaktoren,
das gleichzeitig auch das Verdeckungsproblem löst, ist das HemicubeVerfahren, das 1985 von Cohen und Greenberg vorgestellt wurde
[CG85]. Dieses Verfahren berechnet alle Formfaktoren von einem als
infinitesimal klein angenommenen Flächenstück Fi zu allen anderen
Flächenstücken der Szene.
Das infinitesimal kleine Flächenstück Fi wird dazu mit einem
Halbwürfel (Hemicube) umgeben. Der Formfaktor von Fi zu einem
anderen Flächenstück ist dann genauso groß wie der Formfaktor zu
dessen Projektion auf den Halbwürfel. Wird der Halbwürfel nun mit
einem Rechtecksraster (sog. Hemicube-Pixeln) überzogen, kann die
Projektion aller anderen Flächenstücke der Szene auf den Hemicube
näherungsweise durch Rasterisierung mit Hilfe gewöhnlicher Grafikhardware gewonnen werden. Bei der Rasterisierung werden die einzelnen Hemicube-Pixel dabei aber nicht mit Farbwerten, sondern mit
IDs der gerasterten Flächenstücke belegt. Das Verdeckungsproblem
kann implizit mit Hilfe des z-Buffer-Algorithmus gelöst werden.
Den Formfaktor zu einem Flächenstück erhält man dann durch
Summieren der Beiträge aller Hemicube-Pixel, die mit der entsprechenden ID belegt sind. Diese Beiträge werden Delta-Formfaktoren
genannt. Sie lassen sich aufgrund der einfachen Geometrie analytisch
berechnen. Wählt man eine feste Auflösung für den Hemicube, können
1 Computergrafik und Virtual Reality
Abb. 1.58:
Formfaktorberechnung mit Hemicube
die Delta-Formfaktoren einmal im Voraus berechnet und in einer Tabelle gespeichert werden.
Die Formfaktorberechnung mit dem Hemicube-Verfahren ist dank
der Hardwareunterstützung bei der Rasterisierung sehr schnell. Die
Rasterisierung ist aber aufgrund der endlichen und festen Anzahl der
Hemicube-Pixel mit Abtastfehlern verbunden, die zu auffälligen Artefakten führen.
Bei der Formfaktorberechnung nach Wallace [WE89] wird der
Formfaktor einer infinitesimal kleinen Fläche Fi zu einer endlichen
Fläche Fj näherungsweise bestimmt, indem die Fläche Fj durch eine
Anzahl Kreisscheiben gleichen Flächeninhalts approximiert wird. Die
Sichtbarkeit zwischen Fi und den Kreisscheibenmittelpunkten wird mit
Hilfe von Raytracing bestimmt. Der Formfaktor Fij wird dann durch die
Summe der Formfaktoren zu den sichtbaren Kreisscheiben approximiert. Die Formfaktoren von infinitesimal kleinen Flächenstücken zu
Kreisscheiben können analytisch berechnet werden [SH93].
Zur Lösung des Gleichungssystems könnten angesichts der strikten
Zeilendiagonaldominanz der Matrix im Prinzip bekannte numerische
Verfahren eingesetzt werden, wie z. B. das Gauß-Seidel-Verfahren
oder die Jakobi-Iteration. Da es aufgrund der Größe der Matrix in der
Formfaktorberechnung nach Wallace
mit Raytracing
Lösung des Gleichungssystems
Abb. 1.59:
Formfaktorberechnung nach Wallace
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
75
Progressive Refinement
76
■
■
■
Regel nicht möglich ist, die gesamte Matrix zu speichern, geschweige
denn alle ihre Koeffizienten zu berechnen, sind diese Standardverfahren in der Praxis nicht einsetzbar. Es werden also Verfahren benötigt,
die mit einem kleinen Teil der Koeffizienten der Matrix auskommen.
Zum einen kann dabei ausgenutzt werden, dass der Strahlungsaustausch zwischen manchen Flächenpaaren nur unwesentlich zum
Gesamtergebnis beiträgt, so dass die entsprechenden Koeffizienten
vernachlässigt werden können. Dies wird z. B. beim Progressive-Refinement-Verfahren ausgenutzt, das weiter unten beschrieben wird.
Zum anderen führen räumliche Kohärenzen dazu, dass sich die
Koeffizienten benachbarter Flächenstücke nur unwesentlich unterscheiden. So können ganze Blöcke der Matrix durch einen einzigen
Wert approximiert werden. Dies wird z. B. beim hierarchischen Radiosity oder beim Wavelet-Radiosity ausgenutzt.
Das Progressive-Refinement-Verfahren, das 1988 von Cohen et al.
vorgestellt wurde [CC88], ist ein iteratives Verfahren, das in jedem
Iterationsschritt die Strahlungsleistung eines ausgewählten Flächenstücks auf alle anderen Flächen der Szene verteilt.
Die Radiosity der Flächenstücke wird zu Beginn des Verfahrens mit
deren Eigenemission initialisiert. Zusätzlich wird für jedes Flächenstück die noch unverteilte (d. h. noch nicht in die Szene reflektierte)
Radiosity gespeichert, die ebenfalls mit der Eigenemission initialisiert
wird.
In jedem Iterationsschritt wird das Flächenstück ausgewählt, das
über die größte noch unverteilte Strahlungsleistung verfügt (die Strahlungsleistung eines Flächenstücks ist das Produkt der Radiosity und
des Flächeninhalts). Diese wird dann in die Szene reflektiert und an
die anderen Flächenstücke verteilt.
Mathematisch betrachtet ist das Progressive-Refinement-Verfahren
eine Variante der Southwell Relaxation und konvergiert aufgrund der
strikten Zeilendiagonaldominanz der Matrix gegen die korrekte Lösung [GC94]. Zur Durchführung eines Iterationsschrittes werden die
Formfaktoren einer Spalte der Matrix berechnet.
Da die Beiträge derjenigen Flächen zuerst berechnet werden, die
den größten Einfluss auf die gesamte Beleuchtungssituation haben,
führt dieses Verfahren sehr schnell zu visuell guten Ergebnissen.
Wenn keine exakte Lösung der Radiosity-Gleichung, sondern nur ein
realistisches Bild benötigt wird, kann der Prozess schon nach wenigen
Iterationsschritten abgebrochen werden.
Die Effizienz des Verfahrens kann durch den Einsatz hierarchischer
Techniken, ähnlich wie die im folgenden Abschnitt beschriebenen,
weiter gesteigert werden. Solche hierarchische Techniken wurden
auch bei der Berechnung in Abb. 1.60 eingesetzt. Die Szene besitzt drei
Lichtquellen an der Decke des Raumes.
1 Computergrafik und Virtual Reality
Abb. 1.60:
Berechnungsfolge einer
Progressive-Refinement-Berechnung
Hanrahan et al. stellten 1991 einen Algorithmus vor [HS91], der es
ermöglicht, die Formfaktormatrix, die für eine aus n Flächenstücken
2
bestehende Szene n Formfaktoren enthält, mit Hilfe einer hierarchischen Repräsentation zu einer Blockmatrix zu reduzieren, die aus
O(n) Blöcken besteht. Die Matrixeinträge werden dabei durch sog.
Links zwischen den zugehörigen Flächenstücken repräsentiert.
Der Algorithmus arbeitet in zwei Phasen. In der „Initial Linking“Phase wird die Blockmatrix erzeugt, in der zweiten Phase eine Lösung
des Gleichungssystems bestimmt.
Dabei startet man mit möglichst großen rechteckigen Flächenstücken, die während der „Initial Linking“-Phase unterteilt werden. Als
1.2 Bildberechnung – vom Modell zum Bild
Hierarchisches Radiosity und Clustering
■
■
■
77
Unterteilungskriterium dient dabei die Größe der Formfaktoren. Für je
zwei Flächenstücke Fi und Fj werden zunächst die beiden Formfaktoren
Fij und Fji ohne Berücksichtigung der Verdeckung berechnet. Ist der
größere der beiden Formfaktoren größer als eine vorgegebene Schranke Fε, wird die zugehörige Empfängerfläche in vier Teilflächen unterteilt, sofern deren Flächeninhalt ein vorgegebenes Minimum nicht
unterschreitet. Im Falle einer Unterteilung wird das „Initial Linking“
rekursiv für die Teilflächen durchgeführt, ansonsten wird die gegenseitige Verdeckung der beiden Flächenstücke mit Hilfe einer Anzahl von
Strahlen ermittelt, die mit Raytracing durch die Szene verfolgt werden.
Die Formfaktoren werden nun um die Verdeckung korrigiert und in
einem Link zwischen den beiden Flächenstücken gespeichert.
Abb. 1.61:
Radiosity-Lösungen,
berechnet mit PYTHA RadioLab
78
■
■
■
1 Computergrafik und Virtual Reality
Dies führt zu einer Matrix mit O(n) Blöcken, sofern die initialen
Formfaktoren nicht kleiner als Fε sind. Für kleinere initiale Formfaktoren werden Clustering-Techniken verwendet, die es erlauben, mehrere Flächen zu Clustern zusammenzufassen, die als Ganzes Radiosity
senden oder empfangen können [Si94].
Die Idee ist nun, Interaktionen zwischen Flächenstücken in verschiedenen Ebenen der Unterteilungshierarchie zuzulassen. Das Gleichungssystem in Blockmatrix-Form kann mit Hilfe von StandardLösungsverfahren oder mit der Progressive-Refinement-Methode
gelöst werden.
Weitere effiziente Verfahren zur Berechnung einer Radiosity-Lösung sind Wavelet-Radiosity, bei dem eine Lösung auf der Basis von
Wavelet-Konstruktionen hierarchischer Funktionen höherer Ordnung
berechnet wird, und Monte-Carlo-Radiosity, wo stochastische Verfahren zum Einsatz kommen. Diese Verfahren werden hier nicht näher
beschrieben. Für weiterführende Informationen wird auf [GS93],
[SG93] bzw. [Be99] und [SP96] verwiesen.
Die Darstellungsqualität einer Szene, die mit Hilfe des klassischen
Radiosity berechnet wurde, hängt stark von der gewählten Unterteilung (Meshing) der Flächen ab. In Abb. 1.62 ist ein Ausschnitt aus
einer Radiosity-Szene dargestellt, in dem eine an einer Wand montierte Tischplatte zu sehen ist.
In den oberen Bildern wurde eine ungünstige Flächenunterteilung
gewählt, die zu einer schlechten Wiedergabe der Schatten führt. Die
Schattengrenzen verlaufen stufenförmig, und dunkle Bereiche unter
der Tischplatte gelangen durch Interpolation nach oben.
In den unteren Bildern wurde dagegen eine Flächenunterteilung
gewählt, die zu einer korrekten Darstellung der Schatten führt. Wie
man hier sieht, ist es dazu aber notwendig, auch angrenzende Flächen
bei der Bestimmung der Flächenunterteilung mit zu berücksichtigen.
Wavelet-Radiosity und
Monte-Carlo-Radiosity
Meshing-Problematik
Abb. 1.62:
Abhängigkeit der Radiosity-Lösung von
der Flächenunterteilung
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
79
Bewertung des Radiosity-Verfahrens
Geeignete Meshing-Strategien sind deshalb bei der Berechnung einer Radiosity-Lösung essenziell wichtig. Manche dieser Strategien
bearbeiten die Szene vor der eigentlichen Radiosity-Berechnung
(A-priori-Meshing), andere nehmen während der Berechnung Anpassungen der Flächenunterteilung vor (A-posteriori-Meshing). Grundsätzlich gibt es dabei zwei mögliche Vorgehensweisen. Zum einen
können Flächenstücke in Problemgebieten einfach feiner unterteilt
werden, zum andern können Unstetigkeitslinien der Radiosity-Funktion oder deren Ableitungen direkt als Kanten in die Unterteilung
eingearbeitet werden, d. h., man wählt die Unterteilung so, dass u. A.
entlang von Schattengrenzen Flächenkanten verlaufen. Eine ausführliche Beschreibung von Meshing-Strategien ist z. B. in [Wa02] enthalten.
Das Radiosity-Verfahren liefert sehr gute Ergebnisse für Szenen,
die einen hohen diffusen Flächenanteil besitzen, was in Innenraumszenen häufig der Fall ist. Für primäre Lichtquellen kann auf die Einschränkung rein diffuser Abstrahlung leicht verzichtet werden, so dass
Lichtquellen mit beliebiger Lichtverteilung verwendet werden können.
Das Ergebnis der Radiosity-Berechnung ist unabhängig vom Standpunkt des Beobachters. Dadurch sind Bewegungen in Echtzeit durch
eine Szene möglich, deren Beleuchtung mit Hilfe des RadiosityVerfahrens berechnet wurde. Andererseits bedeutet dies aber auch,
dass blickpunktsabhängige Beleuchtungseffekte wie Spiegelungen,
Lichtbrechungen oder Glanzlichter nicht berechnet werden können.
Zur Aufwertung der visuellen Darstellung können jedoch auch andere
Effekte nachträglich addiert werden. Dadurch bedingte globale Effekte
bleiben dabei aber unberücksichtigt.
Die Berechnung von Radiosity-Lösungen für dynamische Szenen,
in denen sich ein großer Teil der Objekte bewegen, ist nur mit sehr
großem Aufwand möglich. Weitere Informationen zu Radiosity-
Abb. 1.63:
Echtzeitdarstellung einer
Radiosity-Lösung mit nachträglicher
Addition von Spiegelungen, Glanz- und
Lense-Flair-Effekten.
berechnet mit PYTHA RadioLab
80
■
■
■
1 Computergrafik und Virtual Reality
Lösungen in dynamischen Szenen finden Sie z. B. in [Ha00], [GS90],
[MS94] und [FY94].
1.2.7
3D-Grafik-Programmierung
und GPU-unterstütztes Rendering
Moderne Grafikkarten unterstützen viele Verfahren der Bilderzeugung durch entsprechende Hardware. Zur Verwendung dieser Verfahren existieren verschiedene Programmierschnittstellen (APIs). Die
wichtigsten sind OpenGL® und Direct3D®. Die Implementierung
dieser APIs wird in der Regel mit den Grafikkarten-Treibern bereitgestellt, die die entsprechenden Aktionen der Grafikkarten auslösen und
Funktionen, die die Grafikkarten nicht bieten, in Software realisieren.
Was die reine Grafikausgabe anbelangt, sind OpenGL® und Direct3D® in ihrer Funktionalität und ihrer Mächtigkeit sehr ähnlich.
Auch in der Ausführungsgeschwindigkeit gibt es – wenn überhaupt –
keine großen Unterschiede. Grafikkarten-Hersteller optimieren ihre
Hardware und Treiber in der Regel für beide APIs.
1.2.7.1
OpenGL®
OpenGL® (Open Graphics Library) ist eine plattformunabhängige API
zur Grafikprogrammierung, die ursprünglich aus der Grafikbibliothek
von Silicon Grafics® (IRIX GL®) entstand. OpenGL® unterstützt
sowohl 2D- als auch 3D-Grafik und erlaubt Echtzeitdarstellungen
dreidimensionaler Objekte.
Wegen der Plattformunabhängigkeit von OpenGL® ist die API auf
die reine Grafikprogrammierung beschränkt, Fensterprogrammierung und Ereignis-Handling sind nicht Bestandteil der API.
OpenGL® besteht im Kern aus zwei Bibliotheken, der eigentlichen
Grafikbibliothek, welche die Schnittstelle zur Grafikkarte darstellt,
und einer weiteren Bibliothek, die nützliche Funktionen bereitstellt,
um Daten für die eigentlichen Grafikfunktionen aufzubereiten. Außerdem gibt es noch ein Utility Toolkit, das Funktionen für rudimentäre Fensterprogrammierung und Ereignisbearbeitung enthält.
OpenGL® ist ein Zustandsautomat, auf dessen Funktionalität mittels C-Funktionen zugegriffen wird.
OpenGL® bietet die Möglichkeit, bis zu 8 Punktlichtquellen, Richtungslichtquellen oder Strahler zu definieren und Materialeigenschaften festzulegen. Für die Lichtberechnung wird das Phong’sche Beleuchtungsmodell benutzt, und als Shading-Algorithmen stehen Flat- und
1.2 Bildberechnung – vom Modell zum Bild
■
■
■
81
Gouraud-Shading zur Verfügung. Objekte können texturiert und mit
Umgebungstexturen versehen werden.
Weiterführende Verfahren, wie Phong-Shading, Bump-Mapping
und Ähnliches, werden nicht direkt unterstützt, können aber mit Hilfe
der in Kap. 1.2.7.3 beschriebenen Shader-Programmierung realisiert
werden.
Weitere Informationen zu OpenGL® können z. B. in [SW04] nachgelesen werden.
1.2.7.2
Direct3D®
Direct3D® ist ein Teil von DirectX® und stellt eine Programmierschnittstelle für 3D-Grafik zur Verfügung. DirectX® ist eine ziemlich
umfassende Programmierschnittstelle für Multimedia-Anwendungen,
die von der Firma Microsoft® bereitgestellt wird und in Windows®Betriebssysteme integriert ist. Neben der 3D-Grafik enthält DirectX®
auch Unterstützung für die Programmierung von Eingabegeräten,
Sound, Mehrbenutzer-Spielen und anderem.
DirectX® erlaubt den direkten Zugriff auf die Hardware bei gleichzeitiger Hardwareunabhängigkeit des Programmcodes. Dies wird
durch eine abstrakte Hardwareschicht realisiert, welche die Anforderungen bei vorhandener Hardwareunterstützung direkt an die Hardware weitergibt oder entsprechende Hardware emuliert.
Auch Direct3D® erlaubt die Definition von Lichtquellen und Materialien, die Texturierung von Oberflächen und die Verwendung von
Umgebungstexturen.
Direct3D® basiert auf dem Common Object Model (COM) und
wird in C++ programmiert. Daten und Kommandos werden nicht wie
in OpenGL® durch viele einzelne Funktionsaufrufe übergeben, sondern in Puffern abgelegt, die dann anschließend ausgeführt werden.
Im Gegensatz zu OpenGL® besitzt Direct3D® ein eigenes Dateiformat und bietet Unterstützung zum Laden von Texturen und Geometrie und zur Definition von Animationen.
Weiterführende Verfahren können auch in Direct3D® durch
Shader-Programmierung selbst ergänzt werden.
1.2.7.3
Vertex- und Pixel-Shader
Im Laufe der letzten Jahre ging die Entwicklung der Grafikhardware in
rasantem Tempo voran. Ein besonderer Meilenstein bei dieser Entwicklung war die Programmierbarkeit der Prozessoren auf der Grafikkarte,
was völlig neue Dimensionen der Grafikprogrammierung eröffnet.
82
■
■
■
1 Computergrafik und Virtual Reality
Abb. 1.64:
Schematische Darstellung der
Bilderzeugungs-Pipeline auf modernen
Grafikkarten
Abbildung 1.64 zeigt eine schematische Darstellung der Bilderzeugungs-Pipeline moderner Grafikkarten. Die einzelnen zu zeichnenden
Dreiecke werden an die Grafikkarte übergeben.
Für jeden Eckpunkt (Vertex) eines Dreiecks läuft dann auf einem
Vertex-Prozessor ein Programm ab, das verschiedene Berechnungen
vornimmt. Hier wird die perspektivische Projektion auf die Bildebene
und bei der konventionellen Bilderzeugung auch die Beleuchtung
berechnet.
Die so für die Eckpunkte des Dreiecks gewonnenen Ergebnisse
werden bei der Rasterisierung für alle Bildschirmpixel interpoliert, die
von dem Dreieck bedeckt werden.
Für jedes einzelne Pixel eines Dreiecks läuft nun ein Programm auf
dem Fragment-Prozessor ab, das die vom Rasterisierer interpolierten
Werte als Eingabe erhält und daraus den Farbwert des Pixels berechnet. An dieser Stelle findet auch die Texturierung statt.
Die Grafikprozessoren (GPUs) unterscheiden sich wesentlich von
gewöhnlichen CPUs. Sie sind sehr stark auf ihre jeweiligen Aufgaben
spezialisiert. So ist z. B. ein Vertex-Prozessor in der Lage, geometrische
Transformationen sehr schnell zu berechnen, während ein FragmentProzessor Texturzugriffe mit trilinearer Interpolation sehr schnell
ausführen kann.
Seit wenigen Jahren sind die Programme, die auf den Vertex- und
Fragment-Prozessoren ablaufen, nicht mehr fest in Hardware gegossen, sondern frei programmierbar. Die Programme auf den VertexProzessoren werden auch Vertex-Shader, die Programme, die auf den
Fragment-Prozessoren laufen, Fragment- oder Pixel-Shader genannt.
Mit Hilfe solcher Shader-Programme lassen sich eigene Beleuchtungsmodelle und auch weiter gehende Techniken implementieren,
die von OpenGL® oder Direct3D® nicht direkt unterstützt werden.
Die Grafikprozessoren unterliegen in ihrer Programmierbarkeit im
Vergleich zu CPUs aber immer noch starken Einschränkungen. So
stehen z. B. nur eine begrenzte Anzahl an Registern für verschiedene
1.2 Bildberechnung – vom Modell zum Bild
Vertex-Prozessor
Rasterisierer
Fragment-Prozessor
Vertex-Shader
Pixel-Shader
Fragment-Shader
■
■
■
83
Shader-Modelle
Datentypen zur Speicherung von Zwischenergebnissen zur Verfügung, oder bei manchen Prozessoren sind dynamische Verzweigungen nicht möglich.
Die zur Programmierung der Prozessoren zur Verfügung stehenden Features werden in sog. Shader-Modellen spezifiziert. So ist es
z. B. ab Shader-Modell 3.0 möglich, dynamische Verzweigungen zu
programmieren oder auch von Vertex-Shadern auf Texturen zuzugreifen.
OpenGL® bietet seit Version 1.5 eine assemblerartige Sprache zur
Programmierung von Shadern und seit Version 2.0 mit GLSL (OpenGL
Shading Language) auch eine C-ähnliche Hochsprache. In Direct3D®
ist die Shader-Programmierung seit der Version 8 ebenfalls mit Hilfe
einer C-ähnlichen Hochsprache HLSL (High Level Shading Language)
möglich.
Des Weiteren bietet die Firma nVidia eine ebenfalls C-ähnliche
Hochsprache Cg (C for graphics) zur Shader-Programmierung an, die
sowohl unter OpenGL® als auch unter Direct3D® verwendet werden
kann, bei Grafikkarten anderer Hersteller aber zu Problemen oder
schlechter Performance führen kann.
1.3
Virtual Reality (VR) – Holodecks?
Immersion
84
■
■
■
Mit fortschreitender Entwicklung der Rechnerleistung und der Techniken in der Computergrafik wurde es möglich, virtuelle Welten in
immer höherem Realitätsgrad darzustellen.
In der Realität ergibt sich die Wahrnehmung der Umgebung aus
der Summe der Informationen, die alle menschlichen Sinne liefern
(Sehen, Hören, Riechen, Fühlen).
In VR-Anwendungen müssen beim Benutzer die entsprechenden
Sinneswahrnehmungen erzeugt werden, um den Eindruck zu erwecken, er befände sich wirklich in der virtuellen Welt. Das Eintauchen
bzw. der Grad des Eintauchens in eine virtuelle Welt wird als Immersion bezeichnet.
Die meisten VR-Anwendungen beschränken sich dabei auf optische und akustische Signale, die zweifelsfrei auch die wichtigsten Beiträge zur Wahrnehmung liefern. Ein besonders wichtiger Aspekt ist
dabei die dreidimensionale Wahrnehmung von Bildern, die im Folgenden ausführlicher behandelt wird.
1 Computergrafik und Virtual Reality
1.3.1
Stereoskopie
Der Begriff Stereoskopie setzt sich zusammen aus den griechischen
Begriffen stereo = räumlich und skopein = sehen und befasst sich mit
der Darstellung von räumlich wahrnehmbaren Bildern.
Zunächst werden hier die Aspekte der räumlichen Wahrnehmung
durch das menschliche Auge und anschließend deren technische Umsetzung beschrieben.
1.3.1.1
Tiefenwahrnehmung durch das menschliche Auge
Die Tiefenwahrnehmung des menschlichen Auges beruht auf mehreren verschiedenen Aspekten.
Den weitaus größten Beitrag für die Tiefenwahrnehmung liefert die
sog. Querdisparation. Aufgrund des seitlichen Abstandes der beiden
Augen nehmen diese die Umgebung aus einer leicht unterschiedlichen
Perspektive wahr. Aus der unterschiedlichen Position eines Objektes
in den beiden Bildern kann das Gehirn die Entfernung des Objektes
ermitteln.
Ebenfalls bedingt durch den seitlichen Abstand der beider Augen
ergeben sich je nach Entfernung eines Objektes verschiedene Blickrichtungen für die beiden Augen. Bei der Betrachtung weit entfernter
Objekte sind beide Augen fast parallel ausgerichtet, bei näher liegenden Objekten mehr aufeinander zu gerichtet. Der Einfluss des Konvergenzgefühls zum räumlichen Eindruck wird von der Fachwelt aber
weitaus geringer bewertet als der Einfluss der Querdisparation.
Ein weiterer sehr wichtiger Aspekt ist die teilweise Verdeckung von
Objekten, die hintereinander angeordnet sind. Das verdeckende Objekt befindet sich stets näher beim Betrachter als das verdeckte Objekt.
Daraus ergibt sich eine Reihenfolge hintereinanderliegender Objekte.
Querdisparation
Konvergenz
Gegenseitige Verdeckung
Abb. 1.65:
Querdisparation
1.3 Virtual Reality (VR) – Holodecks?
■
■
■
85
Geometrische Perspektive und
Darstellungsgröße
Licht und Schatten
Auch die geometrische Perspektive und die Darstellungsgröße von
Objekten, deren reale Größe aus Erfahrung bekannt ist, spielt eine
wichtige Rolle für die Entfernungseinschätzung. Werden z. B. zwei
Personen in unterschiedlicher Größe nebeneinander dargestellt,
schließt der Betrachter daraus, dass die kleiner dargestellte Person
weiter entfernt ist.
Des Weiteren liefert das Zusammenspiel von Licht und Schatten
einen wichtigen Beitrag zum Tiefeneindruck eines Bildes. Aus Erfahrung geht der Mensch davon aus, dass Szenen in der Natur von oben
beleuchtet sind.
Weitere Effekte, wie z. B. die Tatsache, dass weit entfernte Objekte
aufgrund von Schwebeteilchen in der Luft undeutlich erscheinen oder
dass sich die Farben sehr weit entfernter Objekte aufgrund unterschiedlicher Lichtbrechung verschiedener Wellenlängen in Richtung
Blau verschieben, tragen zu einem kleinen Teil zum Gesamteindruck
bei. Der Akkomodationsanstrengung (Scharfstellen auf eine bestimmte Entfernung) wird keine große Bedeutung zugeschrieben.
1.3.1.2
Techniken der stereoskopischen Bilddarstellung
Stereoskopisches Bildpaar,
Stereoskopische Halbbilder
86
■
■
■
Die in Kap. 1.2 beschriebenen Techniken der Bilderzeugung erlauben
es, einige dieser Effekte, die beim Betrachter für das räumliche Sehen
verantwortlich sind, korrekt darzustellen, so z. B. eine korrekte geometrische Perspektive, korrekte gegenseitige Verdeckung und je nach
verwendetem Verfahren und investiertem Berechnungsaufwand auch
mehr oder weniger korrekte Beleuchtung und Schatten. Diese Verfahren liefern aber nur ein einziges ebenes Bild der Szene. Durch weitere
Perfektionierung lässt sich allenfalls der Tiefeneindruck einer Fotografie erreichen. Für VR-Anwendungen ist dies aber nicht ausreichend. Um den Eindruck zu erzeugen, der Betrachter befinde sich in
der Szene, ist es notwendig, verschiedene Bilder für das linke und das
rechte Auge zu erzeugen. Dadurch können auch Querdisparation und
Konvergenz korrekt dargestellt werden.
Ein stereoskopisches Bild ist also in Wirklichkeit ein Bildpaar, das
aus zwei einzelnen Bildern, den sog. stereoskopischen Halbbildern,
besteht. Zur Darstellung solcher Bilder sind Techniken notwendig, die
es erlauben, den beiden Augen des Betrachters verschiedene Bilder
zuzuführen. Die gängigsten dieser Techniken werden im Folgenden
vorgestellt. Weitere Informationen dazu sowie die Beschreibung einer
größeren Auswahl an Ausgabegeräten zur stereoskopischen Darstellung sind z. B. in [SC03] oder [BK05] zu finden.
1 Computergrafik und Virtual Reality
1.3.1.3
Head Mounted Displays
Bei Head Mounted Displays (HMD) werden zwei kleine Bildschirme
direkt vor den Augen des Betrachters positioniert. Um störendes Umgebungslicht fernzuhalten, werden die Bildschirme in einem helmähnlichen Gerät untergebracht.
Viele der ersten VR-Systeme arbeiteten mit solchen HMDs. In der
Zwischenzeit wurden die HMDs aber für viele Anwendungen weitgehend von Projektionssystemen verdrängt, die größere Darstellungen
in hoher Auflösung und ein wesentlich ermüdungsfreieres Arbeiten
erlauben.
Abb. 1.66:
Head Mounted Display
1.3.1.4
Anaglyphen-Verfahren
Das Anaglyphen-Verfahren ist das einfachste Verfahren, das eine
stereoskopische Bilddarstellung bei äußerst geringen Hardwarekosten
erlaubt. Hierbei werden die beiden Stereohalbbilder jeweils einfarbig
dargestellt, aber mit komplementären Farben für das linke und rechte
Auge (z. B. Rot und Grün bzw. Rot und Cyan). Die beiden Halbbilder
werden zu einem Bild überlagert, das mit einer Brille stereoskopisch
betrachtet werden kann, die für jedes Auge einen entsprechenden
Farbfilter benutzt.
Die Möglichkeiten der Farbdarstellung sind beim AnaglyphenVerfahren sehr begrenzt. Außerdem wird der Bildeindruck gestört,
wenn Gegenstände aufgrund ihrer Farbe nur in einem der beiden
Bilder sichtbar sind.
1.3.1.5
Zeitmultiplex-Verfahren
Bei Zeitmultiplex-Displays werden die Bilder für das linke und das
rechte Auge abwechselnd angezeigt. Der Betrachter trägt eine LC-
1.3 Virtual Reality (VR) – Holodecks?
■
■
■
87
Shutterbrille, die mit Hilfe eines Infrarotsignals mit dem Display synchronisiert wird und den Blick für die beiden Augen abwechselnd
öffnet bzw. schließt.
Weil sich bei diesem Verfahren die Bildwiederholfrequenz halbiert,
müssen die Displays mit einer hohen Frequenz betrieben werden, um
ein flimmerfreies Bild zu erreichen, i.d.R. mit mindestens 120 Hz. Dies
kann mit modernen CRT-Monitoren und auch mit CRT- oder DLPProjektoren erreicht werden.
Das Nachleuchten der Displays führt hier aber insbesondere bei der
Verwendung von CRT-Monitoren oder -Projektoren zu einer schlechten Stereobildtrennung.
Insgesamt sind Zeitmultiplex-Displays eine relativ kostengünstige
Lösung zur stereoskopischen Bilddarstellung in guter Qualität.
1.3.1.6
Polarisationstechnik
Eine weit verbreitete Technik zur stereoskopischen Darstellung großflächiger Projektionen ist die Verwendung von Polarisationsfiltern zur
Trennung der beiden Stereohalbbilder.
Die Darstellung erfolgt mit zwei Projektoren, je einen für jedes Auge, die ihre Bilder übereinander auf eine Leinwand projizieren. Jeder
Projektor ist dabei mit einem Polarisationsfilter versehen. Bei der
Verwendung linearer Polarisation müssen die beiden Filter um 90°
gegeneinander verdreht sein, bei der Verwendung zirkularer Filter
müssen die Drehrichtungen gegenläufig sein.
Der Betrachter trägt eine Brille, deren Gläser ebenfalls mit den entsprechenden Polarisationsfiltern ausgestattet sind, so dass jedes Brillenglas nur das Licht des zugehörigen Projektors durchlässt.
Mit Hilfe der Polarisationstechnik, insbesondere bei Verwendung
zirkularer Polarisation, kann eine relativ gute Stereobildtrennung
erreicht werden. Bei dieser Technik können beliebige Projektortechnologien eingesetzt werden. Es fallen aber höhere Kosten an als bei der
Verwendung der zuvor beschriebenen Zeitmultiplex-Technik. Zum
einen erfolgt die Darstellung mit zwei verschiedenen Projektoren, zum
anderen sind teure polarisationserhaltende Projektionsflächen nötig.
In der Regel werden dazu silberbeschichtete Leinwände verwendet.
1.3.1.7
Wellenlängenmultiplex-Verfahren (Infitec)
Wie in Kap. 1.2.2 beschrieben, wird der Farbeindruck bei farbigen
Anzeigegeräten dadurch erzeugt, dass drei Grundfarben miteinander
kombiniert werden.
88
■
■
■
1 Computergrafik und Virtual Reality
Dies kann aber nicht nur mit den üblicherweise verwendeten Grundfarben erreicht werden. Auch mit der Wahl abweichender Grundfarben
kann derselbe Farbeindruck erzeugt werden, wenn diese Grundfarben
entsprechend kombiniert werden. Auf dieser Tatsache beruht das Infitec-Verfahren [Jo02], das im Forschungszentrum von DaimlerChrysler
ab 1999 entwickelt und dann in die Firma Infitec ausgelagert wurde.
Die Darstellung erfolgt auch hier durch zwei separate Projektoren
für das linke und rechte Halbbild, deren Bilder auf eine Leinwand
übereinander projiziert werden. Die Projektoren sind mit schmalbandigen Interferenzfiltern ausgestattet, die jeweils drei Grundfarben
eines sehr schmalen, aber unterschiedlichen Wellenlängenspektrums
durchlassen. Dadurch arbeiten die beiden Projektoren jeweils mit
unterschiedlichen Grundfarben Rot, Grün und Blau. Der Betrachter
trägt eine Brille, deren Gläser ebenso mit den entsprechenden Interferenzfiltern bestückt sind.
Da die verwendeten Grundfarben von den üblicherweise verwendeten Grundfarben abweichen, müssen sie in anderen Verhältnissen
kombiniert werden, um einen bestimmten Farbeindruck zu erzeugen.
Deshalb muss für jeden Projektor eine Farbkorrektur vorgenommen
werden, um eine korrekte Farbdarstellung zu erreichen. Dazu wird eine
einfache lineare Transformation auf das Farbtripel (r,g,b) angewandt.
Dies kann entweder per Software erfolgen, oder zwischen Rechner und
Projektor wird eine elektronische Farbkorrektur-Einheit installiert, die
die entsprechende Transformation auf das Bildsignal anwendet.
Für das Infitec-Verfahren können handelsübliche Projektoren beliebiger Technik eingesetzt werden. Es wird eine hervorragende Bildtrennung der beiden Halbbilder bei voller Farbdarstellung erreicht. Außerdem lässt sich das Verfahren auf mehr als zwei Halbbilder erweitern, so
Abb. 1.67:
Stereobildtrennung durch verschiedene
Grundfarben für die beiden Halbbilder
1.3 Virtual Reality (VR) – Holodecks?
■
■
■
89
dass auch für mehrere Betrachter je zwei Halbbilder in der für ihre individuelle Position korrekten Perspektive bereitgestellt werden können.
1.3.1.8
Autostereoskopische Displays
Bei autostereoskopischen Displays werden mehrere Ansichten der
Szene für verschiedene Blickrichtungen gleichzeitig dargestellt. Technisch wird dies dadurch erreicht, dass jedes Pixel in mehrere Subpixel
unterteilt wird. Durch geeignete Linsenraster oder Lochmasken wird
sichergestellt, dass aus verschiedenen Raumrichtungen verschiedene
Subpixel sichtbar sind (siehe Abb. 1.68).
Solche Displays erlauben eine stereoskopische Betrachtung ohne
Brille, da den beiden Augen jeweils das für ihre Position korrekte Bild
zugespielt wird. Auch bei mehreren Betrachtern erhält jeder Betrachter ein für seine Position korrektes Stereobildpaar.
Um mit dieser Technik eine Bildqualität zu erreichen, die mit den
zuvor beschriebenen stereoskopischen Techniken vergleichbar ist,
muss die Zahl der Subpixel pro Pixel in der Größenordnung von 100
liegen. Dies ist aber zurzeit technisch nicht realisierbar, da es zum
einen Probleme bereitet, die Subpixel entsprechend klein zu produzieren, und zum andern die zur Übertragung der Bildinformation notwendige Bandbreite nicht zur Verfügung steht. Außerdem müsste die
Renderleistung bereitgestellt werden, die notwendig ist, um das Bild
gleichzeitig für entsprechend viele Ansichten zu berechnen.
Bisher realisierte autostereoskopische Displays verwenden deshalb
eine sehr viel kleinere Anzahl an Subpixeln (z. B. sieben Subpixel pro
Pixel).
Ausführlichere Informationen zu autostereoskopischen Displays
finden sich z. B. in [PW97].
Abb. 1.68:
Autostereoskopische Displays:
Abhängig von der Blickrichtung sind
verschiedene Subpixel sichtbar
90
■
■
■
1 Computergrafik und Virtual Reality
1.3.2
Ein- und Ausgabegeräte
Der Realitätseindruck, der in VR-Umgebungen vermittelt wird, basiert
zu einem großen Teil auf den Sinneswahrnehmungen des Benutzers,
die durch die Ausgabegeräte des VR-Systems erzeugt werden. Aber
auch die Interaktionsmöglichkeiten mit der virtuellen Umgebung, die
mit Hilfe der Eingabegeräte erfolgen, leisten einen entscheidenden
Beitrag. Im Idealfall sollte die virtuelle Welt genau so auf Interaktionen
reagieren, wie der Benutzer dies aus der realen Welt kennt. Dann kann
ein maximaler Grad der Immersion erreicht werden.
1.3.2.1
Ausgabegeräte
Wie schon zu Beginn des Kapitels 1.3 erwähnt wurde, ist der visuelle
Eindruck für die Wahrnehmung des Benutzers von größter Bedeutung. Deshalb bilden stereoskopische visuelle Ausgabegeräte in der
Regel die Hauptbestandteile von VR-Systemen.
Herkömmliche Ausgabegeräte wie z. B. Monitore sind nicht in der
Lage, dem Betrachter den Eindruck zu vermitteln, er befände sich in
der virtuellen Welt. Deshalb wurden für VR-Anwendungen spezielle
Ausgabegeräte entwickelt, von denen hier die am weitesten verbreiteten kurz beschrieben werden. Ausführliche Beschreibungen einer
großen Anzahl an Ausgabegeräten finden sich z. B. in [SC03] oder
[BK05].
In frühen VR-Systemen kamen häufig Head Mounted Displays
(HMD) zum Einsatz. Diese wurden bereits in Kap. 1.3.1.3 beschrieben.
Zwischenzeitlich findet man in vielen VR-Systemen Ausgabegeräte,
die mit Hilfe von Projektoren eine großflächige Darstellung erreichen.
Halbtransparente Head Mounted Displays sind auch für den Einsatz
in Augmented-Reality-Anwendungen geeignet. Hier ist es möglich,
einer realen Szene zusätzliche virtuelle Informationen zu überlagern.
TM
Eine CAVE (Cave Automated Virtual Environment) ist ein kubischer Raum, der i.d.R. eine Kantenlänge von 2,5 bis 3 Meter besitzt. In
der vollen Ausbaustufe bestehen alle 6 Flächen des Raumes (4 Wände,
der Boden und die Decke) aus Projektionsflächen, die von außen mittels Rückprojektion mit einem Stereobildpaar versehen werden. Kleinere Ausbaustufen begnügen sich mit Projektionen auf 3, 4 oder 5 Flächen des Raumes.
Mit Hilfe eines Trackingsystems (siehe Kap. 1.3.2.2) wird die exakte
Position des Betrachters bestimmt, so dass die Bilder in der für die Position des Betrachters korrekten Perspektive erzeugt werden können.
1.3 Virtual Reality (VR) – Holodecks?
Head Mounted Displays
TM
CAVE
■
■
■
91
TM
ImmersaDesk
Power Wall
Haptische Ausgabegeräte
92
■
■
■
In einer CAVE lässt sich ein sehr hoher Grad der Immersion erreichen, da sich der Betrachter mitten in der Szene befindet und diese
in allen Blickrichtungen korrekt dargestellt wird.
Beim ImmersaDesk handelt es sich um eine Tischplatte, die um
45 Grad geneigt ist und mittels Rückprojektion von unten mit einem
stereoskopischen Bild versehen wird. Zur Stereobildtrennung wird das
Zeitmultiplex-Verfahren mit Shutterbrille verwendet. Das ImmersaDesk erlaubt eine bequeme Blickrichtung nach schräg unten.
Bei der Power Wall (auch Infinity Wall genannt) handelt es sich um
eine sehr große vertikale Projektionsfläche, die mittels Rückprojektion mit einem sehr hoch auflösenden stereoskopischen Bild versehen
wird. Dies wird erreicht, indem die Bilder einer größeren Anzahl an
Projektoren (z. B. 16 oder 32) so neben- und übereinander positioniert
werden, dass daraus ein großes Bild entsteht. Zur Stereobildtrennung
kann dabei eine beliebige Technik verwendet werden.
Die großflächigen Projektionsverfahren bieten gegenüber den Head
Mounted Displays für viele Anwendungen einige Vorteile, wie z. B.
eine geringere Beanspruchung der Augen, ein größeres Sichtfeld, das
bei den meisten HMDs sehr eingeschränkt ist, oder die Möglichkeit
der Kollaboration, da die Projektionen von mehreren Personen gleichzeitig betrachtet werden können.
Bei Interaktionen in der realen Welt kommt der Benutzer in der
Regel physikalisch mit den manipulierten Objekten in Berührung. Er
fühlt, dass ein Objekt wirklich da ist. Er ertastet die Beschaffenheit der
Oberflächen und fühlt z. B. die Kräfte, die er aufbringen muss, um ein
Objekt zu verschieben. Diese Wahrnehmungen liefern einen wesentlichen Beitrag zum Realitätsempfinden einer Umgebung.
Haptische Ausgabegeräte sprechen den Tastsinn des Benutzers an.
Dazu sind aufwendige Hardwarekonstruktionen und eine aufwendige
Software zur Steuerung notwendig.
Taktile haptische Ausgabegeräte sprechen den Tastsinn der Haut
an und sind häufig in Form von Handschuhen oder Anzügen realisiert, die gezielt an ausgewählten Stellen Druck auf die Haut des Benutzers ausüben können.
Andere Geräte, die dem Benutzer ein Kräfte-Feedback vermitteln,
bestehen häufig aus Roboterarmen, die der Benutzer bei der Interaktion bewegt. Diese Geräte melden dem VR-System Bewegungen des
Benutzers und können gleichzeitig Widerstandskräfte erzeugen. Kleine Roboterarme zwischen Fingergliedern und Hand können so z. B.
einen Widerstand beim Schließen der Hand erzeugen, wenn ein virtuelles Objekt gegriffen wird.
Der interessierte Leser findet eine ausführliche Beschreibung haptischer Ausgabegeräte z. B. in [SC03].
1 Computergrafik und Virtual Reality
1.3.2.2
Trackingsysteme
Bei vielen VR-Anwendungen ist es notwendig, in Echtzeit die genaue
Position und Orientierung verschiedener Objekte zu bestimmen. Zum
einen ist die korrekte perspektivische Darstellung der Szene von der
Beobachterposition abhängig, zum anderen müssen Interaktionsgeräte wie z. B. Datenhandschuh oder 3D-Maus erfasst werden. Ein präzises Trackingsystem mit kurzer Latenzzeit ist dabei für den Immersionseindruck von entscheidender Bedeutung [BK05]. Es existieren
verschiedene technische Umsetzungen von Trackingsystemen, die in
den folgenden Abschnitten kurz vorgestellt werden.
Optische Systeme benutzen mehrere fest installierte Kameras, um
die Position der Objekte zu bestimmen. Dazu wird jedes zu trackende
Objekt mit kugelförmigen Reflektoren in charakteristischen Anordnungen versehen, die von Infrarotsendern bestrahlt werden und das
Licht in die Kameras reflektieren. Aus den Kamerabildern lassen sich
dann Position und Orientierung der Objekte berechnen.
Die Genauigkeit optischer Systeme ist um ein Vielfaches höher als
die elektromagnetischer oder anderer Systeme. Allerdings sind optische Systeme auch wesentlich teurer. Die Installation ist oft schwierig,
da sich die zu trackenden Objekte innerhalb des Sichtfeldes der Kameras bewegen müssen und zumindest von einigen der Kameras erfasst
werden müssen. Bei der Verwendung einer größeren Anzahl von Kameras ist diese Anforderung leichter zu erfüllen.
Optische Trackingsysteme setzen sich in letzter Zeit in professionellen VR-Umgebungen immer mehr durch.
Elektromagnetische Trackingsysteme arbeiten mit einem Sender,
der ein Magnetfeld niederer Frequenz aussendet. Empfänger bestimmen ihre Position und Orientierung relativ zu diesem Magnetfeld.
Der Einsatz magnetischer Trackingsysteme ist in vielen Umgebungen problematisch, da elektrische Geräte und metallene Bauteile das
Magnetfeld stark stören können und die Messung dadurch verfälscht
wird. Kleinere konstante Störungen können durch Kalibrierung des
Systems ausgeglichen werden. Dazu werden die Eckpunkte eines dreidimensionalen Gitters als Referenzpunkte gemessen, zwischen die die
eigentlichen Messungen dann eingepasst werden.
Ultraschall-Tracker arbeiten mit mehreren fest installierten Ultraschallempfängern und entsprechenden Sendern, die an den zu trackenden Objekten angebracht werden. Mit Hilfe der Laufzeitunterschiede der Ultraschallsignale lassen sich so die Positionen der Sender
berechnen. Solche Trackingsysteme sind im Vergleich zu magnetischen oder optischen Systemen relativ preisgünstig. Ihre Genauigkeit
1.3 Virtual Reality (VR) – Holodecks?
Optisches Tracking
Elektromagnetisches Tracking
Ultraschall-Tracker
■
■
■
93
und Reichweite ist aber wesentlich schlechter, weshalb sie in professionellen VR-Systemen kaum zum Einsatz kommen.
1.3.2.3
Interaktions- und Eingabegeräte
Datenhandschuh
3D-Maus
Für intuitive Interaktionen mit Objekten in virtuellen Umgebungen
sind Eingabegeräte notwendig, die Bewegungen in allen 6 Freiheitsgraden des dreidimensionalen Raumes zulassen. Tastatur und Maus
sind dazu nicht geeignet. Aus diesem Grund wurden in den letzten
Jahren eine ganze Anzahl an Eingabegeräten für den VR-Bereich entwickelt [BK05]. Über die gängigsten Technologien wird im Folgenden
ein kurzer Überblick gegeben.
Ein weit verbreitetes VR-Interaktionsgerät ist der Datenhandschuh.
Dieser Handschuh erfasst die Bewegungen der Finger und der Hand
durch eingearbeitete Dehnmessstreifen oder Biegesensoren. Die Position und Orientierung der Hand im Raum wird mit Hilfe eines Trackingsystems erfasst.
Mittels eines Datenhandschuhs kann das Greifen und Manipulieren
virtueller Objekte realisiert werden. Bestimmte Gesten können auch
dazu verwendet werden, verschiedene Aktionen auszulösen.
Eine 3D-Maus ist ein Eingabegerät, das der Benutzer in der Hand
hält und frei im Raum bewegen kann. Mit Hilfe eines Trackingsystems
wird die Position und Orientierung im Raum bestimmt. Durch Betätigen eines oder mehrerer Schalter können verschiedene Aktionen ausgelöst werden. Eine 3D-Maus eignet sich sowohl zur Navigation in
virtuellen Welten als auch zum Greifen, Selektieren oder Positionieren
von Objekten.
Weitere Interaktionsgeräte sind z. B. in [BK05] oder [SC03] ausführlich beschrieben.
1.3.3
Ausblick
In den vorigen Abschnitten haben wir verschiedene Technologien
kennen gelernt, die in VR-Umgebungen eingesetzt werden können,
um beim Benutzer einen Eindruck der Immersion zu erzeugen.
Welcher Realitätseindruck lässt sich damit erreichen? Wie weit sind
wir noch von der Realisierung eines Holodecks wie in Star Treck entfernt, in dem alle menschliche Sinne gleichzeitig stimuliert werden?
Für die optische Wahrnehmung stehen inzwischen ausgereifte
Techniken zur Verfügung, die einen realistischen stereoskopischen
Rundumblick erlauben. Alle diese Techniken erzeugen jedoch ein
scharfes Bild in einer gewissen Projektionsentfernung, die nicht mit
94
■
■
■
1 Computergrafik und Virtual Reality
der Entfernung der virtuellen Objekte übereinstimmt. Der Benutzer
muss seine Augen deshalb auf die Projektionsentfernung fokussieren,
um ein scharfes Bild zu sehen. Dann erscheinen aber auch näher oder
entfernter gelegene Objekte scharf. Die natürliche Tiefenunschärfe
wird nicht korrekt wiedergegeben. Die Entwicklung von RetinalDisplays, die das Bild direkt auf die Netzhaut des Benutzers projizieren, verspricht hier Abhilfe.
3D-Audiosysteme in guter Qualität stehen heutzutage auch zur
Verfügung, so dass Geräusche realistisch wiedergegeben werden können. Die Kombination solcher Systeme mit Rundum-Displays bereitet
aber noch Probleme, da der Sound abgeschirmt wird, wenn die Lautsprecher hinter den Projektionsflächen angebracht werden, und umgekehrt die Darstellung verdeckt wird, wenn die Lautsprecher vor den
Projektionsflächen positioniert werden. Um dieses Problem zu lösen,
gibt es Anstrengungen, transparente Lautsprecher zu entwickeln.
Für haptische Ausgabegeräte existieren verschiedene Lösungen. Es
müssen aber noch Geräte entwickelt werden, die alle Aspekte des Tastens, wie das Erfassen der Oberflächenbeschaffenheit, Widerstandskräfte, Temperatur, Feuchtigkeit usw., gleichzeitig adressieren können.
Außerdem sind alle bisherigen haptischen Geräte mit aufwendigen
mechanischen Aufbauten und Verkabelungen verbunden, die den
Realitätseindruck stören.
Die Möglichkeiten, den Geruchssinn anzusprechen, befinden sich
noch in den ersten Anfängen, obwohl diese Sinneswahrnehmung für
die emotionale Erinnerung einen wichtigen Beitrag leistet. Erste Versuche wurden unternommen, wenige vorgegebene Gerüche in die
Umgebung zu leiten. Man ist aber noch weit davon entfernt, die Geruchswahrnehmung verstanden zu haben. So ist es z. B. nicht bekannt,
ob es ein Menge an Grundgerüchen gibt, aus denen sich beliebige Gerüche kombinieren lassen, so wie dies bei der Farbwahrnehmung der
Fall ist. Falls dies nicht möglich ist, was sind dann die Alternativen?
Ein weiterer Aspekt, der mindestens so wichtig ist wie die korrekte
Stimulation der Sinne, sind korrekte Bewegungen der virtuellen Objekte. Diese Bewegungen müssen den Gesetzen der Physik genügen,
die jeder aus der realen Welt kennt. Oft ist es dabei nicht vermeidbar,
die Bewegungen in aufwendigen Simulationen physikalisch korrekt zu
berechnen. Bei Echtzeitanwendungen reicht dafür aber häufig die
heutige zur Verfügung stehende Rechenleistung nicht aus.
Bei Animationsfilmen können Bewegungen unter Einsatz längerer
Rechenzeiten im Voraus berechnet werden. Oder die Bewegungen
werden mit Hilfe von Motion-Capturing-Systemen an realen Objekten
aufgenommen und auf die virtuellen Objekte übertragen.
Des Weiteren müssen für einen vollständigen Realitätseindruck Interaktionen mit der virtuellen Welt möglich sein, wie sie der Benutzer
1.3 Virtual Reality (VR) – Holodecks?
■
■
■
95
aus der Realität kennt. Dazu bedarf es weiterer Entwicklungsarbeit an
den Eingabegeräten.
Auch die räumliche Beschränktheit der VR-Aufbauten stellt ein
noch ungelöstes Problem dar. Der Benutzer muss in die Lage versetzt
werden, einfach durch eine virtuelle Umgebung zu gehen, anstatt auf
der Stelle zu stehen und die Umgebung mit einer 3D-Maus zu bewegen. Auch in diesem Punkt gibt es laufende Forschungsanstrengungen. So wird u. A. mit Laufbändern experimentiert, auf denen sich der
Benutzer frei bewegen kann, die ihn aber trotzdem an seiner ursprünglichen Position halten.
Bis zur Realisierung eines echten Holodecks wird wohl noch einige
Zeit vergehen. Die Forschungsanstrengungen resultieren jedoch immer wieder in Ergebnissen, die uns zu diesem Ziel führen werden.
Literatur
[Bau75] B. G. Baumgart: A polyhedron representation for computer vision. In
Nat. Comp. Conf. 44, pages 589–596. AFIPS, 1975.
[BB06] M. Bender, M. Brill: Computergrafik. Ein anwendungsorientiertes
Lehrbuch. 2. Auflage. Hanser Verlag, 2006.
[Be99] P. Bekaert: Hierarchical and Stochastic Algorithms for Radiosity.
Dissertation, Katholische Universität Leuven, Belgien, 1999.
[BG62] N.P. Buslenko et al.: The Monte Carlo Method – The Method of Statistical Trials. Pergamon Press, 1962.
[BK05] D.A. Bowman, E. Kruijff, J.J. LaViola und J.I. Poupyrev: 3D User
Interfaces, Theory and Practice. Addison-Wesley, 2005.
[Br00] I.N. Bronstein, K. A. Semendjajew, G. Musiol, H. Mühlig: Taschenbuch der Mathematik. Harri Deutsch, Thun/Frankfurt, 5., überarb. u.
erw. Aufl., 2000.
[Ca93] M.P. do Carmo: Differentialgeometrie von Kurven und Flächen.
Vieweg, 1993.
[CC88] M. Cohen, S.E. Chen, J.R. Wallace und D.P. Greenberg: „A Progressive Refinement Approach to Fast Radiosity Image Generation“.
Computer Graphics Proceedings, ACM SIGGRAPH, August 1988.
[Co84] R.L. Cook: Shade Trees. Computer Graphics Proceedings, ACM
SIGGRAPH, Juli 1984.
[CG85] M. Cohen und D.O. Greenberg: „The Hemi-Cube: A Radiosity Solution for Complex Environments“. Computer Graphics Proceedings,
ACM SIGGRAPH, August 1985.
[ES97] J. Encarnação, W. Straßer, R. Klein: Graphische Datenverarbeitung.
Band II, Oldenbourg Verlag, 1997.
[Fa02] A. Farin: Curves and Surfaces for CAGD – A Practical Guide. 5. Auflage, Academic Press, 2002.
96
■
■
■
1 Computergrafik und Virtual Reality
[FD96] J.D. Foley et al.: Computer Graphics: Principles and Practice. Second
Edition. Addison-Wesley, 1996.
[FY94] D.A. Forsyth, C. Yang und K. Teo: „Efficient Radiosity in Dynamic
Environments“. Fifth Eurographics Workshop on Rendering, Juni
1994.
[GC94] S.J. Gortler, M.F. Cohen und P. Slusallek: „Radiosity and Relaxation
Methods“. IEEE Computer Graphics and Applications, November
1994.
[GS90] D.W. George, F.X. Sillion und D.P. Greenberg: „Radiosity Redistribution for Dynamic Environments“. IEEE Computer Graphics and Applications, Juli 1990.
[Gl95] A.S. Glassner: Principles of Digital Image Synthesis. Morgan Kaufmann, 1995.
[Go71] H. Gouraud: Continuous Shading of Curved Surfaces. IEEE Transactions on Computers, Juni 1971.
[GS93] S.J. Gortler, P. Schroder, M-F. Cohen und P. Hanrahan: „Wavelet
Radiosity“. Computer Graphics Proceedings, ACM SIGGRAPH, 1993.
[Ha00] J. Hahn: Simulation und Photorealismus. Dissertation, Universität
Tübingen, 2000.
[HS91] P. Hanrahan, D. Salzman und L. Auperle: „A Rapid Hierarchical
Radiosity Algorithm“. Computer Graphics Proceedings, ACM SIGGRAPH, Juli 1991.
[HH64] J.M. Hammersley and D.C. Handscomb: The Monte Carlo Method.
Cambridge University Press, 1964.
[HL89] J. Hoschek, D. Lasser: Grundlagen der geometrischen Datenverarbeitung, Teubner, 1989.
[HS93] P. Haeberli und M. Segal: Texture Mapping as a Fundamental Drawing Primitive. Fourth Eurographics Workshop on Rendering, Eurographics, Juni 1993.
[Je01] H.W. Jensen: Realistic Image Synthesis Using Photon Mapping.
AK Peters, 2001.
[Je77] A.J. Jerri: “The Shannon Sampling Theorem – Its Various Extensions
and Applications: A Tutorial Review”. Proceedings of the IEEE, November 1977.
[JM01] H.W. Jensen et al.: „ A Practical Model for Subsurface Light Transport”. Proceedings of Siggraph, 2001.
[Jo02] H. Jorke: Infitec – Wellenlängenmultiplex Visualisierungssysteme.
Infitec GmbH Ulm, 2002.
[Ka86] J.T. Kajiya: „The Rendering Equation“. Computer Graphics ´86 Proceedings, vol. 20, pp. 143−150. ACM SIGGRAPH, August 1986.
[KT01] T. Kaneko et al.: „Detailed Shape Representation with Parallax Mapping“ Proceedings of ICAT, Dezember 2001.
[LF99] S. K. Lodha, R. Franke: Scattered Data Techniques for Surfaces, in
Proceedings of Dagstuhl Conference on Scientific Visualization,
Literatur
■
■
■
97
[Mä88]
[MH84]
[Mo97]
[MS94]
[NB94]
[PW97]
[SC03]
[SG93]
[SH93]
[Si94]
[SK96]
[SP96]
[St74]
[SW04]
[Wa02]
[We00]
[We05]
[WE89]
[Wi83]
98
■
■
■
(eds.) H. Hagen, G. Nielson and F. Post, IEEE Computer Society
Press, 1999, pages 182−222.
Martti Mäntylä: An introduction to solid modeling. Computer Science
Press, College Park, MD, 1988.
G.S. Miller und C.R. Hoffman: “Illumination and Reflection Maps:
Simulated Objects in Simulated and Real Environments”, Course
Notes for Advances Computer Graphics Animation, SIGGRAPH 1984.
M.E. Mortensen: Geometric Modelling, Wiley, 1997.
S. Müller und F. Schöffel: „Fast Radiosity Repropagation for Interactive Virtual Environments Using a Shadow-Form-Factor-List“. Fifth
Eurographics Workshop on Rendering, Juni 1994.
X. Ni, S. Bloor: Performance of Boundary Datastructures, IEEE Computer & Graphics, November 1994.
S. Pastoor und M. Wopking: 3-D Displays: A Review of Current
Technologies. Displays vol. 17, 1997.
W.R. Sherman und A.B. Craig: Understanding Virtual Reality, Interface, Application and Design, Morgan Kaufmann, 2003.
P. Schroder, S.J. Gortler, M.F. Cohen und P. Hanrahan: „Wavelet
Projections for Radiosity”. Fourth Eurographics Workshop on Rendering, Eurographics, Juni 1993.
P. Schroder und P. Hanrahan: „On the Form Factor Between Two
Polygons“. Computer Graphics Proceedings, ACM SIGGRAPH, 1993.
F. Sillion: ”Clustering and Volume Scattering for Hierarchical Radiosity Calculations”. Fifth Eurographics Workshop on Rendering, Eurographics, Juni 1994.
A. Schilling, G. Knittel und W. Strasser: Texram: “A Smart Memory
for Texturing”. IEEE Computer Graphics and Applications 16(3),
1996.
M. Sbert, X. Pueyo, L. Neumann und W. Purgathofer: „Global Multipath Monte Carlo Algorithms for Radiosity“. The Visual Computer,
vol. 12, 1996.
W. Strasser: Schnelle Kurven- und Flächendarstellung auf graphischen Sichtgeräten. Dissertation, TU Berlin, 1974.
D. Shreiner, M. Woo, J. Neider und T. Davis: OpenGL Programming
Guide. Fourth Edition, Addison-Wesley, 2004.
A. Watt: 3D-Computergrafik. 3. Auflage, Addison-Wesley, 2002.
J. Weidmann: Lineare Operatoren in Hilberträumen, Teil I. Teubner
Verlag, 2000.
D. Werner: Funktionalanalysis, 4. Auflage, Springer-Verlag, 2005.
J.R. Wallace, K.A. Elmquist und E.A. Haines: “A Ray Tracing Algorithm for Progressive Radiosity”. Computer Graphics Proceedings,
ACM SIGGRAPH, Juli 1989.
L. Williams: Pyramidal Parametrics. Computer Graphics, vol. 17,
1983.
1 Computergrafik und Virtual Reality
2 Einsatz von Markup-Languages
Martin Goik, Marko Hedler, Jörg Westbomke
2.1
Einleitung
Wir beginnen dieses Kapitel mit der Frage, was ist XML? Die einfache
Antwort lautet: XML ist eine Spezifikation des W3-Konsortiums [7].
Die Spezifikation enthält u. A. die formale Syntaxdefinition sowohl für
XML-Dokumentinstanzen als auch die Syntax der Beschreibungssprache, in welcher eine Document Type Definition (DTD) verfasst ist.
Gemäß dieser Spezifikation kann man XML-Dokumente erstellen
und auf Wohlgeformtheit sowie ggf. Validierbarkeit prüfen (s. auch
Kap. 2.2). Aus Sicht sowohl eines Anwendungsentwicklers als auch
z. B. eines Dokumentautors handelt es sich dabei um reine Basistechnologien, welche die gewachsene Bedeutung nicht erklären können.
Was bedingt also die Attraktivität von XML?
Die Antwort liegt zumindest teilweise in der Vielzahl fertiger Applikationen und Schnittstellen auf unterschiedlichen Ebenen, welche
zum Standard selbst als Basistechnologien verwendet werden können.
Auf unterster Ebene werden einem Anwendungsentwickler grundlegende Zugriffstechnologien wie z. B. Parser und XML-fähige Datenbanken geboten. Für bestimmte Standards, etwa das Scalable Vector
Graphics Format (SVG) [10], werden fertige Komponenten und Applikationen zur Verfügung gestellt, welche als Bausteine eigener Applikationen verwendet werden können.
Gestiegen ist auch die Bedeutung als Austauschformat. Die enge
Verzahnung der Produktionsprozesse von Wirtschaftsunternehmen
bedingt eine Kommunikation der beteiligten Systeme etwa bei Bestellvorgängen. Dies wird dadurch kompliziert, dass die verwendeten
Branchenlösungen in der Regel inkompatibel sind in Bezug auf beispielsweise das verwendete Datenmodell. Es werden daher Austauschformate benötigt, welche den kleinsten gemeinsamen Nenner darstellen, auf welchen sich die beteiligten Firmen einigen können. Auch hier
spielt XML eine Rolle, da zumindest ein Teil der für den Austausch
2.1 Einleitung
Was ist XML?
Verwendung von XML
■
■
■
99
benötigten Integritätsbedingungen bereits in einer DTD oder einer
XML-Schema-Definition deklarativ erfassbar ist.
Ein etwas anderer Gesichtspunkt stellt die Verwendung von XML
als Mittel zur Datenhaltung von Dokumenten dar. Obwohl sich viele
Aussagen der letzten Jahre hinsichtlich einer Totalablösung proprietärer Office-Formate oder auch von DTP-Systemen nicht erfüllt haben,
gibt es auch hier eine Entwicklung in Richtung XML. Dies ist insofern
verständlich, als Dokumente einen hierarchischen Aufbau besitzen,
wenn wir von Internverweisen einmal absehen. Wir können hier zwei
grundlegend verschiedene Arten der Verwendung von XML im Dokumentkontext unterscheiden:
• Eine Anwendung verwendet XML lediglich als Ersatz für ein bisher
verwendetes Internformat. Das Format selbst ist zwar im Gegensatz
zu einem Binärformat prinzipiell im Klartext lesbar, die formalen
Regeln seines Aufbaus sind aber in der Anwendung selbst implementiert.
• Die Strukturierungsmöglichkeiten werden durch eine DTD festgelegt. Der Anwender verwendet zum Bearbeiten des Dokuments eine
prinzipiell austauschbare Software, welche die DTD liest und eine
Bearbeitung des Dokuments innerhalb der dort definierten Grenzen ermöglicht.
Ein wesentlicher Vorteil letzterer Lösung besteht in der Unabhängigkeit der Dokumentverarbeitung von einem bestimmten Anbieter.
Dies gilt insbesondere auch in Hinsicht der zeitlichen Entwicklung
von Software: Auch nach großen zeitlichen Abständen kann das Dokument prinzipiell als XML-Dokument mit gegebener DTD verändert
werden, sofern man unterstellt, dass auch modernere Editoren noch
DTDs lesen können.
2.2
Voraussetzungen
Im Folgenden geben wir eine kurze Übersicht von als bekannt angenommenen Technologien im XML- und Java-Umfeld.
XML selbst ist ein beim W3-Konsortium (W3C) spezifizierter Standard. Zu diesem Standard konforme Dokumente können wohlgeformt
oder validierbar sein. Letzteres bedeutet, dass die Grammatik eines
XML-Dokuments in einer Document Type Definition (DTD) festgelegt ist. Ein Parser kann dann prüfen, ob eine Dokumentinstanz konform zu einer gegebenen DTD ist.
100
■
■
■
2 Einsatz von Markup-Languages
Viele Applikationen unterstützen eine einfache Visualisierung von
XML-Dokumenten über Cascading Stylesheets (CSS) [13], ein Standard aus dem Bereich der Online-Publikationen.
Für aufwendigere Transformationen von XML-Dokumenten in andere XML- oder Textformate (also Sichten auf ein XML-Dokument)
kann die Sprache XSLT [8] verwendet werden.
Sollen druckbare Versionen eines XML-Dokuments erstellt werden,
bieten sich verschiedene Formatierer an. Diesen gemeinsam ist die
Tatsache, dass sie jeweils eine Stilvorlage (= Stylesheet) benötigen, in
welcher die für die einzelnen Elemente und Hierarchiebedingungen
gültigen Regeln erfasst sind. Zwei herstellerneutrale Standards in diesem Umfeld sind:
XSL-FO und DSSL
• XSL-FO [9]: Eine im XML-Standard definierte Stylesheet-Sprache.
• DSSL (sprich Dissel): Ein älterer Sprachstandard zur Formatierung
von XML-Dokumenten.
Beide Standards benötigen eine Software, welche eine entsprechende Formatvorlage lesen und damit ein gegebenes XML-Dokument
verarbeiten kann. Das Apache-Konsortium bietet beispielsweise eine
einfache Implementierung des Formatting Object Processors (FOP)
[14]. Für typografisch höherwertige Ansprüche werden allerdings
kommerzielle Lösungen benötigt.
Um Software-Applikationen schreiben zu können, welche auf XMLDokumenten operieren, werden Programmierschnittstellen benötigt.
Für die nachfolgenden Kapitel beziehen wir uns auf das herstellerund programmiersprachenneutrale Document Object Model (DOM)
[11]. Für dieses gibt es sprachspezifische Language Bindings und für
eine gewählte Zielsprache (z. B. Java oder Perl) wiederum Implementierungen, wie z. B. Xerces [12] vom Apache-Konsortium.
Das Document Object Model (DOM)
2.3
Publishing
Dass sich das Informationsverhalten der Menschen in den letzten
zehn Jahren sehr stark verändert hat, ist unumstritten. Vor allem mit
der Erfindung des Internets steht bei Informationsdienstleistern anstelle der herkömmlichen Produkte wie z. B. Bücher oder Zeitschriften
immer mehr die Werthaltigkeit von Inhalten im Vordergrund. Darüber hinaus weist das menschliche Nutzungsverhalten bei der Verwendung neuer Medien den Trend auf, immer speziellere und damit
auch kleinere Einheiten von Informationen abzufragen. Medien wie
das Internet und Datenbanken bieten deshalb vor allem für Informationsdienstleister die Möglichkeit, einmal gespeicherte und struktu-
2.3 Publishing
Cross-Media-Publishing
■
■
■
101
rierte Informationen gleichzeitig in verschiedener medialer Form zu
publizieren, um damit ihren Kunden Zusatznutzen wie etwa Suchfunktionen oder vernetzte Inhalte anbieten zu können. Diese Mehrfachverwendung von Daten (Cross-Media-Publishing) setzt also ein
Datenformat voraus, das es ermöglicht, unabhängig vom Ausgabemedium Inhalte und Strukturen von Informationen zu speichern [3]. Die
eXtensible Markup Language XML bietet diese Möglichkeit.
In diesem Abschnitt werden vier typische Einsatzgebiete von XML
im Electronic Publishing vorgestellt. Am Beispiel eines zu publizierenden Fachartikels wird auf die Besonderheiten beim Umgang mit
XML vorwiegend im textzentrierten Umfeld des Electronic Publishing
eingegangen [1].
Bevor das eigentliche Publishing mit medienneutralen Daten erfolgen kann, muss die Struktur des Dokumenttyps bekannt sein und
formalisiert werden. Die Dokumentanalyse, in der diese Strukturen
erarbeitet werden, wird in Kap. 2.3.1 vorgestellt. Als weitere Herausforderung für Informationsdienstleister und -hersteller stellt ist möglichst effiziente Überführung von Autorendaten nach XML anzusehen.
Kap. 2.3.2 beschreibt eine Vorgehensweise zur Konvertierung von
Word-Daten nach XML. Ausgewählte Beispiele beim Einsatz der
Transformationssprache XSLT speziell im Electronic Publishing zeigt
der Kap. 2.3.3. Um ein gedrucktes Werk zu erzeugen, kann man sich
der Sprache XSL-FO bedienen, deren Einsatzbereich in Kap. 2.3.4
vorgestellt wird
2.3.1
Dokumente und ihre Struktur
Was sind Dokumente?
„Unter Dokumenten im allgemeinsten Sinne verstehen wir Bündel
von Informationen, die in der Absicht erzeugt worden sind, dass sie
von Menschen wahrgenommen werden“ [4]. Beispiele für Dokumente
sind Tonbeiträge, Filme, Bilder und auch Textdokumente, die sowohl
1
in analoger als auch in digitaler Form vorliegen können .
Ein Textdokument besteht in erster Linie aus Inhalt – bei Textdokumenten also aus dem eigentlichen Text. Damit der Dokumentinhalt vom
Betrachter wahrgenommen werden kann, bedarf es der Visualisierung
des Dokumentes, z. B. auf dem Bildschirm oder auf Papier. Diese Form
der Darstellung bezeichnet man als layoutierte Darstellung oder Formatierung eines Dokumentes. Anders als das Layout bezieht sich die Struktur eines Dokumentes auf die vom Autor beabsichtigte Bedeutung der
einzelnen Informationsstücke. So besteht z. B. ein Buch aus der logi1
102
■
■
■
Im Folgenden beschränken wir uns nur auf Textdokumente, die digital vorliegen.
2 Einsatz von Markup-Languages
schen Struktur von Kapiteln, Unterkapiteln, Absätzen usw. Diese logische Struktur wird grafisch z. B. durch Überschriften in verschiedenen
typografischen Auszeichnungen (also durch das Layout) dargestellt [4].
Durch die Trennung des Layouts von Inhalt und Struktur ist es
möglich, Dokumente unabhängig vom Zielmedium zu archivieren
und bei Bedarf für das jeweilige Zielmedium zu publizieren. Im besten
Fall können aus einem solchen „medienneutralen“ Dokument, unter
Hinzunahme entsprechender Layoutbeschreibungen, mehrere Zielmedien gleichzeitig bedient werden. XML kann bei entsprechender
Anwendung eine solche Trennung leisten.
Im großen Anwendungsbereich von Textdokumenten unterscheidet man grundsätzlich zwei Typen [1]:
Dokumenttypen
• Datenzentrierte Dokumente
• Textzentrierte Dokumente
Den Typ der datenzentrierten Dokumente findet man häufig im
Bereich des Datentransports, also bei Datenbanken und Protokollen.
Typischerweise bestehen solche Dokumente aus einer fein-granularen
Struktur, deren Elemente hochgetypt sind. Die Ordnung der Elemente
spielt hier eine untergeordnete Rolle, da oft Eigenschafts-Wert-Paare
abgebildet werden.
2
Anders verhält es sich bei textzentrierten Dokumenten . Sie besitzen oft eine grobgranulare Struktur, deren Hauptbestandteil aus reinem Text kombiniert mit Auszeichnungen besteht. Da solche Dokumente vorwiegend von Menschen entwickelt und für die menschliche
Verwendung gedacht sind, ist die Anordnung der Elemente in diesen
3
narrativen Strukturen entscheidend.
Bevor ein Dokument strukturiert erstellt und publiziert werden
kann, bedarf es eines Prozesses zur Entwicklung einer Strukturbeschreibung von Dokumenten. Ziel eines solchen Prozesses ist die
Formalisierung von Strukturregeln in Form einer DTD oder eines
4
XML-Schemas . Eine ausführliche Beschreibung eines solchen Entwicklungsprozesses liefern Maler und Andalussi ausführlich in [2].
Beim elektronischen Publizieren von wissenschaftlichen Werken,
wie z. B. Artikel von Fachzeitschriften, hat man es sehr oft mit Mischformen von daten- und textzentrierten Bestandteilen in XML-Dokumenten zu tun. Abbildung 2.1 zeigt die schematische Aufteilung eines
solchen Dokumentes.
2
3
4
Oft auch dokumentzentriert genannt.
Narrative Strukturen: Strukturen, die durch eine zeitlich oder kausal bedingte
Reihenfolge angeordnet sind.
Aus Verständnisgründen verwenden wir die DTD als Sprache für Strukturregeln.
2.3 Publishing
■
■
■
103
Abb. 2.1:.
Typische Struktur eines Fachartikels
Der narrative Textteil (Fließtext) besteht weitgehend aus semistrukturierten, grobgranularen und oft ungetypten Strukturen. Den
Inhaltstyp für die Beschreibung solcher Bestandteile bezeichnet man
als Strukturtyp [2]. Strukturtypen werden nicht nach dem textuellen
Inhalt des Elementes benannt, sondern vielmehr nach der übergeordneten logischen Struktur.
Beispiele für Strukturtypen sind:
•
•
•
•
•
•
Absatz
Liste und Eintrag
Kapitel und Abschnitt
Tabelle
Abbildung
Überschrift
Vor allem die Strukturtypen von Absätzen und Listeneinträgen
weisen ein besonderes Inhaltsmodell auf. Neben dem „reinen“ Text
enthalten sie häufig Elemente zur Auszeichnung auf Textebene. Die
sog. Präsentationstypen sind Inhaltstypen die sich häufig auf typografische Hervorhebungen für das Print- oder Online-Medium beziehen,
wie z. B. eine Fett- oder Kursivstellung. Oft bleibt die Semantik hinter
einer solchen typografischen Hervorhebung verborgen, was zur Folge
hat, dass nur die reine Präsentationsauszeichnung zur Modellierung
5
herangezogen werden kann . Beispiele für Präsentationstypen sind:
• Fett
• Kursiv
5
104
■
■
■
Hier wird ein Bruch der Trennung zwischen Inhalt, Struktur und Layout
deutlich. Präsentationsauszeichnungen sind mediengebunden, wie z.B. Fett
für Online- und Printmedien. Für andere Medien (z.B. Datenbanken) hat
eine solche Auszeichnung nur wenig „Bedeutung“.
2 Einsatz von Markup-Languages
• Kapitälchen
• Unterstreichung
Neben dem oben beschriebenen narrativen Teil beinhaltet ein
Fachartikel häufig zusätzliche Daten über das Dokument selbst, sogenannte Metadaten. Metadaten können vor allem Informationen zur
Identifikation und Kategorisierung von textzentrierten Dokumenten
enthalten. Im Gegensatz zu den im Fließtext verwendeten Strukturtypen, wie z. B. Absätze oder Überschriften, werden für Metadaten im
Allgemeinen inhaltsbasierte Typen verwendet. Man versteht darunter
Elemente, deren Name auf den eigentlichen Inhalt des Elementes
schließen lässt. Inhaltsbasierte Typen modellieren sehr genau Dinge
aus der realen Welt und werden deshalb auch als semantisch reichhaltig bezeichnet. Beispiele für inhaltsbasierte Typen sind:
•
•
•
•
Name und Vorname des Autors
Institutsangaben
Datum des Reviews
Keywords
Ein Bereich, der zwar zweifellos zum „lesbaren“ Inhalt eines Artikels
zählt, der aber dennoch semantisch hochgradig ausdifferenziert ist, ist
bei wissenschaftlichen Publikationen der Block der Referenzen. Die
feingranulare Struktur von Referenzen ist vor allem bei der OnlineAnwendung von Dokumenten relevant. So kann eine Referenz einen
Link zu einem referenzierten Artikel oder Buch repräsentieren. Auch
Informationen darüber, „wer zitiert wen“ oder „welcher Autor wird am
häufigsten zitiert“, lassen sich anhand von Datenbankanwendungen
realisieren, wenn die nötigen Inhalte entsprechend modelliert sind [5].
2.3.2
Modellierung
Nach der Analyse der Dokumentstruktur lassen sich nun die erarbeiteten Informationseinheiten mit XML-Mitteln modellieren. Modellierungstechnisch interessant ist dabei die Umsetzung der Präsentationstypen; in dem hier vorgestellten Beispiel also die typografischen
Auszeichnungen. Der zentrale Container für Textdaten stellt das Element eines Absatzes dar, hier als Para modelliert.
<!ELEMENT Para (...)>
Das Inhaltsmodell von Para umfasst neben dem reinen Text
(#PCDATA) die erwähnten typografischen Auszeichnungen. Das sogenannte „mixed content model“ kann sowohl Text (#PCDATA) als auch
Kindelemente gemischt beinhalten. Reihenfolge und Häufigkeit der
Inhalte sind nicht festgelegt und spiegeln daher genau die Verwendung
2.3 Publishing
Das Mixed-Content-Model
■
■
■
105
in textzentrierten Dokumenten wider. Zusätzlich zum Element Para
können Auszeichnungen auch noch in anderen Strukturtypen wie z. B.
Überschriften vorkommen. Es bietet sich deshalb an, die Auszeichnungen wiederverwendbar als Parameter-Entity zu deklarieren.
<!ENTITY % TextModell "#PCDATA | Hochstellung |
Tiefstellung | Auszeichnung">
Neben den reinen typografischen Auszeichnungen treten auf Textebene häufig weitere Elemente wie z. B. Referenzen, Fußnoten oder
Formeln auf. Das vorhandene Parameter-Entity Textmodell kann
nun wiederverwendet und um weitere Elemente ergänzt werden.
<!ENTITY % ErwTextModell "%TextModell; | Referenz
| Fussnote | Formel">
Beide Inhaltsmodelle können nun den entsprechenden Strukturtypen zugeordnet werden. Für Para gilt das erweitere Textmodell, für
Überschriften das einfache Textmodell. Dies führt dann zu folgenden
Elementdeklarationen:
<!ELEMENT Para (%ErwTextModell;)*>
<!ELEMENT Heading (%TextModell;)*>
Gerade das „mixed content model“ ist aufgrund des hohen Grades
der Wiederverwendbarkeit prädestiniert für eine Strukturierung mit
Parameter-Entities.
Die Strukturen von Präsentationstypen finden sich in beinahe jeder
Klasse von Dokumenten wieder, in der nicht explizit semantische Ausdifferenzierung gefordert bzw. möglich ist. Eine daraus folgende Ent6
wicklung sind Standards wie z. B. DocBook von OASIS , der eine Abbildung immer wiederkehrender Strukturen aus dem Bereich der
technischen Dokumentation beinhaltet und eine viel genutzte Dokumentklasse für die Produktion von Büchern, Artikeln und Dokumenta7
tionen bereitstellt . Ein großer Vorteil dieser offenen Standards bieten
bereits entwickelte Tools, die das Arbeiten z. B. mit DocBook aus technischer Sicht unterstützen. Neben Anpassungen verschiedener XMLEditoren für DocBook stellt OASIS für die automatisierte Generierung
von PDF kostenlos ein XSL-FO Stylesheet zur Verfügung.
2.3.3
Datenherkunft
Wenn es um die Produktion von Zeitschriften oder Buchreihen auf
Basis von XML geht, stellt sich immer die Frage nach der Datenher6
7
106
■
■
■
Organization for the Advancement of Structured Information Standards
Weitere Standards im Bereich technische Dokumentation sind TEI und
DITA; für den Bereich der wissenschaftlichen Publikationen A++ von
Springer.
2 Einsatz von Markup-Languages
kunft. Vor allem im Bereich der wissenschaftlichen Publikationen ist
Microsoft Word® das meistgenutzte Autorenwerkzeug. Diese Tatsache liegt in der klassischen Rollenverteilung bei der Verlagsherstellung begründet. Der Autor, der am Beginn dieser Produktionskette
steht und Urheber der Inhalte ist, hat mit Word ein Werkzeug an der
Hand, welches ohne zusätzlichen Aufwand eine WYSIWYG-Umgebung bietet, um einen druckbaren Artikel zu erzeugen.
Wie bereits in Abschnitt 2.3.1 erwähnt, sind die Anforderungen an
das Ausgangsdokument bezüglich der Struktur sehr hoch. Vor allem
Metadaten und fein ausdifferenzierte Dokumentbestandteile stellen oft
ein Problem bei der Datenübernahme dar, die zusätzlich durch eingebettete Grafiken und die fehlende Strukturkontrolle erschwert wird.
Die Konvertierung von Daten zum Beispiel aus Word nach den Regeln eines spezifischen Dokumenttyps ist oft eine ungeliebte Notwendigkeit. Das Ziel einer solchen Konvertierung ist die verlässliche Überführung aller Informationen und Strukturen in das Zielformat. Die
Qualität der Quelldaten und die in einer DTD festgeschriebene Struktur der Zieldaten beeinflussen gleichermaßen den Aufwand für die
Konvertierung.
Voraussetzung für eine reibungslose Produktion ist ein formal und
technisch einwandfreies Manuskript. Um dies zu gewährleisten, stellen viele Verlage Autorenhinweise und Word-Dokumentvorlagen zur
Verfügung. Hält sich ein Autor an die Satzanweisungen der Autorenhinweise, so steht einer automatischen Verarbeitung der Daten nichts
im Wege. Eine Konvertierung muss folgende Funktionen abdecken:
Datenkonvertierung
• Umsetzung von Absatzformaten
• Umsetzung von Zeichenformaten wie fett, kursiv, hoch-/tiefgestellt,
unterstrichen
• Umsetzung von Fußnoten und Verzeichniseinträgen
• Umsetzung von Tabellen in ein XML-Tabellenmodell (z. B. CALS)
• Umsetzung von Sonderzeichen
• Export von eingebetteten Grafiken
In der Anwendung von Fachartikeln stellen zusätzlich die feingranularen Bereiche des Metadatenblocks und der Referenzen große Anforderungen an eine automatische Konvertierung. Für solche „kleinen“
Informationseinheiten stellt Word keinerlei semantische Auszeichnungsmöglichkeiten zur Verfügung.
Eine Möglichkeit besteht darin, Trennzeichen wie Komma oder
Doppelpunkt dazu zu benutzen, die fehlende Struktur innerhalb eines
Referenzeintrags mit Hilfe eines Word-Makros per Suchen und Ersetzen einzuarbeiten.
2.3 Publishing
■
■
■
107
Diese Technik bedingt jedoch die korrekte Umsetzung der Autorenhinweise. Da die Fehlerquelle einer solchen Vorkonvertierung sehr
hoch ist, kann sie oftmals nur interaktiv eingesetzt werden.
Entscheidend für einen reibungslosen Prozess bei der Datenübernahme ist die genaue Vorbereitung der Erfassung. Eine wichtige Anforderung die bereits bei der Erfassung berücksichtigt werden sollte,
besteht also darin, den Autoren in ihrer bekannten Systemumgebung
eine Möglichkeit zu schaffen, strukturierte Dokumente zu erzeugen.
Die naheliegendste Lösung wäre es, den Autoren eine WordDokumentvorlage (.dot) zur Verfügung zu stellen, die alle zu verwendenden Formatvorlagen enthält. Allerdings würde bei dieser Lösung
nichts den Benutzer abhalten, anstelle einer Überschrift1 einen
optisch identischen Absatz mit der Schriftgröße 20 pt und fett zu formatieren. Mit VBA-Programmierung lässt sich jedoch dieser Ansatz
um Prüfmechanismen erweitern und auch nicht gewünschte WordFunktionen ausschalten. Das so entstandene Autorenwerkzeug innerhalb von Word mit individuell angepasster Oberfläche und Symbolleisten würde die Fehlerquelle von nicht vordefinierten Strukturen
enorm minimieren.
Die eigentliche Überführung des Word-Dateiformates nach XML
kann ab der Version 2003 Word selbst erledigen. Praktische Tipps
dazu gibt Montero Pineda in [15]. Zudem kann die Konvertierung
auch von verschiedenen Software-Tools durchgeführt werden. Beispiele dafür sind:
•
•
•
•
Infinity loop: UpCast
Logictran: R2Net
MediaTEXT: XML Word-Konverter
SCHEMA: MarkupKit
All diesen Tools ist jedoch eine Eigenschaft gemein: Die Konvertierung von Word nach XML erfolgt oft in eine herstellerspezifische
Struktur mit dazugehöriger DTD. Ein weiterer Schritt, nämlich die
Transformation in die erforderliche Zielstruktur, ist also notwendig.
2.3.4
Verarbeitung
Wurden einmal XML-Strukturen erzeugt, so liegen diese in einem
standardisierten Dateiformat vor. Der große Vorteil des Einsatzes von
XML beim elektronischen Publizieren ist neben den Eigenschaften des
Formates selbst, wie Herstellerunabhängigkeit, Plattformunabhängigkeit usw., auch das große Angebot an kommerziellen und freien Softwaretools und Sprachen zur Weiterverarbeitung von XML-Doku-
108
■
■
■
2 Einsatz von Markup-Languages
menten. Die standardisierte Transformationssprache XSLT wird beispielsweise häufig eingesetzt, um XML-Strukturen in andere XMLAnwendungen umzuwandeln.
Im Folgenden werden einige ausgewählte Transformationsbeispiele
aus dem Bereich des elektronischen Publizierens vorgestellt.
Eine häufige Anwendung besteht darin, nicht für eine Publikation
benötigte XML-Elemente aus einer Instanz zu entfernen, den Inhalt
des Elementes jedoch beizubehalten.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="no" encoding="UTF-8"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- loesche den Tag "txt",
<xsl:template match="txt">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
aber behalte den Inhalt -->
Im obigen Beispiel soll eine Kopie des Quelldokumentes erzeugt,
das Element txt jedoch nicht mitkopiert werden, so dass lediglich der
Inhalt des Elementes im Zieldokument erscheint. Im Gegensatz zu der
Instruktion copy-of erzeugt copy bei einfacher Verwendung nur
eine flache Kopie des Dokumentenbaums.
Durch das verschachtelte apply-templates mit select=
"@*|node()" im ersten Template erfolgt jedoch solange ein rekursiver Aufruf des Templates, bis der Baum fertig traversiert ist. Alle Attribut- und Kindknoten werden dabei übergeben. Sobald das Element
txt gefunden wird, wird die Verarbeitung durch das zweite Template
fortgesetzt und nur der reine Text ausgegeben.
Je nach Einsatz des jeweiligen Publishing-Werkzeuges besteht der
Bedarf nach einer Zeichencodierung mit ISO-Entities oder Zeichenreferenzen. Dazu muss vorausgeschickt werden, dass jede Transformation mit XSLT per Definition mit Unicode als Zeichensatz erfolgt.
Wird die Codierung der Zeichen als ISO-Entities gewünscht, so kann
man sich der Character-Maps aus dem XSLT-2.0-Standard bedienen.
Eine Character-Map weist den XSLT-Prozessor an, ein bestimmtes
Zeichen durch einen bestimmten String im Zieldokument zu ersetzen.
2.3 Publishing
■
■
■
109
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output use-character-maps="my_map" doctype-system="doc.dtd"/>
<xsl:character-map name="my_map">
<xsl:output-character character="ä" string="&auml;"/>
<!-- usw. -->
</xsl:character-map>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
In obigem Beispiel wird wieder die Instruktion copy in Verbindung mit einem rekursiven Aufruf verwendet, um den ganzen Baum
des Quelldokumentes in das Zieldokument zu überführen.
Durch die Definition einer Character-Map lassen sich einzelne Vorschriften zur Zeichenersetzung zusammenfassen. Das Attribut usecharacter-maps des Elementes xsl:output wendet die Character-Map auf das Zieldokument an. Zu beachten ist dabei, dass das
Zieldokument nun ISO-Entities enthält, die dort – wie im Beispiel mit
einer DTD – noch zu definieren sind.
Eine bereits fertige Character-Map zur Umsetzung von UnicodeZeichen in ISO-Entities findet sich bei:
http://www.w3.org/2003/entities/iso8879doc/overview.html.
Eine typische Anwendung, vor allem bei Online-Publikationen, ist
das Umorganisieren und Gruppieren von Inhalten. Ein konkretes
Beispiel dafür ist die Generierung eines Stichwortverzeichnisses aus
8
einem XML-Quelldokument. Gegeben sei folgendes XML-Fragment :
8
110
■
■
■
Es sei angemerkt, dass die Erstellung eines Stichwortverzeichnisses weitaus
komplexer organisiert sein kann. Sowohl die Verzeichnistiefe als auch die
Auswahl und Codierung der Begriffe erfordert dann eine komplexere technische Umsetzung sowie die Möglichkeit redaktioneller Eingriffe.
2 Einsatz von Markup-Languages
<?xml version="1.0" encoding="UTF-8"?>
<article>
<title>Extensible Markup Language</title>
<section>
<title>Einführung</title>
<para>Die Extensible Markup Language, abgekürzt <emp entry="XML">XML</emp> , ist
ein Standard zur Erstellung maschinen- und menschenlesbarer Dokumente in Form einer
Baumstruktur.</para>
<para>XML definiert dabei die Regeln für den Aufbau solcher Dokumente</para>
</section>
<section>
<title>Anwendungen</title>
<para>Für einen konkreten Anwendungsfall ("<emp entry="XML">XML</emp> -Anwendung")
müssen die Details der jeweiligen Dokumente spezifiziert werden. </para>
<para>Dies betrifft insbesondere die Festlegung der
<emp entry="Strukturelement">Strukturelemente</emp> und ihre Anordnung innerhalb
des <emp entry="Dokumentbaum">Dokumentenbaums</emp>.</para>
</section>
<!-- weitere sections -->
</article>
Durch das Element emp werden die Stichworteinträge kenntlich
gemacht. Da im Fließtext das Stichwort oft nicht in seiner Grundform
auftritt, empfiehlt es sich, den eigentlichen Eintrag separat zu codieren. Dies geschieht hier über das Attribut entry. Die Generierung
eines Stichwortverzeichnisses gliedert sich nun in zwei Schritte:
• Erstellen einer Liste von Begriffen mit Verlinkung in HTML
• Gruppieren dieser Liste nach Oberbegriffen
Im ersten Schritt muss nun jedem Attributwert von entry eine
eindeutige ID zugeordnet werden, damit später darauf referenziert
werden kann. Die Funktion generate-id ordnet zur Laufzeit des
XSLT-Skripts einem XML-Knoten einen eindeutigen String zu.
<xsl:template match="emp">
<a name="{generate-id(@entry)}">
<xsl:value-of select="."/>
</a>
</xsl:template>
Das obige Template erzeugt für jedes emp-Attribut einen HTMLAnker mit eindeutiger ID. Da generate-id die ID dem jeweiligen
2.3 Publishing
■
■
■
111
Knoten zuordnet, gilt: Wird generate-id auf demselben Knoten
mehrmals aufgerufen, so ergibt sich auch die identische ID. Bei der
Generierung des Stichwortverzeichnisses kann man sich diese Tatsache zu Nutze machen.
<xsl:for-each select="//emp/@entry">
<li>
<a href="#{generate-id()}">
<xsl:value-of select="."/>
</a>
</li>
</xsl:for-each>
In einem ersten Schritt wird über das entry-Attribut aller empElemente iteriert. Durch den wiederholten Aufruf von generate-id
für die Codierung der Sprungadresse des HTML-Links korrespondiert
der Begriff im Stichwortverzeichnis mit dem HTML-Anker im Haupttext. Das Resultat ist eine verlinkte Liste aller Stichwörter.
Unschön an einer solchen Umsetzung ist, dass zum Beispiel der
Begriff "XML" in obigem Beispiel mehrmals hintereinander auftaucht.
Wünschenswert wäre daher eine gruppierte Darstellung, so dass XML
nur noch als Oberbegriff erscheint und alle dazugehörigen Links
nachfolgend unter Angabe der Kapitelnummer und des Titels.
Für die Lösung des Problems können wir uns einer Instruktion aus
XSLT 2.0 bedienen. Die Instruktion xsl:for-each-group bildet
eine Schleife über Gruppen von Einträgen. Während des Schleifendurchlaufs kann sowohl auf die aktuelle Gruppe (currentgrouping-key()) als auch auf jeden Eintrag in der Gruppe
(current-group()) zugegriffen werden.
<xsl:for-each-group select="//emp" group-by="@entry">
<p>
<b>
<xsl:value-of select="current-grouping-key()"/>
</b>
<br/>
<ul>
<xsl:for-each select="current-group()/@entry">
<li>
<a href="#{generate-id()}">
<xsl:value-of select="../../../position()"/>
<xsl:text> </xsl:text>
<xsl:value-of select="../../../title"/>
</a>
112
■
■
■
2 Einsatz von Markup-Languages
</li>
</xsl:for-each>
</ul>
</p>
</xsl:for-each-group>
In diesem zweiten Schritt werden zunächst Gruppen von empElementen gebildet mit dem Attribut entry als Gruppierungskriterium. In einer verschachtelten for-each-Schleife kann nun auf die
einzelnen Elemente der jeweiligen Gruppe zugegriffen werden. Die
Funktion position() gibt dabei lediglich die aktuelle Nummer des
section-Elementes aus.
2.3.5
Druckbare Ausgabe
Ein Grundprinzip medienneutraler Datenhaltung ist die Abspaltung
konkreter Layoutinformationen vom eigentlichen Dokumentinhalt
und der Dokumentstruktur. Diese Tatsache ermöglicht es, die Publikation ein und desselben Dokumentinhalts unter Berücksichtigung
medientypischer Besonderheiten (z. B. Links bei HTML) für verschiedene Medien zu publizieren. Für jedes Zielmedium wird dann eine
eigene Layoutkomponente erstellt, die eine komplette Neuanlage und
damit die redundante Datenhaltung für jedes Zielmedium nicht mehr
notwendig macht. Das Dateiformat XML kann bei korrekter Modellierung eine solche Trennung leisten.
Um nun ein medienneutral vorliegendes XML-Dokument für den
Print publizieren zu können, ist eine medienspezifische Formatierungskomponente nötig. Die nachfolgende Abbildung zeigt den typiAbb. 2.2:
Der XSL-Verarbeitungsprozess
2.3 Publishing
■
■
■
113
schen Ablauf einer vollautomatisierten Satzproduktion mit XSL. Die
eigentliche Verarbeitung erfolgt dabei in zwei Schritten, die jedoch für
9
den Anwender unsichtbar im Hintergrund ablaufen .
Den Ausgangspunkt des Modells stellt die XML-Quelldatei dar. Zusätzlich ist ein XSLT-Stylesheet erforderlich, das Regeln zur Formatierung des Zieldokumentes enthält.
Eine Softwarekomponente, der so genannte XSLT-Prozessor, wendet die Regeln aus dem XSLT-Stylesheet an und erzeugt als Ausgabedokument ein sog. FO-Dokument. Das FO-Dokument enthält dabei
die Kombination aus Inhalten des XML-Dokumentes und den Layoutund Typografiebeschreibungen aus dem XSLT-Dokument. Ein nachgeschalteter FO-Formatierer übernimmt den Seitenumbruch und
generiert eine druckfertige PDF-Datei.
Die Kombination aus XSLT-Prozessor und FO-Formatierer stellt
sich von außen als integrierte Einheit dar, die aus einer Quelldatei
(XML-Dokument) und einem Stylesheet (XSLT-Datei) ein formatiertes Dokument (PDF-Datei) erzeugt.
XSL-FO ist kein neues Satzsystem, sondern eine normierte Syntax
zur Beschreibung von Layout und Typografie. Im Unterschied zu
anderen Seitenbeschreibungssprachen lässt sich XSL-FO nicht direkt
drucken oder betrachten, sondern muss vorher durch eine spezielle
Software in druckbare Informationseinheiten umgewandelt werden.
Ein so genannter FO-Formatierer (Renderer) interpretiert die Layoutinformationen aus dem FO-Dokument, baut die Seitengeometrie auf,
„umbricht“ das Dokument nach vorgegebenen Regeln, erzeugt Zeilenund Spaltenumbrüche, veranlasst Silbentrennungen und kann neben
anderen Formaten PDF als Ausgabedokument erzeugen.
Als Analogie mag der Vergleich mit HTML dienen. HTML-Strukturen bestehen aus Informationen über das Layout eines Web-Dokuments. Erst ein Internet-Browser „übersetzt“ die Layoutbeschreibung
in „sichtbare“ Elemente (wie Linien, Farben usw.). Genauso verhält es
sich auch mit FO-Dokumenten. Sie enthalten lediglich die Layoutbeschreibung für ein seitenorientiertes Dokument. Das Rendern, also die
eigentliche Umsetzung dieser Layoutbeschreibung, übernimmt der
FO-Formatierer.
Im Unterschied zu vielen herkömmlichen Satzsystemen arbeitet ein
FO-Formatierer vollautomatisch, das heißt, es wird z. B. lediglich eine
Konvertierung von XSL-FO nach PDF vorgenommen. Ein solches
System arbeitet zudem immer nach dem „Output-only-Verfahren“.
Einen manuellen Eingriff, wie zum Beispiel inhaltsbezogene Autorenkorrekturen, lässt ein solcher Workflow nicht zu. Korrekturen dieser
9
114
■
■
■
Es sei angemerkt, dass PDF nur ein mögliches Ausgabeformat eines FODokumentes darstellt. Weitere Formate sind z.B. SVG oder RTF.
2 Einsatz von Markup-Languages
Art werden daher in der Regel nicht in der FO-Datei vorgenommen,
sondern in den ursprünglichen XML-Daten, die dann erneut nach
XSL-FO gewandelt werden.
Individuelle Korrekturen, die das Layout oder die Platzierung von
Gestaltungselementen wie Bilder oder Tabellen betreffen und nicht
durch Regeln festgelegt werden können, stellen einen XSL-FO-Workflow vor eine große Herausforderung. Nachträgliche Eingriffe in das
generierte FO-Dokument können dabei Abhilfe schaffen, verstoßen
aber gegen das Prinzip des Vollautomatismus (siehe oben).
Um den Publishing-Prozess mit XSL-FO wirtschaftlich sinnvoll einsetzen zu können, müssen folgende wichtige Voraussetzungen erfüllt
sein [6]:
• Das Layout sollte feststehen und regelbasiert aufgebaut werden
können.
• Es müssen valide XML-Daten vorliegen, deren Struktur mindestens
ein Element oder Attribut für eine Layout- oder Typografieänderung vorsieht.
• Manuelle Layout- oder Typografiekorrekturen können ein Ausschlusskriterium sein.
• Für kleine Datenmengen und nicht wiederkehrende Arbeiten lohnt
sich der Einsatz kaum.
Ein großer Vorteil des Publikations-Workflows mit XSL-FO ist die
schon genannte vollständige Automatisierbarkeit. Werden also Regeln
gefunden, die das Layout und die Typografie zu 100 Prozent abbilden
können, stellt der Ansatz über XSL-FO eine geeignete Lösung dar.
Auch die ernorme Geschwindigkeit führt dazu, dass keine umfangsabhängigen Kosten anfallen.
Ein weiterer Vorteil liegt in der Standardisierung des XSLT-Stylesheets. Man ist also nicht mehr von einer bestimmten Software (bzw.
Dienstleister) abhängig, sondern hat nun auch das Stylesheet „herstel10
lerunabhängig“ vorliegen .
Probleme beim Einsatz von XSL ergeben sich vor allem dann, wenn
ein zusätzlicher manueller Feinumbruch durchzuführen ist. Da bis
zum heutigen Tag keine Software auf dem Markt existiert, die
FO-Daten grafisch darstellt und zugleich interaktiv bearbeiten lässt,
stellt jede manuelle Änderung an Layout und Typografie eine Art
„Blindflug“ dar. Änderungen können zwar im FO-Dokument vorge10
Es soll dabei nicht verschwiegen werden, dass sich die Hersteller von FOFormatierern oft nicht exakt an den Standard halten oder aber diesen um
Sonderfunktionen erweitern. Daraus folgt dann wieder eine stärkere Bindung
an den Softwarehersteller.
2.3 Publishing
■
■
■
115
nommen werden, das Resultat kann aber erst nach einer erneuten
Formatierung durch den FO-Formatierer begutachtet werden.
Auch die regelbasierte Platzierung von Abbildungen ist mit XSL
nicht möglich. Eine Abbildung wird immer an der Stelle platziert, wo
sich der Aufruf in der XML-Daten befindet – ein echtes Ausschlusskriterium für viele „anspruchsvolle“ Layouter.
2.4
XML-gestützte Anwendungsentwicklung
Die Extensible Markup Language ist nach ihrer Einführung 1998 zu
einem festen Bestandteil der modernen Anwendungsentwicklung
geworden. XML und die auf XML basierenden Technologien sind
dabei ein integraler Bestandteil nahezu jeder modernen Softwareapplikation geworden. Der Einsatz von XML in den verschiedenen
Anwendungsbereichen ist dabei aber sehr unterschiedlich. Vor allem
findet die Markup-Technologie Anwendung bei der Spezifikation von
neuen Auszeichnungssprachen wie etwa den vom W3-Konsortium
entwickelten Internetstandards XHTML, Wireless Markup Language
(WML), Scalable Vector Graphics (SVG) oder auch bei der Synchronized Multimedia Integration Language (SMIL), welche als XMLDokumenttyp-Definitionen realisiert sind. Aber auch die Festlegung
von Dateiformaten zum Austausch von Daten zwischen verschiedenen
Applikationen oder zum Speichern von komplexen Objektstrukturen
in Form von Textdateien zählt zu den Einsatzfeldern von XML in der
Anwendungsentwicklung. Beispielsweise stellt UN/EDIFACT im
E-Commerce-Umfeld ein XML-gestütztes Austauschformat zur elektronischen Abwicklung von Geschäftsvorfällen dar, während das Apple
Interchange Format eine textuelle Repräsentation der Schnittpunkte
eines Apple Final Cut Pro-Videoschnittprojektes wiedergibt. Doch
auch die Architektur moderner Softwaresysteme ist entscheidend
durch die Extensible Markup Language beeinflusst. So wird bei neueren Anwendungsentwicklungen immer häufiger zwischen der Ebene
der Anwendungslogik und der Ebene der Präsentation unterschieden.
Das in XML realisierte Grundprinzip der Trennung von Inhalt, Struktur und Präsentation bietet vor allem für Cross-Media-Applikationen
einen entscheidenden Vorteil, so dass Anwendungen, welche verschiedene Ausgabemedien unterstützen, einfacher und schneller entwickelt werden können. Nachfolgend werden diese drei Aspekte der
XML-gestützten Anwendungsentwicklung detaillierter vorgestellt.
116
■
■
■
2 Einsatz von Markup-Languages
2.4.1
Austauschformate
In der heutigen Zeit wird von den meisten Applikationen verlangt, dass
sie interoperabel genutzt werden können. Das bedeutet, dass die Arbeitsergebnisse, die mit einer Applikation auf einem Rechner gewonnen wurden, auf einem anderen Rechner mit einem evtl. anderen Betriebssystem und einer anderen Applikation bzw. einer anderen
Version der Applikation weiter bearbeitet werden können sollen. Diese
Anforderung können Anwendungsentwickler erfüllen, wenn sie die
Softwareanwendungen als netzgebundene Client-Server-Architekturen unter Nutzung des Internets konzipieren und realisieren. Bei diesem Architekturprinzip erfolgt die Datenhaltung zentral auf einem
Server und die verschiedenen Nutzer greifen über das Internet oder
über ein anderes Netzwerk mittels eines speziellen an das Betriebssystem angepassten Client-Programms auf die Daten zu. Diese Lösung
verlangt aber nach einer ständigen Netzwerkverbindung und ist nur
für ein beschränktes Datenvolumen sinnvoll. Dieses Architekturprinzip wird häufig bei der Realisierung von Internetinformationssystemen
eingesetzt, bei denen die Datenhaltung in Datenbanksystemen und die
Präsentation der Daten über dynamische Web-Technologien wie
PHP/HTML erfolgt.
Dort, wo eine zentrale Datenhaltung nicht möglich oder sinnvoll
erscheint, bleibt nur die Möglichkeit, die Arbeitsergebnisse am Ende
der Bearbeitung in einer Datei zu speichern, welche dann von den
anderen Applikationen gelesen werden kann. Da Textdateien zumeist
die kleinste gemeinsame Basis der verschiedenen Betriebssysteme
darstellen, werden diese häufig zum Austausch von Daten verwendet.
Damit Daten aber zwischen Applikationen erfolgreich ausgetauscht
werden können, bedarf es Festlegungen, wie die komplexen Anwendungsdaten einer Applikation in einer linearisierten Textdatei repräsentiert werden. Erst diese Festlegung erlaubt es einer anderen Applikation, die in der Textdatei repräsentierten Daten in die eigenen
internen Datenstrukturen zu überführen. Austauschformate sind
dabei feste Regelwerke, die es ermöglichen, Daten zwischen verschiedenen Applikationen auszutauschen.
Die nachfolgende Abb. 2.3 zeigt den Auszug aus so einer Textdatei.
Es handelt sich dabei um eine Edit Decision List (EDL), also eine Auflistung sämtlicher Clips und Schnittpunkte eines Videoschnittprojektes.
Mit etwas Übung ist das durch die EDL-Datei beschriebene Videoschnittprojekt zu erkennen. Es handelt sich um einen Film, welcher aus
sieben Clips besteht. Jeder Clip wird dabei durch vier Zahlenkolonnen
beschrieben. Die ersten beiden Zahlenkolonnen beschreiben über den
2.4 XML-gestützte Anwendungsentwicklung
Austauschformate
■
■
■
117
Abb. 2.3:
Eine EDL-Datei eines
Videoschnittprojektes
11
Timecode die Position des Clips auf dem Videoband (welches von der
Videoschnittsoftware unter dem Namen Videoschnitt SS05 verwaltet
wird) und die letzten beiden Zahlenkolonnen die Position des Materials
im fertig geschnittenen Film. Weiterhin ist der Name eines jeden Clips
in der EDL-Datei verzeichnet.
Diese Art des Austausches von Daten birgt jedoch verschiedene
Probleme in sich. Zum einen stellt sich die Frage, welche Syntax genau
verwendet wird und wo und wie diese spezifiziert ist. Jeder der solche
EDLs erstellt oder auswertet, muss diese Spezifikation zwangsläufig
kennen. Zum anderen ist der Aufwand für die Überprüfung sehr groß,
denn vor dem Import muss die zu importierende Textdatei auf Fehlerfreiheit kontrolliert werden. Der Aufwand zur Programmierung des
Quelltextes zur Validierung der zu importierenden Datei stellt einen
nicht zu unterschätzenden Aufwand dar. In der Praxis ist jedoch der
Aspekt von viel größerer Bedeutung, dass z. T. die einzelnen Daten
11
118
■
■
■
Der Timecode stellt eine Zeitangabe dar. Aus ihm können die Angaben zur
Stunde, Minute, Sekunde und zum Sekundenbruchteil, gemessen in Bildern,
abgelesen werden. Ein Timecode kann genutzt werden, um die Dauer einer
Videosequenz oder die Position eines Bildes der Videosequenz auf dem Videoband exakt zu beschreiben.
2 Einsatz von Markup-Languages
sehr kryptisch codiert sind und so bei Bedarf von Menschen nur bedingt decodiert werden können.
XML bietet sowohl als Spezifikationstechnik als auch als Datenformat in diesem Zusammenhang viele Vorteile. Als Erstes bietet es mit der
Dokumenttyp-Definition bzw. der Schema-Definition die Möglichkeit,
den syntaktischen Rahmen für die auszutauschende Textdatei exakt
vorzugeben. Dies reduziert den Aufwand für die Programmierung entsprechender Export- bzw. Importfilter ungemein, da es dabei nicht
mehr notwendig ist, den Fehlerbehandlungscode für den Import entsprechender Textdateien selbst zu realisieren, sondern es können vorgefertigte Applikationen, sogenannte Parser, genutzt werden, die als Bibliotheken für die verschiedenen Programmiersprachen wie Java, C++,
PHP etc. verfügbar sind. Diese Parser können vor der Verarbeitung der
XML-Datei die syntaktische Korrektheit der zu importierenden Datei
überprüfen. Dabei können zwei Konformitätsstufen unterschieden
werden. Dies ist zum einen die Wohlgeformtheit, welche besagt, dass das
Textdokument eine syntaktisch korrekte XML-Datei ist, und zum anderen die Validität, welche besagt, dass das XML-Dokument sowohl syntaktisch korrekt ist als auch die inhaltlichen Vorgaben der Dokumenttyp-Definition bzw. der Schema-Beschreibung erfüllt. Ein weiterer
Vorteil der Anwendungsentwicklung auf Basis von XML liegt in der
Möglichkeit, entsprechende Bibliotheken nutzen zu können, welche
Funktionen bereitstellen, mit denen XML-Dokumente traversiert werden können. Im Falle von Textdokumenten müssen die Anwendungsentwickler sich den Inhalt der zu importierenden Textdatei selbst erschließen, d. h., sie müssen den Inhalt der Textdatei byte- oder
zeilenweise einlesen und diesen in die verschiedenen syntaktischen
Einheiten zerlegen. Für XML existieren entsprechende Funktionen als
Bibliotheken, so dass die Entwickler sich auf die Programmierung höher
liegender Anwendungslogik konzentrieren können. Mit Hilfe des Document Object Model, kurz DOM, wird ein XML-Dokument als Baumstruktur im Speicher des Rechners abgelegt und über entsprechende
Pfadangaben innerhalb dieser Baumstruktur kann gezielt auf den Inhalt
12
eines jeden Elementes zugegriffen werden. Beim SAX -Ansatz wird das
XML-Dokument elementweise abgearbeitet und das Erreichen bspw.
einer Start- bzw. Endmarke löst ein gewisses Ereignis aus, auf das der
Entwickler dann mit seiner eigenen Anwendungslogik reagieren kann.
Abbildung 2.4 stellt einen Auszug aus einer Textdatei dar, welche
das gleiche Videoschnittprojekt repräsentiert, das bereits für die Erstellung der in der Abb. 2.3 dargestellten EDL-Datei benutzt wurde.
Doch dieses Mal wurde das Videoschnittprojekt nicht als EDL-Datei,
sondern als Apple Interchange Format exportiert. Das Apple Inter12
XML-basierte Austauschformate
SAX steht für „Simple API for XML“.
2.4 XML-gestützte Anwendungsentwicklung
■
■
■
119
Abb. 2.4:
Auszug aus einer Apple-InterchangeFormat-Datei
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xmeml>
<xmeml version="1">
<sequence id="IDB Hymne">
<name>IDB Hymne</name>
<duration>4512</duration>
<rate>
<ntsc>FALSE</ntsc>
<timebase>25</timebase>
</rate>
<timecode>
<rate>
<ntsc>FALSE</ntsc>
<timebase>25</timebase>
</rate>
<string>01:00:00:00</string>
<frame>90000</frame>
<source>source</source>
<displayformat>NDF</displayformat>
</timecode>
<in>-1</in>
<out>-1</out>
<media>
<video>
<format>
<samplecharacteristics>
<width>720</width>
<height>576</height>
<anamorphic>FALSE</anamorphic>
<pixelaspectratio>PAL-CCIR-601
</pixelaspectratio>
<fielddominance>lower</fielddominance>
<rate>
<ntsc>FALSE</ntsc>
<timebase>25</timebase>
</rate>
<colordepth>24</colordepth>
<codec>
<name>Apple DV - PAL</name>
...
change Format ist ein XML-basiertes Format und verfügt daher über
die zuvor erläuterten Vorteile bei der maschinengestützten Verarbeitung. Des Weiteren enthält es gegenüber der EDL-Datei auch noch
viele weitere Angaben zu dem Videoschnittprojekt, welche in der
EDL-Datei gar nicht enthalten sind. So wird z. B. durch die Marke
<timebase> erkennbar, dass es sich bei dem Videoschnittprojekt um
120
■
■
■
2 Einsatz von Markup-Languages
<clipitem>
<name>Intro</name>
<duration>575</duration>
<rate>
<ntsc>FALSE</ntsc>
<timebase>25</timebase>
</rate>
<in>0</in>
<out>575</out>
<start>0</start>
<end>575</end>
<subclipinfo>
<endoffset>3937</endoffset>
</subclipinfo>
<enabled>TRUE</enabled>
<anamorphic>FALSE</anamorphic>
<alphatype>none</alphatype>
<masterclipid>Intro</masterclipid>
<syncoffset>0</syncoffset>
...
ein Projekt handelt, welches mit einer Bildrate von 25 Bildern pro
Sekunde arbeitet. Weiterhin ist durch die Marken <width> und
<height> die Bildgröße erkennbar, in dem Videoschnittprojekt werden PAL-Videosequenzen mit 720 × 576 Bildpunkten erzeugt.
Abbildung 2.5 zeigt einen anderen Ausschnitt aus der AppleInterchange-Format-Datei, an dem die Verwendung von XML zur
Codierung von Daten mitsamt der zugehörigen Metadaten näher beschrieben werden soll. In dem Auszug aus der exportierten XML-Datei
in Abb. 2.4 sind verschiedene Metadaten zu dem Videoschnittprojekt
erkennbar. So kann bspw. aus dem Element <duration> die Dauer des
Films abgelesen werden. Es handelt sich dabei um 4512 Bilder. Aus der
Angabe 25 des Elements <timebase> kann geschlossen werden, dass es
sich um eine Filmlänge von 4512 Bildern – bei 25 Bilder pro Sekunde –,
also von 3 Minuten und 0,5 Sekunden handelt. Abbildung 2.5 kann
zudem entnommen werden, dass der Clip Intro insgesamt 575 Bilder
(23 Sekunden) lang ist (Marke <duration>) und über keinen AlphaKanal verfügt (Marke <alphatype>).
An diesen Auszügen aus der XML-Datei, welche ein Videoschnittprojekt repräsentiert, kann man leicht die Selbstbeschreibungsfähigkeit
von XML demonstrieren. Obwohl die meisten Leser mit dem Apple
Interchange Format nicht vertraut sein dürften, fällt es dem geübten
Leser recht leicht, aus den einzelnen Marken deren Bedeutung herauszulesen. Als Konsequenz sind XML-Dateien im Vergleich zu anderen
2.4 XML-gestützte Anwendungsentwicklung
Abb. 2.5:
Beschreibung des Clips Intro durch
XML-Marken
Selbstbeschreibungsfähigkeit
■
■
■
121
13
Austauschformaten, wie bspw. CSV für tabellarische Daten, sowohl
für Menschen wie auch für Maschinen gleicherweise les- und interpretierbar.
Dies gilt allerdings nur dann, wenn für die Namen der Marken sprechende Bezeichnungen gewählt wurden. Das heißt die XML-Marken
können nicht nur genutzt werden, um die auszutauschenden Daten
eindeutig zu begrenzen und zu strukturieren, sie können zugleich in
Form von Metadaten den Daten auch noch eine Bedeutung verleihen.
Nimmt man alle diese Eigenschaften von XML zusammen, so erklärt sich, warum XML-basierte Austauschformate verstärkt für den
Austausch von Daten über Programm- und Systemgrenzen hinweg
eingesetzt werden. Dabei spielt es auch keine Rolle, ob die XMLDateien über Datenträger zwischen den einzelnen Applikationen ausgetauscht werden oder ob die XML-codierten Daten über Netzwerke
zwischen verteilten Applikationen versendet werden.
2.4.2
Serialisierung von Objekten
Serialisierung von Objekten
Eine weitere Problematik, die auch im Zusammenhang mit Austauschformaten von Bedeutung ist, ist die Serialisierung von Objekten.
Moderne Softwareentwicklungen basieren zumeist auf dem Paradigma der Objektorientierung, das heißt, dass Daten und die sie verändernden Methoden in einem Objekt gekapselt sind. Dieses Grundprinzip lässt sich iterieren, was bedeutet, dass Objekte wiederum
andere Objekte beinhalten können. Als Folge davon können mehrstufige Objektstrukturen entstehen. Wann immer Objekte zwischen zwei
Applikationen ausgetauscht werden sollen, die keinen gemeinsamen
Speicher besitzen, ist die Serialisierung und spätere Deserialisierung
des Objekts erforderlich. Dies ist beispielsweise auch notwendig, wenn
Objekte persistent gespeichert werden sollen, z. B. in einem Dateisystem einer Festplatte oder mittels einer relationalen Datenbank. Dann
müssen diese Objekte zuvor serialisiert werden, da weder das Dateisystem noch die relationale Datenbank in der Lage sind, hierarchische
Objektstrukturen zu speichern. Die Serialisierung von Objekten wird
nachfolgend näher ausgeführt.
Serialisierung kann als der Prozess zum Speichern des Status einer
Objektinstanz auf einem Speichermedium bezeichnet werden. Während dieses Prozesses werden die Attribute des Objekts und der Name
der Objektklasse in einen Strom von alphanumerischen Zeichen oder
13
122
■
■
■
CSV steht für Comma Separated Values (kommaseparierte Werte) und stellt
ein Standard-Austauschformat für alphanumerische Daten dar, welches häufig bei Tabellenkalkulationen zum Einsatz kommt.
2 Einsatz von Markup-Languages
Abb. 2.6:
Serialisierung und Persistenz
Bytes konvertiert, der dann in einen Datenstrom geschrieben wird.
Die nachfolgende Abbildung zeigt das Prinzip der Serialisierung/Deserialisierung schematisiert.
Serialisierung bedeutet dabei, dass die hierarchische Struktur der
Objekte und deren über Attribute gespeicherte Zustände in eine lineare
Abfolge gebracht werden müssen, um in linearen Speichermedien persistent abgelegt oder über lineare Netzwerkstrukturen übertragen werden zu können. Die mehrstufigen Objektstrukturen müssen dazu aufgelöst und jedes Objekt inklusive seiner Attribute muss in eine lineare
Abfolge gebracht werden, um es zum Beispiel in Form von Buchstaben
in den Zeilen einer Textdatei ablegen zu können. Relevant in diesem
Zusammenhang sind nur die Attribute der Objekte, da diese den Zustand des Objektes codieren. Die Methoden des Objektes müssen nicht
serialisiert werden, da diese durch die Klassenbeschreibung festgelegt
sind und sich während der Existenz des Objektes ja nicht verändern
können. Alleinig die Information, welche Objekte mit welchem inneren
Zustand zum Zeitpunkt des Speicherns in der Applikation existent
waren, gilt es, persistent zu sichern. Diese Informationen reichen dann
aus, um später beim Deserialisieren die Applikation in genau den Zustand zu versetzen, in dem sich die Applikation zum Zeitpunkt der
Speicherung befunden hat. Es werden quasi Klone der Objekte erzeugt,
welche sich zum Speicherzeitpunkt im Speicher befunden haben.
Wie ausgeführt drückt sich der Zustand eines Objektes durch dessen Attribute aus. Ein Attribut ist dabei gekennzeichnet durch einen
eindeutigen Namen und einen zugeordneten Wert. Die Reihenfolge
der Attribute eines Objektes ist dabei nicht von Bedeutung. Beim Serialisieren müssen also die Informationen erhalten bleiben, welche Objekte zum Zeitpunkt des Speicherns existieren und welche Attribute
(Namen) und welche Werte diese Attribute besitzen.
2.4 XML-gestützte Anwendungsentwicklung
Zustand eines Objektes
■
■
■
123
Abb. 2.7:
Zulässige Strukturierung von
XML-Elementen
Abb. 2.8:
Nicht zulässige Strukturierung von
XML-Elementen
Serialisierung von Objekten mittels XML
Nimmt man eine in der Praxis unbedeutende Einschränkung in
Kauf, so kann die Serialisierung von Objekten sehr einfach und elegant
mittels XML-Technologien erfolgen. Das bei XML verwendete Inhaltsmodell erlaubt Unterelemente im Inhalt eines Elementes mit der Einschränkung, dass jedes Element sich vollständig im Inhalt des anderen
Elementes befinden muss. Sich überlappende Elemente sind durch das
Inhaltsmodell von XML ausgeschlossen. Die Abb. 2.7 veranschaulicht,
eine zulässige Strukturierung von Elementen eines XML-Dokumentes.
Nicht zulässig ist hingegen die in der Abb. 2.8 dargestellte Strukturierung von XML-Elementen.
Als Konsequenz muss von Objektstrukturen, die mittels XML serialisiert werden sollen, verlangt werden, dass sie streng hierarchisch
strukturiert sind. Ist dies der Fall, so kann jede beliebige Objektstruktur nach folgendem Verfahren serialisiert werden:
1. Jedes Objekt wird in ein XML-Element gewandelt, welches den
Namen des Objektes trägt.
2. Besitzt das Objekt Attribute, so wird jedes Attribut zu einem Unterelement gleichen Namens.
a. Besteht der Attributwert aus einem simplen Datentyp, so wird
der Attributwert in den Inhalt des Unterelementes übernommen.
b. Besteht der Attributwert aus einem Objekt, so ist mit dem Unterobjekt wie in 1.) beschrieben zu verfahren.
Die nachfolgende Abb. 2.9 und Abb. 2.10 veranschaulichen das beschriebene Verfahren. In der Abb. 2.9 ist eine Objektbeschreibung in
PHP-Syntax zu sehen, während Abb. 2.10 die nach dem beschriebenen
Verfahren erstellte serialisierte Darstellung dieser PHP-Objektbeschreibung in Form einer XML-Datei zeigt.
Das beschriebene Prinzip der Objektserialisierung findet in einigen
objektorientierten Programmierumgebungen Anwendung. So existieren zum Beispiel in dem NET-Framework von Microsoft Klassenbibliotheken, um Objekte als Bytestrom, als SOAP-Datei oder als XML-
124
■
■
■
2 Einsatz von Markup-Languages
class Person {
var $Vorname, $Nachname;
var $Nachkomme;
Abb. 2.9:
PHP-Objektdefinitionen
function Person ($new_firstname, $new_lastname){
$this->Vorname = $new_firstname;
$this->Nachname = $new_lastname;
}
function get_name (){
$full_name = $this->Vorname." ". $this->Nachname;
return $full_name;
}
function set_name ($new_firstname, $new_lastname) {
$this->Vorname = $new_firstname;
$this->Nachname = $new_lastname;
}
function set_child ($new_child) {
$this->Nachkomme = $new_child; }
}
$Pebbles =& new Person ('Pebbles', 'Feuerstein');
$Fred = new Person('Fred', 'Feuerstein');
$Fred->set_child ($Pebbles);
<Fred>
<Vorname>Fred</Vorname>
<Nachname>Feuerstein</Nachname>
<Nachkomme>
<Pebbles>
<Vorname>Pebbles</Vorname>
<Nachname>Feuerstein</Nachname>
<Nachkomme></Nachkomme>
</Pebbles>
</Nachkomme>
</Fred>
O:6:"person":3:{s:7:"Vorname";s:4:"Fred";s:8:
"Nachname";
s:10:"Feuerstein";s:9:"Nachkomme";O:6:"person":3:{s:7:"Vornam
e";s:7:"Pebbles";s:8:"Nachname";s:10:"Feuerstein";s:9:"Nachko
mme";N;}}
2.4 XML-gestützte Anwendungsentwicklung
Abb. 2.10:
Serialisierte Objektdarstellung in XML
Abb. 2.11:
Ergebnis der Serialisierung durch die
PHP-Funktion serialize()
■
■
■
125
Dokument zu serialisieren. Auch Java kennt das Prinzip der Objektserialisierung und stellt zum Schreiben und Lesen von Objekten in
Streams die Klassen ObjectInputStream und ObjectOutputStream bereit. In PHP wird die Serialisierung von Objekten vorwiegend im Zusammenhang mit Session genutzt. Durch die Serialisierung von Objekten kann eine Session auf der Festplatte gespeichert werden und zu
einem späteren Zeitpunkt wieder gelesen und dann in dem gespeicherten Zustand fortgesetzt werden. Die Routinen zum Serialisieren/
Deserialisieren lauten in PHP serialize() bzw. unserialize(). Die nachfolgende Abb. 2.11 zeigt das Ergebnis der Serialisierung des Objektes
$Fred aus Abb. 2.9.
Zumeist wird von den Programmierern die Erzeugung von Byteströmen bevorzugt, da diese sehr kompakt sind und so nur wenig Speicherplatz bzw. Netzbandbreite verbrauchen. Bei Verwendung von XML
anstatt von Byteströmen könnten aber die grundlegenden Vorteile von
XML, die Selbstbeschreibungsfähigkeit, die Plattformunabhängigkeit
und die Validierbarkeit, auch bei der Objektserialisierung zum Tragen
kommen, deshalb ist in der Regel bei plattformübergreifenden, nicht
zeitkritischen Anwendungen XML als Format für die serialisierten Daten dem Bytestrom vorzuziehen. Dieser Vorteil wird offenkundig, wenn
man die beiden Abb. 2.10 und Abb. 2.11 vergleicht. Beide Darstellungen
zeigen eine Serialisierung des Objektes $Fred aus der Abb. 2.9. Während
das ungeschulte Auge sowohl Struktur als auch den Objektinhalt aufgrund der Selbstbeschreibungsfähigkeit von XML aus Abb. 2.10 recht
gut erfassen kann, so sind die serialisierten Daten aus Abb. 2.11 ohne
Abbildungsvorschrift nur bedingt wieder von Hand zu deserialiseren.
2.5
Trennung der Implementierungslogik
und Präsentation einer Anwendung
2.5.1
Servlets und XSL
Die Java-Servlet-Spezifikation bietet eine Möglichkeit zur Entwicklung
HTTP-basierter Client-Server-Applikationen. Die Anwendung wird
dabei in einem Container ausgeführt, für welchen es verschiedene
Implementierungen gibt. Das nachfolgend beschriebene Beispiel wurde auf der Basis der Tomcat-Implementierung entwickelt. Prinzipiell
funktioniert der Zugriff eines Clients auf den in einem Container laufenden Server nach folgendem Muster:
126
■
■
■
2 Einsatz von Markup-Languages
Abb. 2.12:
Zugriff eines Clients auf eine Servletbasierte Applikation via HTTP
Bei einem HTTP-Zugriff ruft der Servlet-Container die doGet-Methode der Servlet-Applikation auf und übergibt dieser zwei Parameter:
1. Der HttpServletRequest enthält Parameter des Client-Zugriffs wie
z. B. Key/Value-Paare von HTML-Formulardaten.
2. Der HttpServletResponse erlaubt das Setzen von HTTP-Parametern
für die Antwort an den Web-Client. Beispielsweise kann der Typ einer
dynamisch generierten Grafik auf appli-cation/pdf gesetzt werden.
2.5.2
Eine Beispielapplikation
Wir wollen eine Applikation entwickeln, welche einem Client das aktuelle Datum und die aktuelle Zeit in einer Menge vordefinierter LocaleVarianten zurückliefert:
Abb. 2.13:
Länderspezifische Ausgabe von Zeitund Datumsangaben
Die Daten selbst können als Tabellenstruktur gewählt werden.
Prinzipiell eignet sich dafür das aus Swing bekannte TableModelInterface. Da wir nur lesenden Zugriff betrachten, genügt es, wenn
unser Servlet das nachfolgend beschriebene Interface implementiert:
public interface SimpleTableModel {
/**
* @see javax.swing.table.TableModel#getColumnCount() .
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
■
■
■
127
* @return number of colums.
*/
public int getColumnCount();
/**
* @see javax.swing.table.TableModel#getColumnName(int n) .
* @param columnIndex the index of the column's name to be returned.
* @return name of n-th column.
*/
public String getColumnName(int columnIndex);
/** ... /
public int getRowCount();
public Object getValueAt(int rowIndex, int columnIndex);
public Class getColumnClass(int column);
}
Um die geforderte Trennung zwischen Implementierung und Präsentation zu erreichen, verwenden wir ein XSL-Stylesheet zur Formatierung. Dies ermöglicht unter Verwendung von Formatting Objects
das Anbieten verschiedener Ausgabeformate an den Client. In unserem Beispiel werden wir sowohl HTML als auch PDF anbieten. Dazu
realisieren wir folgende Architektur:
Abb. 2.14:
Di Servlet Struktur zur Erzeugung
unterschiedlicher Sichten auf
Tabellenobjekte
Wie wandeln also die im SimpleTableModel enthaltenen Daten zunächst in einen XML-Baum um. Als Darstellung in Java bietet sich das
Document Object Model (DOM) an. Dieser XML-Baum kann dann
mittels XSL sowohl in das HTML-Format als auch unter Zuhilfenahme
von Formatting Objects in ein PDF-Dokument transformiert werden.
128
■
■
■
2 Einsatz von Markup-Languages
2.5.3
Die Implementierung der Anwendungslogik
Unser Servlet benötigt die Möglichkeit, Datumsformate für verschiedene Länder definieren zu können. Wir erreichen dies durch einen Konstruktor, welcher als Parameter ein Array aus Locale-Objekten erhält:
public class DateLocaleTable implements SimpleTableModel
{
public DateLocaleTable(final Locale localeSet[]) {
this.localeSet = localeSet;
}
private final Locale localeSet[];
...
Abb. 2.15:
Die Implementierung mit einem
Konstruktor zur Definition der
gewünschten Menge von
länderspezifischen Formaten
aus Locale Objekten
Die Implementierung der SimpleTableModel-Methoden ist übersichtlich:
public class DateLocaleTable implements SimpleTableModel {
...
public int getColumnCount() {
return columnHeaders.length;
}
public String getColumnName(int columnIndex) {
return columnHeaders[columnIndex];
}
public int getRowCount() {
return localeSet.length;
}
Abb. 2.16:
Zur Implementierung des Datum
Servlets
...
private final Date currentDate = new Date();
private final Locale localeSet[];
private final static String columnHeaders[] =
{ "Locale", "Datumsformat", "Zeitformat" };
private final static int COLINDEX_LOCALE = 0,
COLINDEX_DATUM = 1, COLINDEX_TIME = 2;
}
Die vollständige Implementierung ist als Bestandteil eines komplett
beschriebenen Eclipse-Projektes dieser Servlet-Applikation inklusive
der Konfiguration des Tomcat-Webservers unter nachfolgender Adresse verfügbar:
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
■
■
■
129
http://fb1.hdm-stuttgart.de/skripte/Dokumenterstellung_1/
vorlesung/noframe_xslServletSetup.html.
2.5.4
Serialisierung des Servlets als DOM-Baum
Zur Serialisierung eines SimpleTableModel-Objekts als XML-DOMStruktur kann die unter http://xml.apache.org verfügbare Xerces-Implementierung verwendet werden. Das Erzeugen eines Unterknotens vom
Typ Element inklusive eines Text-Unterknotens zu einem bereits vorhandenen Element-Knoten geschieht im DOM durch folgende Schritte:
Abb. 2.17:
Hinzufügen eines Element-Knotens,
welcher einerseits #PCDATA enthält
Dies wird in unserem Serialisierer wie folgt implementiert:
Abb. 2.18:
Hinzufügen von Unterelementen mit
und ohne Textinhalt durch
Hilfsmethoden
private Element appendElement(final Element parent, final
String tagname){
final Element child = doc.createElement(tagname);
parent.appendChild(child);
return child;
}
private Element appendElement(final Element parent,
final String tagname, final Object pcdata){
final Element elementChild = appendElement(parent,
tagname);
elementChild.appendChild(doc.createTextNode(pcdata.toString
()));
return elementChild;
}
130
■
■
■
2 Einsatz von Markup-Languages
Die beiden überladenen Methoden fügen einem vorhandenen Parent Knoten einen neuen erzeugten Unterknoten vom Typ Element
hinzu, welcher als Returnwert zurückgeliefert wird. Zusätzlich fügt die
zweite Methode noch einen Unterknoten vom Typ Text hinzu. Dies
entspricht einem Element mit Content Model #PCDATA.
Über diese zwei Hilfsmethoden kann nun die Serialisierung beliebiger SimpleTableModel-Instanzen in einer Klasse TableSerializer
implementiert werden:
public class TableSerializer {
...
private void set(final SimpleTableModel tableModel){
doc = docCreator.createDocument(null, "table", null);
final Element table = doc.getDocumentElement();
table.setAttribute("class",
tableModel.getClass().getName());
final Element head = appendElement(table, "head");
for (int colIndex = 0; colIndex <
tableModel.getColumnCount();
colIndex++){
final Element column = appendElement(
head, "column",
tableModel.getColumnName(colIndex));
column.setAttribute("class",
tableModel.getColumnClass(colIndex).getName());
}
final Element body = appendElement(table, "body");
for (int rowIndex = 0; rowIndex <
tableModel.getRowCount(); rowIndex++){
final Element row = appendElement(body, "row");
for (int colIndex = 0;
colIndex<tableModel.getColumnCount(); colIndex++){
appendElement(
row, "cell", tableModel.getValueAt(rowIndex,
colIndex));
}
}
}
Abb. 2.19:
Eine Methode zum Transformieren eines
SimpleTableModel-Objekts.
Die lokale Variable doc enthält nach
Ausführung eine Referenz auf das
resultierende DOM-Objekt
Die textuelle Repräsentation für unser Datumsbeispiel lautet:
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
■
■
■
131
Abb. 2.20:
Textdarstellung der XML-Serialisierung
eines SimpleTableModel-Objektes
<table class="servlet.xsl.DateLocaleTable">
<head>
<column class="java.util.Locale">Locale</column>
<column class="java.util.Date">Datumsformat</column>
<column class="java.util.Date">Zeitformat</column>
</head>
<body>
<row>
<cell>Germany</cell>
<cell>Montag, 28. November 2005</cell>
<cell>11:46:15 CET</cell>
</row>
<row>
<cell>United States</cell>
…
Damit kann nun die eigentliche Sesrvlet-Klasse implementiert werden:
Abb. 2.21:
Die Servlet-Klasse verwendet sowohl
das Tabellenmodell als auch
den Serialisierer zur Erzeugung
einer XML-Antwort an den Client.
public class Datesource extends HttpServlet{
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException{
resp.setContentType("text/xml");
final DateLocaleTable dlTable =
new DateLocaleTable(new Locale[]
{Locale.GERMANY, Locale.US, Locale.FRANCE,
Locale.ITALY});
final PrintWriter pw = resp.getWriter();
serializer.serialize(dlTable, pw);
resp.flushBuffer();
getServletContext().log("Created response");
}
public Datesource()
throws ParserConfigurationException{
super();
serializer = new TableSerializer();
}
private final TableSerializer serializer;
}
Der Web-Client kann mit einer entsprechenden Antwort nicht allzu
viel anfangen. In Ermangelung eines Stylesheets wird er den XMLQuelltext darstellen:
132
■
■
■
2 Einsatz von Markup-Languages
Abb. 2.22:
Die Darstellung des
resultierenden XML DOM Baumes
in einem HTML Browser
Dies kann immerhin zur Fehlersuche dienen, falls Probleme mit
den nachfolgend beschriebenen Konversionsmechanismen auftreten.
2.5.5
XSL-Stylesheets für die Zielformate HTML und PDF
Unabhängig von der Frage der Integration in unser Servlet können wir
zunächst XSL-Stylesheets für die XML-Serialisierung der ServletDaten implementieren. Wir betrachten zunächst ein auf unser Datumsbeispiel zugeschnittenes Stylesheet:
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>Datumsangaben in unterschiedlichen
Locales</TITLE>
</HEAD>
<BODY>
<H1>Datumsangaben in unterschiedlichen Locales</H1>
<table>
<tr>
<th>Locale</th>
<th>Datumsformat</th>
<th>Zeitformat</th>
</tr>
<xsl:apply-templates
select="table/body/row"/>
</table>
</BODY>
</HTML> ...
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
Abb. 2.23:
Ausschnitt eines Stylesheets zur
Transformation von Datums- und
Zeitangaben in das HTML-Format
■
■
■
133
Das hier noch fehlende Template für <row>-Elemente finden Sie
als Bestandteil des bereits erwähnten Sourcecodes zum ServletBeispiel. Ein analoges Stylesheet kann via Formatting Objects zur
Erzeugung einer PDF-Ausgabe verwendet werden:
Abb. 2.24:
Ein XSLT zur Generierung eines FO
Dokuments. Aus diesem kann
unmittelbar eine PDF Ausgabe erzeugt
werden
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" ... >
<xsl:output indent="yes" method="xml"/>
<xsl:template
match="/table[@class='servlet.xsl.DateLocaleTable']">
<fo:root font-size="10pt"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<!-- layout master set --> ...
<fo:page-sequence masterreference="simplePageLayout">
...
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="20pt" font-weight="bold"
>Länderspezifische Datumsangaben</fo:block>
<fo:table table-layout="fixed">
<fo:table-column column-width="20mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-header font-weight="bold">
<fo:table-row>
<fo:tablecell><fo:block>Locale</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Datumsformat</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Zeitformat</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:apply-templates select="body/row"/>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
...
</xsl:stylesheet>
134
■
■
■
2 Einsatz von Markup-Languages
2.5.6
Servlets und Filter
Die Konfiguration einer Servlet-Anwendung kann in der Definitionsdatei web.xml eines Servlet-Kontexts erfolgen. Zunächst wird dort der
Java-Klassenname des Servlets auf einen Servlet-Namen gemappt:
<servlet>
<servlet-name>servlet-xsl-Datesource</servlet-name>
<servlet-class>servlet.xsl.Datesource</servlet-class>
</servlet>
Nun wird das Mapping zwischen einer URL und dem zuvor definierten Servlet definiert. Das verbindende Element ist der Name des
Servlets:
<servlet-mapping>
<servlet-name>servlet-xsl-Datesource</servlet-name>
<url-pattern>/datesource</url-pattern>
</servlet-mapping>
Dies bedeutet, dass der Zugriff auf die URL http://.../.../datesource
vom Servlet-Container auf unser Servlet gelenkt wird. Der Container
wird das Servlet instanziieren, danach dessen init-Methode aufrufen
und dann der doGet-Methode die HTTP-Parameter des ClientZugriffs übergeben.
Es stellt sich nun die Frage, auf welche Weise die Stylesheets in die
Servlet-Implementierung eingebunden werden können. Prinzipiell
kann die XSL-Transformation unmittelbar in den Servlet-Code integriert werden. Das Servlet-API bietet alternativ die Möglichkeit, diesen
Schritt als sogenannten Filter zu realisieren.
Filter erlauben es, die Erzeugung einer HTTP-Antwort als Abfolge
einzelner Transformationsschritte zu realisieren. Die Ausgabe des
n-ten Filterschrittes ist dabei die Eingabe des (n-1)-ten Filters. Das
Prinzip entspricht dem UNIX-Pipe-Konzept.
Für unser Beispiel benötigen wir einen Filter, welcher XML nach
HTML transformiert. Die Definition des Filters erfolgt ebenfalls in
web.xml:
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
■
■
■
135
<filter>
<filter-name>XSLT_Filter</filter-name>
<filter-class>servlet.xsl. </filter-class>
<init-param>
<param-name>xslt</param-name>
<param-value>
/Input/Xslt/date2html.xsl</param-value>
</init-param>
</filter>
Diese Definition korrespondiert zu einer Java-Klasse XSLTFilter
im Package servlet.xsl, welche wir später betrachten. Über das
<initparam>-Element können beliebig viele Parameter an die
XSLTFilter-Instanz weitergereicht werden. In unserem Beispiel verwenden wir den Namen des XSL-Stylesheets als Parameter xslt.
Bislang haben wir noch nicht spezifiziert, für welche Prozesse obiger Filter verwendet werden soll. Dies erfolgt mit Hilfe von:
<filter-mapping>
<filter-name>XSLT_Filter</filter-name>
<url-pattern>/datesource</url-pattern>
</filter-mapping>
Diese Definition legt fest, dass der Filter mit Namen XSLT_Filter
beim Zugriff auf die URL http://.../.../datesource verwendet werden
soll. Auf diese Weise erhält der Client das Ergebnis der HTMLTransformation:
Abb. 2.25:
Die endgültige HTML Ansicht
136
■
■
■
2 Einsatz von Markup-Languages
2.5.7
Die Java-Implementierung des Filters
Unter http://java.sun.com/products/servlet/Filters.html findet sich eine
gute Einführung zur Implementierung von Filtern. Der in diesem
Dokument vorgestellte XSLT-Filter diente als Ausgangsbasis für die
im Datumsbeispiel verwendeten XSLT und XSLT-FO/PDF Filter.
Gemäß der Servlet-Spezifikation werden Filter und Servlets über
eine identische Schnittstelle durch den Servlet-Container instanziiert:
• Erzeugung via des Defaultkonstruktors
• Aufruf der init-Methode des Servlets oder Filters
Bei einem Servlet kann die init-Methode verwendet werden, um
z. B. Datenbankverbindungen aufzubauen. Unser XSLT-Filter benötigt
z. B. die Angabe, welches Stylesheet zur Transformation verwendet
werden soll.
Entsprechende Parameter können wie bereits gezeigt in der Datei
web.xml des Servlet-Containers definiert werden. Das Interface eines
Filters lautet:
public abstract interface javax.servlet.Filter extends java.lang.Object {
public abstract void init(FilterConfig arg) throws
javax.servlet.ServletException;
public abstract void doFilter(ServletRequest arg, ServletResponse arg, FilterChain arg)
throws java.io.IOException, javax.servlet.ServletException;
public abstract void destroy();
}
Das FilterConfig-Argument der init-Methode stellt ein Dictionary
bereit, in welchem die Parameternamen als eindeutige Schlüssel auftreten. Über diese können dann die Werte aus der Konfiguration
web.xml weitergereicht werden. Die doFilter-Methode leistet die eigentliche Arbeit des Filters, in unserem Fall die Transformation des
über das ServletRequest-Argument erhaltenen XML-Eingabestroms
auf die Ausgabeseite des Filters unter Anwendung des Stylesheets.
Der XSLT-Filter erzeugt bei der Initialisierung intern ein javax.xml.
transformer.Transformer-Objekt, welches in der init-Methode mit
dem XSL-Stylesheet initialisiert wird. Der Aufruf der doFilter-Methode durch den Servlet-Container bewirkt dann:
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
■
■
■
137
• Die Transformation des Eingabestroms,
• das Setzen des korrekten Ausgabetyps im HTTP-Response-Header
als text/html sowie
• das Setzen der korrekten Länge (content-length) im Header der
HTTP-Antwort.
Der so implementierte Filter kann für verschiedene Transformationen unterschiedlicher Servlets mit variierenden Stylesheets verwendet werden. Die entsprechende Parametrierung erfolgt wie diskutiert
über die Servlet-Definitionen in web.xml.
2.5.8
PDF-Ausgabe
Für eine hochqualitative Druckausgabe wird ein entsprechendes Format benötigt. Wir demonstrieren die PDF-Ausgabe unter Verwendung des Formatting Object Processors (FOP), siehe:
http://xmlgraphics.apache.org/fop.
Die Definition des entsprechenden Filters in web.xml lautet:
<filter>
<filter-name>FO_Filter</filter-name>
<filter-class>servlet.xsl.FOFilter
</filter-class>
<init-param>
<param-name>xslt</param-name>
<param-value>
/Input/Xslt/date2fo.xsl</param-value>
</init-param>
</filter>
Die Java-Implementierung der Klasse servlet.xsl.FOFilter erfolgt
analog zum reinen XSLT-Beispiel mit Konversion in das HTMLFormat. Allerdings muss zusätzlich das durch die Transformation
erzeugte FO-File noch nach PDF gewandelt werden.
Prinzipiell ist es denkbar, diese letzte Umwandlung von FO als
XML-Format nach PDF ebenfalls als eigenen Filter zu implementieren.
Es wären dann zwei aufeinanderfolgende Filter nötig, was sich negativ
auf die Performance auswirkt. Demgegenüber steht die Tatsache, dass
eine FO-Software i. A. bereits den Fall vorsieht, unmittelbar das eigentliche XML-Dokument sowie das anzuwendende XSL-FO-Stylesheet als Eingaben zu akzeptieren, um daraus PDF zu erzeugen. Das
138
■
■
■
2 Einsatz von Markup-Languages
reine FO File existiert dann nur als internes Zwischenprodukt im Formatierer, welches höchstens für die Fehlersuche interessant ist.
In der Beispielimplementierung wird dazu der frei verfügbare Formatting Objects Processor (FOP) des Apache-Konsortiums verwendet.
Für weiter gehende typografische Ansprüche ist es ratsam, eine kommerzielle Implementierung zu verwenden, beispielsweise das Produkt
Xep von http://www.renderx.com.
Wie im Fall von HTML benötigen wir noch das Mapping einer URL
auf diesen Filter:
<filter-mapping id="xml2fo">
<filter-name>FO_Filter</filter-name>
<url-pattern>/pdf/datesource</url-pattern>
</filter-mapping>
Dies führt im genannten Beispiel beim Zugriff auf die URL
http://localhost:8080/Vorlesungen/pdf/datesource
zu:
Abb. 2.26:
Eine zur HTML Ansicht analoge Sicht als
generiertes PDF
Das hier verwendete XSL-FO-Stylesheet ist bereits etwas aufwendiger: Die Zeilen der Tabelle werden abwechselnd normal bzw. grau
hinterlegt dargestellt.
2.5 Trennung der Implementierungslogik und Präsentation einer
Anwendung
■
■
■
139
2.5.9
Weitere Möglichkeiten
Die hier vorgestellte Möglichkeit der Definition von Filterketten findet
sich in wesentlich elaborierterer Form im Cocoon Framework, welches
insbesondere nicht auf Java-Applikationen beschränkt ist. Für viele
praktische Zwecke ist die Servlet-Spezifikation aber flexibel genug.
Die Mächtigkeit der Sprache XSL ermöglicht sehr flexible Formatierungsmechanismen. Beispielsweise wurden im Datumsbeispiel
XSL-Templates verwendet, welche aufgrund der Beschränkung auf
dreispaltige Tabellen nur für das Datumsbeispiel anwendbar sind.
Möglich ist:
• die Erstellung generischer Templates zur Formatierung beliebiger
Tabellen,
• die Erstellung dedizierter Templates für bestimmte Tabellentypen,
• die Formatierung einzelner Felder (z. B. Datum) gemäß dem
zugrunde liegenden Datentyp.
Wir können etwa Kundenaufträge via JDBC aus einer Datenbank
lesen und dann die einzelnen Positionen eines Auftrags als SimpleTableModel erzeugen. Über den im Kopf der XML-Serialisierung enthaltenen Java-Datentyp kann nun ein Template speziell für Auftragspositionen geschrieben werden, welches die für diesen Spezialfall
gewünschte Formatierung liefert.
Darüber hinaus können andere Modelle verwendet werden. Für
Dateisysteme bietet sich analog ein SimpleTreeModel an, welches
Baumgraphen repräsentiert. Diese können dann mit entsprechenden
Stylesheets visualisiert werden.
Möglich ist auch die Generierung von Vollgrafiken bzw. anderen
Ausgabeformaten. Beispielsweise können prozentuale Ergebnisse
einer Wahl als Kuchendiagramm erzeugt werden: Ein XSL-Konverter
erstellt zunächst ein Diagramm im SVG Format, welches dann z. B.
durch das Batik-Framework über einen Servlet-Filter in ein Pixelformat umgewandelt wird.
Literatur
[1]
[2]
[3]
[4]
140
■
■
■
Ron Bourret: Xml and Databases. Technical report.
http://www.rpbourret.com/xml/XMLAndDatabases.htm
E. Maler, J. E. Andaloussi: Developing SGML Dtds. Prentice Hall, 1995
H. P. Fritsche: Cross Media Publishing – Konzept, Grundlagen und Praxis.
Galileo Press, 2001
Wilhelm, Heckmann: Einführung in die Dokumentverarbeitung. AddisonWesley, 1996
2 Einsatz von Markup-Languages
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
Science Citation Index.
http://scientific.thomson.com/products/sci/
T. Ott, G. Fuelle et al.: XML-Kompendium. Pagina GmbH, 2004
Extensible Markup Language (XML) 1.0 (Fourth Edition).
http://www.w3.org/TR/2006/REC-xml-20060816
XSL Transformations (XSLT) Version 1.0
http://www.w3.org/TR/xslt
Extensible Stylesheet Language (XSL) Version 1.0.
http://www.w3.org/TR/xsl
Scalable Vector Graphics (SVG) 1.1.
http://www.w3.org/TR/SVG11
Document Object Model (DOM) Level 3 Core Specification
http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407
Apache Xerces
http://xerces.apache.org
Cascading Style Sheets, level 2 revision 1 CSS 2.1 Specification.
http://www.w3.org/TR/CSS21
Apache Fop.
http://xmlgraphics.apache.org/fop
M. Montero Pineda, J. Sieben: Professionnelle XML-Verarbeitung mit XML.
dpunkt Verlag, 2006
Literatur
■
■
■
141
3 Computer-Supported
Cooperative Work (CSCW) –
kollaborative Systeme und
Anwendungen
Ansgar Gerlicher
Das folgende Kapitel geht auf das interdisziplinäre Forschungsgebiet
Computer-Supported Cooperative Work (CSCW) ein und beschreibt
den Einsatz von CSCW-Systemen in Bezug auf die Medieninformatik.
Zunächst wird der Begriff „CSCW“ in diesem Zusammenhang definiert.
CSCW-Systeme kann man in Anwendungsbereiche und Synchronisationstypen einordnen. Nach der Begriffsdefinition und der Einordnung der CSCW in die Medieninformatik werden die folgenden drei
Anwendungsbereiche anhand einer Reihe von Beispielen vorgestellt.
Neben dem Einsatzzweck des jeweiligen Systems wird auch auf die
Prinzipien der technischen Realisierung solcher Systeme eingegangen.
Dem/der Leser/-in soll damit ein grundsätzliches Verständnis für den
technischen Aufbau und die Funktionsweise kollaborativer Systeme
vermittelt werden:
• Groupware und Workgroup Computing
• Versionsverwaltung
• Mehrbenutzer-Editoren
Folgende Synchronisationstypen können dabei festgestellt werden:
Eingruppierung der CSCW-Systeme
• Synchron
• Asynchron
• Multisynchron
Synchrone Systeme unterstützen das gleichzeitige Arbeiten mehrerer Personen im selben Bereich oder auf denselben Datenobjekten.
Dies ist zum Beispiel bei Chat-Systemen oder den meisten Mehrbenutzer-Editoren der Fall. Bei asynchronen Systemen arbeiten mehrere
Personen „nacheinander“ auf einem oder mehreren Datenobjekten.
3.1 Begriffsdefinition CSCW
■
■
■
143
Es ist also kein gleichzeitiger Zugriff (z. B. lesend oder schreibend) auf
eine Ressource oder einen Bereich möglich, wie zum Beispiel bei verschiedenen Versionsverwaltungs- oder Groupware-Systemen. Multisynchrone Systeme erlauben das gleichzeitige Arbeiten auf einer Kopie desselben Datenobjekts, wobei das Datenobjekt im Nachhinein
synchronisiert wird, also zwischen asynchronem und synchronem
Modus umgeschaltet wird. Dieser Wechsel zwischen Synchronisationstypen geschieht meist automatisch, kann bei manchen Systemen
aber auch manuell vorgenommen werden. Es gibt MehrbenutzerEditoren (wie z. B. SAMS [1]), die das manuelle Umschalten zwischen
verschiedenen Synchronisationstypen erlauben.
Die Einordnung von CSCW-Systemen in Groupware, Versionsverwaltung und Mehrbenutzer-Editoren in diesem Kapitel dient der Gliederung, ist aber in manchen Fällen nicht eindeutig möglich. Manche
CSCW-Systeme haben Eigenschaften, die zum Beispiel sowohl einer
Groupware als auch einer Versionsverwaltung entsprechen. Manche
Mehrbenutzer-Editoren integrieren zum Beispiel eine Versionsverwaltung. Auch können innerhalb eines CSCW-Systems verschiedene Synchronisationstypen festgestellt werden. Die Abb. 3.1 zeigt die verschiedenen CSCW-Anwendungsbereiche und Synchronisationstypen.
Das Unterkapitel „Architektur kollaborativer Systeme“ soll einen
Überblick über die Grundprinzipien der Architektur solcher CSCWSysteme geben, bei denen es sich um verteilte Systeme handelt.
Bei CSCW-Systemen nimmt die Kommunikation von Menschen einen besonderen Stellenwert ein. Daher sollte hier besonderes Augenmerk auf die Softwareergonomie und die Bewusstheit, die sogenannte
„Awareness“, gelegt werden. Das Unterkap. 3.8, „Awareness in kollaborativen Systemen“, befasst sich damit. Zum Abschluss des Kapitels
wird ein Ausblick auf mögliche zukünftige Entwicklungen und potenzielle neue Einsatzgebiete der CSCW gegeben.
Abb. 3.1:
CSCW-Anwendungsbereiche und
Synchronisationstypen in der Übersicht
144
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
3.1
Begriffsdefinition CSCW
Durch den technischen Fortschritt vor allem im Bereich der Computertechnologie, Netzwerktechnik und Telekommunikation wurden
neue Möglichkeiten der Zusammenarbeit geschaffen. Heutzutage
erlaubt die weltweite Vernetzung von Computern mehr Effizienz in
der gemeinschaftlichen Bewältigung einer Aufgabe, selbst über weite
Entfernungen hinweg.
Das Forschungsgebiet der computerunterstützten Zusammenarbeit
(Computer-Supported Cooperative Work) beschäftigt sich mit der
Nutzung dieser Technologien, um die Arbeitsweise von Menschen an
einer gemeinsamen Aufgabe zu verbessern und die Arbeit effizienter
und einfacher zu gestalten. CSCW ist ein Forschungsgebiet, das in
vielen Disziplinen wie der Soziologie, Psychologie, den Arbeits- und
Organisationswissenschaften, dem Management, der Ethnologie, Anthropologie, den Wirtschaftswissenschaften und nicht zuletzt der
Informatik behandelt wird.
In der Literatur findet man mehrere Definitionen für den Begriff
„Computer-Supported Cooperative Work“. Angeblich erstmals er1
wähnt von Irene Greif und Cashman (1984) , wird der Begriff CSCW
von Paul Wilson (1991) folgendermaßen beschrieben:
CSCW ist ein multidisziplinäres
Forschungsgebiet
„CSCW is a generic term that combines the understanding of the
way people work in groups with the enabling technologies of computer networking and associated hardware, software, services
and techniques“ [2]
Mit dieser Definition umfasst der Begriff CSCW verschiedenste
Disziplinen wie Soziologie, Arbeitspsychologie, Ethnologie, aber auch
die verschiedensten Bereiche der Informatik (z. B. Verteilte Systeme,
Informationssysteme, Usability, Künstliche Intelligenz) und der Elektrotechnik. Grudin bestätigt dies (1994), mit der Aussage:
„CSCW started as an effort by technologists to learn from economists, social psychologists, anthropologists, organizational theorists, educators and anyone else who could shed light on group
activity.“ [3]
CSCW ist also ein allgemeiner Begriff, der das „universelle Arbeitsgebiet und die dazugehörigen Forschungsfelder bezeichnet“ [4], die
sich mit der computergestützten Zusammenarbeit von Menschen
beschäftigen.
1
In der Literatur finden sich
verschiedenste Definitionen von
Groupware und CSCW
Quelle: http://de.wikipedia.org/wiki/CSCW.
3.1 Begriffsdefinition CSCW
■
■
■
145
Am häufigsten wird im Zusammenhang mit CSCW der Begriff
„Groupware“ genannt. Ein oft verwendetes Zitat stammt von Clarence
(Skip) Ellis. Er definiert dabei Groupware als:
„computer-based systems that support groups of people engaged
in a common task (or goal) and that provide an interface to a
shared environment. “ [5]
Damit wäre Groupware also die Bezeichnung für Softwarelösungen
und CSCW das allgemeine Forschungsgebiet. Greenberg allerdings
definiert 1991 CSCW folgendermaßen:
„CSCW is a scientific discipline that guides the thoughtful and
appropriate design and development of computer systems to support group work. “ [6]
In der Literatur findet man daher den Begriff Groupware häufig in
Verwendung als Synonym zu CSCW.
Dieses Kapitel bezeichnet mit Groupware spezielle Softwaresysteme, welche die Zusammenarbeit von Menschen (Teilnehmern) an
einer gemeinsamen Aufgabe unterstützen sollen und bei denen das
Hauptaugenmerk auf der Kommunikation zwischen den Teilnehmern
und der Koordination von Aufgaben liegt. Groupware-Systeme sind
hier also nur ein Teilbereich des verschiedenste Disziplinen umfassenden Forschungsgebiets CSCW.
Wir definieren CSCW wie folgt:
Mit Computer-Supported Cooperative Work (CSCW) wird das
verschiedenste Disziplinen umfassende Forschungsgebiet bezeichnet, das sich mit der Unterstützung der Zusammenarbeit
von Menschen durch Computertechnologien (Software, Hardware, Infrastruktur) beschäftigt.
Die Begriffe Cooperation und
Collaboration stiften Verwirrung
Teilbereiche der CSCW beschäftigen sich mit der Entwicklung von
verschiedenen Softwaresystemen, die diese Zusammenarbeit ermöglichen und verbessern sollen. Diese Teilbereiche sind unter anderem Groupware-, Versionsverwaltungssysteme und MehrbenutzerEditoren.
Verwirrung stiftet in der Literatur oft die verschiedene Verwendung
des Begriffs „Cooperation“. Dieser wird von vielen Autoren oft mit
„Collaboration“ gleichgesetzt, andere dagegen unterscheiden die beiden Begriffe sehr wohl, wie zum Beispiel Dillenbourg, Baker et al. 1995:
„Cooperation and collaboration do not differ in terms of whether or
not the task is distributed, but by virtue of the way in which it is divided; in cooperation the task is split (hierarchically) into independent subtasks; in collaboration cognitive processes may be (heterarchically) divided into intertwined layers. In cooperation,
146
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
coordination is only required when assembling partial results,
while collaboration is“...„a coordinated, synchronous activity that
is the result of a continued attempt to construct and maintain
a shared conception of a problem.“ [7]
In diesem Kapitel wird „Cooperation“ als Synonym zu „Collaboration“ verwendet, da beide Begriffe im Deutschen mit „Zusammenarbeit“ übersetzt werden können und um Begriffsverwirrungen zu vermeiden.
3.2
CSCW in der Medieninformatik
Digitale Medien spielen vor allem im Bereich der Groupware eine
wichtige Rolle. Angefangen bei einfachen Textnachrichten, wie sie bei
Chats, Newsgroups, RSS Feeds, E-Mail und anderen Diensten eingesetzt werden, über Hypermedia bei Wikis und Weblogs bis hin zur
interaktiven Multimedia und Audio-/Video-Datenströmen bei modernen Konferenzsystemen wie dem Virtual Conferencing.
Aber auch bei Versionsverwaltungssystemen spielen digitale Medien eine wichtige Rolle, wenn auch eher eine passive. Versionsverwaltungssysteme erlauben nicht nur die Verwaltung von Quellcode
oder einfachen (z. B. ASCII) Textdokumenten, sondern verwalten
auch den Zugriff mehrerer Personen auf multimediale Inhalte. Diese
können z. B. in Form von XML-basierten (wie z. B. XHTML, SVG,
SMIL) oder binärcodierten (proprietären) Dokumentenformaten
vorliegen (z. B. verschiedene Video-/Audioformate, Flash, Real).
Mehrbenutzer-Editoren werden unter anderem zur Erstellung multimedialer Inhalte verwendet. Vor allem in der Forschung existieren
Mehrbenutzer-Editoren, die gleichzeitiges Arbeiten mehrerer Personen auf einer Grafik, einem Textdokument oder einer Webseite erlauben. Auch wenn diese aktuell weniger als Groupware und Versionsverwaltungssysteme im produktiven Einsatz sind, so wird der
Stellenwert von Mehrbenutzer-Editoren, vor allem im MultimediaBereich, mit den immer schnelleren Datenleitungen und internationalen Projektteilnehmern zunehmen.
Das Gruppenbewusstsein (engl.: Group Awareness) ist ein weiterer
zentraler Punkt bei der Entwicklung von CSCW-Systemen. Da Anwender eines CSCW-Systems immer Teil einer Gruppe sind, erfordert
dies eine Änderung ihrer gewohnten Arbeitsweise. Die Anwender
müssen nun, im Gegensatz zu Ein-Benutzer-Systemen, auf Aktionen
der Gruppe zielgerichtet und zeitnah reagieren können. Diese speziellen Anforderungen eines CSCW-Systems in Bezug auf Usability und
3.2 CSCW in der Medieninformatik
Die Rolle der digitalen Medien in
CSCW-Systemen
Das Gruppenbewusstsein spielt eine
wichtige Rolle in CSCW-Systemen
■
■
■
147
Nichtfunktionale Anforderungen an
CSCW-Systeme
Softwareergonomie können nur durch einen Paradigmenwandel und
die Entwicklung spezieller Benutzerschnittstellen erfüllt werden.
Des Weiteren werden an CSCW-Systeme, da es sich meist um verteilte Anwendungen handelt, besondere nichtfunktionale Anforderungen gestellt, die sie von lokalen Anwendungen unterscheiden:
• Häufig sehr kurze Antwortzeiten (fast Echtzeit) über Weitverkehrsnetze wie z. B. das Internet
• Hohe Systemstabilität und hohe Fehlertoleranz bei Netzwerkproblemen und –verzögerungen
• Unterstützung heterogener Umgebungen
Die Forschung an und die Entwicklung von modernen CSCWSystemen erfordert aufgrund des intensiven Einsatzes, der Verwaltung
und der Bearbeitung von multimedialen Inhalten ein gutes Verständnis dieser Systeme und ist wie auch die Entwicklung verteilter Systeme
und die Forschung im Bereich Usability und Softwareergonomie ein
Aufgabengebiet der Medieninformatik.
3.3
Groupware- und
Workgroup-Computing-Systeme
3.3.1
Zielsetzung der Groupware-Systeme
Kommunikation und Koordination
sind zentrale Aufgaben
Der Begriff Groupware ist ein aus den Begriffen Group (Gruppe) und
Software zusammengesetztes Kunstwort. Workgroup Computing wird
hier als Synonym zur Groupware betrachtet. Groupware-Systeme
dienen, im Gegensatz zu „Ein-Benutzer-Systemen“, unter anderem
zur Kommunikation zwischen Personen und von Sachverhalten. Auch
spielt die Koordination von Aufgaben und Prozessen eine Rolle. Obwohl traditionelle Technologien wie das Telefon sich auch als Groupware qualifizieren lassen, bezieht sich der Begriff Groupware auf eine
spezielle Klasse von Technologien. Gemeint sind meist Technologien,
die auf Computernetzwerken basieren, wie zum Beispiel E-Mail,
Newsgroups, Videotelefonie oder Chat.
Wir definieren Groupware- Systeme wie folgt:
Der Begriff Groupware bezeichnet ein aus Software und eventuell spezifischer Hardware bestehendes System, das die Zusammenarbeit im
Team durch die Schaffung von Kommunikations- und/oder Koordinationslösungen unterstützt oder ermöglicht.
148
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Groupware-Systeme bieten entscheidende Vorteile gegenüber „EinBenutzer-Systemen“. Unter anderem wird Groupware aus folgenden
Gründen eingesetzt:
• Zur Verbesserung der Kommunikation innerhalb einer Gruppe. Es
soll schneller, klarer und überzeugender kommuniziert werden
können.
• Um Kommunikation auch dort zu ermöglichen, wo es sonst nicht
möglich wäre.
• Um Telearbeit zu ermöglichen (bei geografisch entfernten Benutzern).
• Zur Einsparung von Reisekosten.
• Zur Bündelung von Fachwissen und dem Gedankenaustausch in
der Gruppe.
• Um Gruppen mit gemeinschaftlichem Interesse zu bilden.
• Zur Zeit- und Kostenreduktion bei der Koordination von Gruppenarbeit.
• Zur Problemlösung in der Gruppe.
• Zur Erlangung neuer Kommunikationsmöglichkeiten, wie zum
Beispiel dem anonymen oder strukturierten Informationsaustausch.
Groupware- Systeme bieten viele
Vorteile gegenüber Ein-BenutzerAnwendungen
Die Entwicklung erfolgreicher Groupware-Systeme ist dagegen
schwieriger als die Entwicklung herkömmlicher Ein-BenutzerSysteme. Das liegt nicht nur an den erschwerten technischen Voraussetzungen. Groupware „lebt“ von der Gruppe. Daher ist die volle Akzeptanz der Groupware durch die Zielgruppe entscheidend für den
Erfolg einer Groupware.
3.3.2
Werkzeuge und Anwendungen
Groupware-Systeme werden oft mit Hilfe einer Raum-Zeit-Matrix
klassifiziert, wie sie in der Tabelle 3.1 dargestellt ist.
Die erste Achse teilt die Systeme in synchrone und asynchrone Systeme ein. Asynchrone Systeme, wie z. B. E-Mail, Weblogs oder elektronische schwarze Bretter, erlauben dabei den Zugriff verschiedener
Personen auf die Daten zu unterschiedlichen Zeiten. Synchrone Systeme dagegen ermöglichen die gleichzeitige Zusammenarbeit mehrerer Personen an einer Aufgabe. Die zweite Achse teilt die Systeme
nach dem Ort der gemeinschaftlichen Arbeit ein. Dabei gibt es Systeme, die Gemeinschaftsarbeit am selben Ort unterstützen (Angesicht
zu Angesicht) und Systeme zur Unterstützung der Arbeit von örtlich
3.3 Groupware- und Workgroup-Computing-Systeme
■
■
■
149
Tabelle 3.1:
Raum-Zeit-Matrix der GroupwareSysteme
verteilten Personen. In diesem Kapitel werden nur Systeme, welche
kollaboratives Arbeiten an verschiedenen Orten unterstützen, betrachtet. Im Folgenden werden die wichtigsten Typen von GroupwareSystemen beschrieben.
3.3.2.1
Asynchrone Groupware
Es gibt synchrone, asynchrone und
multisynchrone Systeme
E-Mail: eines der bedeutendsten
Groupware-Systeme
150
■
■
■
Im Folgenden werden verschiedene Beispiele für asynchrone Groupware vorgestellt. Dabei handelt es sich um Systeme, die keine Echtzeitanforderungen erfüllen müssen. Das heißt, der Zugriff der Gruppenmitglieder auf Daten und Informationen findet nacheinander bzw.
zeitversetzt statt.
E-Mail
E-Mail ist wohl eine der bekanntesten und meistgenutzten GroupwareAnwendungen. Grundsätzlich dient E-Mail zur Übertragung von einfachen Textnachrichten zwischen zwei Benutzern. Schon einfache EMail-Systeme erlauben heutzutage das Weiterleiten, Abspeichern und
Sortieren von Nachrichten sowie das Einrichten von Mailgruppen und
das Anhängen von Dateien an Nachrichten. Auch das automatische
Filtern und das Routen von Nachrichten gehört mittlerweile zum Standard der meisten E-Mail-Systeme. Dabei können E-Mails anhand verschiedener Kriterien automatisch aussortiert, in andere E-Mail-Ordner
einsortiert oder an andere E-Mail-Adressen weitergeleitet werden.
Manche Systeme erlauben auch das Strukturieren und Anreichern von
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Metadaten zu Nachrichten. Weit verbreitete E-Mail-Systeme sind zum
2
3
4
Beispiel Microsoft Exchange , Lotus Notes und Postfix .
Für E-Mail existieren verschiedenste Client-Anwendungen, auch
Mail User Agents genannt, mit denen E-Mails versendet und empfangen werden können. Diese bieten unterschiedlichste Zusatzfunktionen
(z. B. SPAM-Filter, Suchen, Sortierung) und unterstützen verschiedene
Protokolle (z. B. POP3, IMAP, SMTP) für den E-Mail-Transport. Zu
den bekanntesten Clients zählen unter anderem Microsoft Outlook
und Thunderbird. Gesendet werden E-Mails, indem der E-Mail-Client
eine Verbindung zu einem SMTP (Simple Mail Transfer Protocol) Server (SMTP-Relay-Server oder Smarthost) aufbaut und die zu sendende Nachricht an diesen überträgt. Dieser leitet sie dann an den
Empfänger weiter. Um E-Mails abzurufen, verbindet sich der Client
mit einem Mail-Server über das Post-Office-Protokoll 3 (POP3 oder
POP3S für eine sichere Verbindung). Alternativ kann ein Client sich
über das Internet Message Access Protocol (IMAP oder IMAPS für
eine sichere Verbindung) mit einem Mail-Server verbinden. Bei IMAP
müssen (im Gegensatz zu POP3) E-Mails nicht vom Server heruntergeladen und somit dort gelöscht werden, um sie lesen zu können,
sondern verbleiben auf dem Server. Neben den E-Mail-Anwendungen,
die auf der Zielplattform (z. B. Heim-PC) installiert werden müssen,
sind sogenannte Webmail-Clients sehr beliebt. Diese erlauben den
Zugriff auf E-Mails über einen Web-Browser. Verschiedene Dienstleister haben sich darauf spezialisiert, solche „Webmailer“ und den dazugehörigen E-Mail-Dienst anzubieten. Weiterführende Literatur zum
Thema E-Mail finden sie unter [8,9,10].
Newsgroups und Mailinglisten
Diese Systeme dienen, im Gegensatz zu E-Mail, dem Nachrichtenaustausch in einer größeren Gruppe. Ansonsten sind sie dem E-MailSystem aber sehr ähnlich. Der Hauptunterschied zwischen Newsgroups und Mailinglisten besteht darin, dass Newsgroups nur Nachrichten anzeigen, wenn ein Benutzer diese auch direkt anfordert. Bei
Mailinglisten werden Nachrichten an alle Benutzer, welche die Liste
abonniert haben, sofort weitergeleitet.
E-Mail-Protokolle
Workflow-Management Systeme
Aufgabe des Workflow-Managements ist es, eine Spezifikation für die
technische Ausführung von Arbeitsabläufen zu liefern. Das Workflow2
3
4
http://www.microsoft.com.
Der Lotus Domino Server dient dabei unter anderem als IMAP/POP3/SMTP
Server. http://www-306.ibm.com/software/de/lotus/.
http://www.postfix.org/.
3.3 Groupware- und Workgroup-Computing-Systeme
■
■
■
151
Groupware zur Steuerung von
Arbeitsabläufen
Wikis und Blogs sind sehr populär
Management kann damit als eine technische Umsetzung des Geschäftsprozess-Managements verstanden werden. Ein WorkflowManagement-System (WfMS) dient der aktiven Steuerung arbeitsteiliger Prozesse. Eine Workflow-Management-Anwendung ist eine implementierte Lösung zur Steuerung von Arbeitsabläufen (engl.: Workflows) auf der Basis eines Workflow-Management-Systems.
Workflow-Systeme werden häufig der Groupware zugeordnet, da
sie die Arbeit unterschiedlicher Personen innerhalb einer Organisation regeln. In diese Kategorie fallen auch sogenannte AnforderungsManagement- (engl.: Requirements-Management-) und ÄnderungsManagement-Systeme (engl.: Change-Management-Systems). Diese
unterstützen die Kollaboration und Kommunikation bei der Erfassung von Anforderungen eines Systems. Hierbei soll eine strukturierte
Vorgehensweise (durch Workflow-Management) bei der Anforderungserfassung und eine Verwaltung der erfassten Daten die Arbeit
erleichtern. Ein Beispiel für ein führendes Anforderungs-Management-System ist DOORS der Firma Telelogic. Beispiele für kommerzielle WfMS bzw. Änderungs-Management-Systeme sind IBM Ratio5
nal ClearCase und ClearQuest MultiSite .
Weiterführende Literatur zum Thema Workflow-Management finden sie unter [11].
Hypertext-basierte Systeme
Mit der Entwicklung des Hypertext-Transfer-Protokolls (HTTP) und
den ersten Web-Browsern wurde die Grundlage für eines der meistgenutzten Groupware-Systeme geschaffen: Das World Wide Web
(WWW) ist im Prinzip ein Groupware-System, da viele Personen darüber Informationen computergestützt austauschen.
Heutzutage existieren viele Groupware-Systeme, die sich die Hypertext-Technologie zu Nutze machen. Die schon erwähnten webbasierten E-Mail-Clients gehören noch zu den einfachen. Hypertextbasierte Systeme nutzen das Internet bzw. Intranet und das Hypertext-Transfer-Protokoll, um Zugang zu ihren Diensten über einen
Web-Browser zu ermöglichen. Prinzipiell kann fast jede asynchrone
Groupware-Lösung auch mit einer Web-Schnittstelle ausgestattet
werden.
Viele Systeme besitzen neben webbasierten Clients (auch ThinClients genannt) herkömmliche Clients, da nicht alle Funktionalitäten
über einen Web-Client abgebildet werden können. Hingegen gibt es
einige Groupware-Systeme, die nur Web-Clients einsetzen. Dazu gehören neben den sogenannten Blogs oder Weblogs auch die WikiSysteme (wie z. B. das MediaWiki) und viele weitere. Damit ist es mög5
152
■
■
■
http://www-306.ibm.com/software/awdtools/clearcase/multisite.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
lich, auf relativ einfache Weise Informationen einer großen Zahl an
Personen (bestenfalls allen Internetnutzern) zur Verfügung zu stellen.
Interessierte Benutzer müssen diese Informationen entweder aktiv
abrufen, indem sie die entsprechende Webseite aufrufen, oder sogenannte RSS (Really Simple Syndication) Feeds für Blogs und andere
Inhalte (z. B. Podcast Hypermedia) abonnieren. Die auf diese Weise
abonnierten Inhalte werden automatisch zugestellt.
Zusätzlich wurden Erweiterungen des Hypertext-Transfer-Protokolls entwickelt, die das Aufspielen und Ändern von HypertextInhalten auf einen Web-Server erleichtern. Dazu gehört das sogenannte WebDAV (Web-based Distributed Authoring and Versioning).
Gegenüber der Verbindung mit FTP (File Transfer Protocol) oder
anderen Protokollen hat WebDAV verschiedene Vorteile. Es ist unter
anderem leichter bedienbar, denn es wird von den gängigen Betriebssystemen standardmäßig unterstützt. Die Verwendung von WebDAV
bereitet auch hinter Firewalls weniger Schwierigkeiten als z. B. FTP, da
die Standard-HTTP-Ports genutzt werden.
Ein Beispiel für ein kommerzielles webbasiertes asynchrones
Groupware-System, welches unter anderem WebDAV einsetzt, ist der
6
Microsoft SharePoint Portal Server . Dieses System dient zur Verwaltung und zum Bearbeiten von Dokumenten in einer Gruppe.
Hypertext-Systeme, die nicht nur textuelle, sondern auch multimediale Inhalte verwalten, werden oft Hypermedia-Systeme genannt.
Hierzu zählen Groupware-Systeme, die webbasiert arbeiten, aber neben Text auch Audio- und/oder Videostreams einsetzen. Oft handelt
es sich dabei um Online-Konferenzsysteme oder Systeme für kooperatives Lernen. Computer-Supported-Cooperative-Learning- (CSCL-)
Systeme arbeiten oft webbasiert, da der Zugang einer breiten Personengruppe möglich sein soll und die Installation einer speziellen
Software nicht immer erwünscht ist.
Mit Hilfe der sogenannten Web 2.0-Technologien wie Ajax (Asynchronous Javascript and XML) und den Web-Service-APIs wird es möglich, auch „quasi synchrone“ kollaborative webbasierte Anwendungen
zu realisieren. Dabei informieren sich die webbasierten Clients durch
regelmäßige Anfragen beim Server (Polling) über Änderungen an den
gemeinsamen Daten. Solche kollaborativen Web 2.0 Dienste erlauben
das gemeinsame Bearbeiten von Dokumenten im Team über einen
Web-Browser, ähnlich der Wikis, nur interaktiver und zeitnah. Beispiel
7
für webbasierte Mehrbenutzer-Editoren sind Zoho Writer und Write8
ly . Web 2.0-basierte Dienste zeichnen sich durch eine Benutzerinter6
7
8
Web 2.0-Dienste verbessern die Usability
einer webbasierten Anwendung
http://www.microsoft.com/office/sharepoint/prodinfo/default.mspx.
http://www.zohowriter.com.
http://www.writely.com.
3.3 Groupware- und Workgroup-Computing-Systeme
■
■
■
153
aktivität aus, die herkömmlichen Stand-alone-Anwendungen sehr
nahe kommt. Sie vereinen damit die Vorteile der Plattformunabhängigkeit mit größtmöglicher Benutzerfreundlichkeit und Funktionalität.
Die Entwicklung von effizienten Hypermedia-Protokollen und neuen Anwendungen ist ein Forschungsgebiet, das mit der ständig wachsenden Bandbreite der Datenleitungen stark zugenommen hat. Verschiedene Forschungsgruppen versuchen hier neue Standards im
9
Bereich Hypermedia zu etablieren. Ein Beispiel dafür ist Annodex , ein
offener Standard für die Annotierung und Indexierung von Multimedia-Inhalten im Internet. Ziel dabei ist es, das sogenannte Continuous
Media Web (CMWeb) zu entwickeln: eine extrem mehrbenutzerfähige
verteilte Hypermedia-Umgebung für das World Wide Web der übernächsten Generation.
Gruppenkalender wollen gepflegt
werden
Gruppenkalender
Gruppenkalender erlauben die Terminplanung und die Koordination
von vielen Personen innerhalb einer Organisation. Oft unterstützen
solche Systeme auch die Synchronisation von Terminen mit mobilen
Endgeräten. Sie können automatisch Terminkonflikte erkennen und
Termine finden, an denen jeder Teilnehmer einer Gruppe Zeit hat.
Gruppenkalender sind oft integrierte Bestandteile anderer Group10
ware-Systeme wie z. B. Microsoft Outlook . Gruppenkalender leiden
oft unter fehlender Datenpflege, da nicht immer alle Benutzer ein
Interesse an der Eingabe ihrer Daten haben. Daher sollten solche Systeme besonderen Wert auf die Privatsphäre von Benutzern legen und
den Zugriff auf Informationen stark durch die Benutzer kontrollierbar
machen. Jeder Benutzer sollte selbst bestimmen können, wem welche
Informationen über ihn zugänglich sind.
3.3.2.2
Synchrone Groupware
Bei Groupware-Systemen, die den gleichzeitigen Zugriff der Gruppenmitglieder auf Daten und Informationen ermöglichen, handelt es
sich um synchrone Groupware. Im Folgenden werden einige Beispiele
dafür vorgestellt.
Elektronische Tafel
Elektronische Tafeln (engl.: Electronic Whiteboard) erlauben es mehreren Personen, zur selben Zeit und von unterschiedlichen Orten aus
auf eine für alle sichtbare Fläche zu zeichnen.
9
10
154
■
■
■
http://www.annodex.net/.
http://office.microsoft.com/de-de/FX010857931031.aspx.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Elektronische Tafeln können zum Beispiel dazu verwendet werden,
ein visuelles Problem zu besprechen oder während eines Telefonats
Notizen zu machen, die dann von jeder Person kommentiert werden
können. Die meisten dieser Systeme dienen informellen Zwecken,
können aber auch für anspruchsvollere Aufgaben eingesetzt werden.
Im Gegensatz zu grafischen Mehrbenutzer-Editoren besitzen sie allerdings meist keine Synchronisationsmöglichkeit und garantieren keine
Datenkonsistenz. Einfache Systeme arbeiten sogar asynchron und
erlauben zu einem Zeitpunkt nur einer Person den Zugriff auf die
Zeichenfläche, während die anderen Personen die gemachten Änderungen nur betrachten können. Erst nach Freigabe der Zeichenfläche
durch den Benutzer, kann dann der nächste Teilnehmer den „Zeichenstift“ ergreifen.
Elektronische Tafeln sind häufig integraler Bestandteil anderer
Groupware-Anwendungen wie Audio- und/oder Videokonferenzsysteme oder Chats.
Application Sharing Systeme
Application-Sharing-Systeme werden auch Systeme zur Anwendungsaufteilung genannt. Dabei handelt es sich um eine Software, die es
ermöglicht, eine Anwendung oder eine Betriebssystemoberfläche mit
mehreren Benutzern zu teilen. Application-Sharing-Systeme sind
Client-Server-basiert. Der PC oder die Workstation, deren Anwendungen anderen zugänglich gemacht werden sollen (das HostSystem), betreibt den Server des Application-Sharing-Systems. Die
Application-Sharing-Clients verbinden sich mit dem Host und übermitteln an diesen Informationen wie Mausbewegungen und Tastendrücke. Diese werden dann vom Host-System direkt ausgeführt, als ob
sie vom lokalen Benutzer stammen würden. Der Application-SharingServer übermittelt die grafische Darstellung der Anwendungen des
Host-Systems an die Clients. Das Application Sharing funktioniert
dabei ähnlich einer elektronischen Tafel, nur dass dabei das Abbild
einer Anwendung (ähnlich einem Screenshot) übertragen wird anstatt
der Zeichenfläche. Ein Beispiel für ein System, welches sowohl eine
elektronische Tafel als auch Videokonferenz, Chat und Application11
Sharing unterstützt, ist Microsoft Netmeeting® .
Application-Sharing-Systeme sind anwendungsunabhängig und
kollaborationstransparent (engl. collaboration transparent). Das heißt,
es können damit im Prinzip alle Arten von Anwendungen gemeinsam
genutzt werden und die geteilte Anwendung bekommt davon nichts
mit. Solche Systeme unterstützen striktes WYSIWIS (What You See Is
What I See) und eignen sich damit besonders für die sehr enge
11
Elektronische Tafeln helfen bei der
Visualisierung in Teambesprechungen
Enge Zusammenarbeit wird trotz
räumlicher Trennung durch
Application Sharing möglich
http://www.microsoft.com/windows/netmeeting/.
3.3 Groupware- und Workgroup-Computing-Systeme
■
■
■
155
Zusammenarbeit räumlich getrennter Benutzer. Application-SharingSysteme werden sinnvollerweise durch eine direkte Kommunikation
aller Teilnehmer ergänzt, z. B. durch eine Telefonkonferenz, um die
Aktionen der Teilnehmer zu koordinieren. Beispiele für Application12
13
Sharing-Systeme sind VNC oder NetViewer .
Videokonferenzsysteme sind
mittlerweile Standard in vielen
größeren Unternehmen
Videokonferenzsysteme
Bei den Videokonferenzsystemen gibt es verschiedenste Ausführungen in Soft- und Hardware. Neben den Desktop-Systemen, die auf
herkömmlichen PCs laufen, existieren Settop-Boxen, Raumsysteme
und mobile Systeme, die zum Beispiel Videokonferenzen über UMTS
ermöglichen. Die meisten Videokonferenzsysteme basieren auf einer
zentralistischen Architektur, bei dem sich die Teilnehmer an einem
zentralen Server anmelden, um an der Konferenz teilzunehmen. Diese
zentralen Instanzen werden Gatekeeper genannt und sind unter anderem für den Verbindungsaufbau zwischen den Endgeräten und der
Multipoint Control Unit (MCU) zuständig.
MCUs sind Sternverteiler – auch als Reflector bezeichnet – für
Gruppenkonferenzen. Sie sind immer dann notwendig, wenn mehr als
zwei Teilnehmer an einer Konferenz teilnehmen wollen. Ein Gateway
verbindet unterschiedliche Netze miteinander und konvertiert Protokolle ineinander oder koppelt Netzwerke. Bei gemeinsamer Nutzung
von ISDN- und TCP/IP-Endgeräten ist der Einsatz eines Gateways
zwingend notwendig.
Peer-to-Peer- (P2P-) Videokonferenzsysteme stellen einen alternativen Ansatz zu den herkömmlichen zentralistischen Videokonferenzsystemen dar. Sie verzichten auf einen zentralen Gruppen- und Kommunikationsserver wie Gatekeeper und die MCU. Stattdessen wird die
gesamte Intelligenz in die Endsysteme, d. h. die PCs und Workstations,
verlagert. Es existieren verschiedene Protokolle für den Verbindungsaufbau und die Übertragung der Video- und Audiodaten. Die wichtigsten sind H.323 und das Session Initialisation Protocol (SIP).
Multimediale Konferenzsysteme
Neben Videokonferenzsystemen gibt es auch Systeme, die außer Video- und Audiodaten auch multimediale Inhalte in eine Konferenz
einfließen lassen. Diese werden unter anderem für Projektbesprechungen, Führungskräftemeetings, Kundenberatung und E-Learning
eingesetzt. Teilnehmer einer Gruppe können sich dabei netzbasiert in
einer virtuellen Umgebung treffen z. B. zum Koordinieren ihrer Aufgaben, Präsentieren von Lösungen und Diskutieren von Lösungsalter12
13
156
■
■
■
http://www.vnc.com/.
http://www.netviewer.de/.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
nativen. Ein Beispiel für ein solches multimediales Konferenzsystem
14
ist VITERO (Virtual Tea Room) .
Chat-Systeme
Chats sind ein äußerst beliebtes Mittel, sich im Internet zu treffen und
auszutauschen. Sie erlauben vielen Personen, Nachrichten in „Echtzeit“ zu schreiben und zu veröffentlichen. Sobald eine Person eine
Nachricht abschickt, erscheint diese sofort auf dem Bildschirm der
anderen Teilnehmer. Es gibt verschiedenste Ausprägungen von ChatSystemen. Meist sind dies Anwendungen, die auf einem Endgerät
installiert werden und sich mit einem zentralen Chat-Server verbinden. Es gibt aber auch Peer-to-Peer-Chat-Systeme, die keinen zentralen Server benötigen, und webbasierte Clients. Chat-Server verwalten
sogenannte Chat-Räume, die meist nach Diskussionsthemen eingeteilt
sind und entweder offen und für jedermann zugänglich oder privat
sind. Manche Chat-Räume besitzen einen Moderator, der die Diskussion leitet. Missbrauch verhindert dieser, indem er Benutzer aus dem
Chat-Raum verweist, die die Regeln nicht einhalten. Chat-Teilnehmer
wählen zur Identifizierung meist einen anonymen Spitznamen (engl.
Nickname).
15
Bekannteste PC-basierte Chat-Clients sind ICQ , AOL Instant Mes16
17
senger , Microsoft Messenger (MSN) , verschiedene IRC-Chat Clients
18
wie mIRC und verschiedene Jabber-Clients. Auch für mobile Endge19
räte existieren Chat-Clients wie zum Beispiel Mjabber und andere,
die das Chatten von überall und zu jederzeit ermöglichen.
Für Chat-Systeme existieren keine einheitlichen Standards. Es gibt
viele proprietäre nicht offen gelegte Protokolle und Systeme zum Datenaustausch (ICQ, AOL etc.). Offene Systeme sind unter anderem das
schon relativ alte Internet Relay-Chat- (IRC-) System, von dem es
viele Ausprägungen und Erweiterungen gibt. Ein neueres Protokoll
und Chat-Netzwerk ist zum Beispiel Jabber, das basierend auf XML
zusammen mit sogenannten „Transports“ die Kommunikation mit
den meisten der proprietären Chat-Systemen wie ICQ, AOL und
Microsoft unterstützt.
Neben dem Versenden von reinen Textnachrichten unterstützen
viele Chat-Systeme auch die Übertragung von Dateien und Audiound/oder Videostreams. Eine relativ neue Entwicklung sind die soge14
15
16
17
18
19
Chats dienen nicht nur der Unterhaltung
Chats für Mobiltelefone anstatt SMS
http://www.vitero.de/.
http://www.icq.com/.
http://www.aim.com/.
http://messenger.msn.com/Xp/Default.aspx.
http://www.mirc.com/.
http://www.mjabber.com/.
3.3 Groupware- und Workgroup-Computing-Systeme
■
■
■
157
nannten Voice-Over-IP- (VoIP-) Chat-Systeme wie z. B. Skype. Diese
erlauben die Gruppentelefonie über VoIP und zusätzlich das versenden von Textnachrichten und Dateien. Auch klassische Chat-Systeme
wie z. B. ICQ sind nachgezogen und bieten die Möglichkeit der Telefonkonferenz oder das sogenannte Push-to-Talk über das Internet.
Beim Push-to-Talk werden beim Drücken eines Tasters (Mausklick)
kurze Audiodateien aufgezeichnet und danach an mehrere Teilnehmer versendet. Die Push-to-Talk-Technologie ähnelt (in Bezug auf die
Bedienung) der Funkgerätetechnik und wird auch im Mobilfunk
(GPRS, UMTS) eingesetzt. Die VoIP-Chat-Systeme nutzen neben proprietären Protokollen auch klassische VoIP-Protokolle wie SIP (Session Initialisation Protocol) und H.323.
Systeme zur Entscheidungsfindung
Diese Systeme sollen Gruppen in der Entscheidungsfindung unterstützen und bieten dazu Werkzeuge für Brainstorming, Ideensammlung und Kritik, Pro- und Kontra-Abwägung und zum Wählen. Sie
sind oft integraler Bestandteil von Konferenzsystemen und dienen als
zusätzliche Unterstützung in Besprechungen, um zur aktiven Teilnahme zu ermutigen, anonyme Teilnahme zu ermöglichen oder die
Teilnahme durch „Aufrufen“ zu erzwingen.
Mehrbenutzer-Spiele
Verteilte Mehrbenutzer- bzw. Online-Spiele sind komplexe, kollaborative Systeme. Die ersten Online-Spiele waren nur textbasiert und ähnelten sehr stark Chats. Meist handelt es sich bei diesen „einfachen“ Spielen
20
um sogenannte Rollenspiele. Ein bekanntes Beispiel dafür ist Unitopia .
Mit der größeren Bandbreite und den schnelleren PC-Systemen wurden
die grafischen Fähigkeiten der Online-Spiele immer besser. Moderne
Mehrbenutzer-Spiele bieten sehr realitätsnahe „Echtzeit“ 3D Umgebungen und werden durch andere Kommunikationsmittel wie Text-,
Audio- oder sogar Video-Chat erweitert. Bei Echtzeit-MehrbenutzerSpielen (engl.: multi-player games) ist eine sehr zeitnahe Interaktion
notwendig, um das „Überleben“ der Spielfigur zu gewährleisten. Daher
haben diese Mehrbenutzer-Spiele sehr hohe Echtzeitanforderungen. Im
Gegensatz zu z. B. Mehrbenutzer-Editoren, spielt die Datensynchronität
bei Mehrbenutzer-Spielen oft eine untergeordnete Rolle. Gehen ein paar
wenige Informationen verloren, so fällt dies oft nicht ins Gewicht. Wird
z. B. eine abgeschossene Kugel von hunderten in einem Feuergefecht
nicht an alle Teilnehmer übertragen, spielt das meist keine große Rolle.
Wichtiger ist dabei die „grobkörnige“ Information wie z. B. „Spielfigur
ist im Gefecht gefallen“ oder „Spielfigur hat 20 Lebenspunkte verloren“.
20
158
■
■
■
http://unitopia.uni-stuttgart.de/.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Die Verbreitung und Vermarktung von Online-Mehrbenutzer-Spielen
nimmt stark zu und der Online-Spielmarkt ist zurzeit einer der am
stärksten wachsenden Bereiche der Softwarebranche.
Kollaborative Betriebssysteme
21
Das Croquet-Projekt ist ein Beispiel für eine neuartige kollaborative
Betriebssystemarchitektur, die mit Hilfe einer neuartigen Benutzeroberfläche und Netzwerkarchitektur ein intensives Zusammenarbeiten aller Benutzer des Systems ermöglichen soll. Croquet ist noch
Gegenstand der Forschung, bietet aber sehr interessante Ansätze und
einen Ausblick auf die Zukunft des kollaborativen Arbeitens.
3.4
Versionsverwaltungssysteme
3.4.1
Zielsetzung der Versionsverwaltungssysteme
Größere Softwareprojekte, aber auch das Erstellen umfangreicher
Dokumente wie zum Beispiel Bücher, Kataloge und Handbücher erfordern die erfolgreiche Zusammenarbeit mehrerer Personen. Dabei
stellt sich automatisch die Frage nach der Verwaltung der sich in der
Erstellung befindlichen Artefakte und der Kontrolle des Zugriffs auf
diese. Unkontrollierter gleichzeitiger Zugriff auf die Artefakte kann
Dateninkonsistenz zur Folge haben. Gerade bei Softwareprojekten, bei
denen verschiedene Quellcodedateien von mehreren Personen gleichzeitig bearbeitet werden sollen, ist die Erhaltung der Quellcodekonsistenz essenziell, da ein Projekt ansonsten eventuell nicht mehr übersetzt werden kann.
Häufig werden Verfahren wie Turn-Taking, Split-Combine oder
Copy-Merge zur Kontrolle der Zugriffe eingesetzt. Diese haben den
Vorteil, dass sie keine Softwareinstallation erfordern, aber auch
Nachteile in Bezug auf den Zeitaufwand und die Nachvollziehbarkeit
von Änderungen (siehe Kap. 3.6.1).
Versionsverwaltungssysteme haben die Aufgabe, die Teamarbeit zu
unterstützen und die Konsistenz der Artefakte zu wahren. Zusätzlich
sollen sie die Nachvollziehbarkeit von Änderungen zu jedem Zeitpunkt durch die Versionierung der zu verwaltenden Artefakte gewährleisten. Versionsverwaltungssysteme werden daher gerade im
Bereich der Softwareentwicklung häufig eingesetzt. Sie sind aber prinzipiell nicht auf diesen Bereich beschränkt. Neben der Versionsver21
Versionsverwaltung ist nicht nur in der
Softwareentwicklung wichtig
http://www.opencroquet.org/.
3.4 Versionsverwaltungssysteme
■
■
■
159
waltung können diese Systeme auch für die Konfigurationsverwaltung
eingesetzt werden. Dabei werden verschiedene Versionen von Artefakten zu einer Konfiguration zusammengestellt.
Beispiele für bekannte kommerzielle Versionsverwaltungssysteme
22
sind Microsoft Visual Sourcesafe (VSS), Synergy/CM (ehem. Conti23
24
nuus/CM) und Perforce . Die bekanntesten kostenlosen Systeme
25
sind das Concurrent Versioning System (CVS) oder dessen Nachfol26
gesystem Subversion (SVN). All diese Systeme können im Prinzip für
die Versionierung jedes Datentyps eingesetzt werden. Bei der Verwaltung der Versionen der verschiedenen Datentypen bestehen allerdings
Unterschiede. Je nach Datentyp werden entweder nur die Änderungen
zwischen den Versionen oder das komplette Artefakt in der neuen
Version abgespeichert. Letzteres trifft z. B. bei Visual Sourcesafe oder
Perforce auf Binärdateien zu. Subversion hingegen speichert auch bei
Binärdateien nur die Unterschiede zwischen den Versionen ab und
spart somit Speicherplatz.
Ein Versionsverwaltungssystem zeichnet jede Änderung an einem
von ihm verwalteten Artefakt auf. Die Artefakte werden dabei üblicherweise in einem zentralen Datenspeicher (Projektarchiv) gehalten.
Der Zugriff darauf wird vom System verwaltet und geschieht durch
einen sogenannten Check-In/Check-Out-Mechanismus. Jedes Teammitglied arbeitet dabei auf lokalen Kopien der Artefakte. Diese müssen
zunächst vom Teammitglied durch ein Check-Out (Ausprüfung) als
„in Bearbeitung“ markiert werden. Dabei werden die lokalen Kopien
angelegt. Nun können Änderungen an den Artefakten vorgenommen
werden. Nach Abschluss der Änderungen werden die Artefakte wieder
durch ein Check-In in das System übertragen, wodurch eine neue Artefakt-Version entsteht. Beim Check-In ist dabei oft das Kommentieren von Änderungen obligatorisch, um später einfacher Änderungen
nachvollziehen zu können. Das System prüft bei jedem Check-In, ob
die Änderungen überhaupt zurückspielbar sind oder unlösbare Konflikte mit zwischenzeitlich von anderen Teammitgliedern vorgenommenen Änderungen bestehen.
Versionsverwaltungssysteme arbeiten dabei mit Sperrverfahren
(engl.: locking), um Konflikte zu erkennen und Inkonsistenzen zu vermeiden. Hierbei werden hauptsächlich zwei Verfahren eingesetzt: das
pessimistische und das optimistische Sperrverfahren (siehe Kap. 3.6).
22
23
24
25
26
160
■
■
■
http://msdn.microsoft.com/vstudio/previous/ssafe/.
http://www.telelogic.com/.
http://www.perforce.com/.
http://www.nongnu.org/cvs/.
http://subversion.tigris.org/.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
3.4.2
Anforderungen an Versionsverwaltungssysteme
Neben der reinen Versionsverwaltung und der Konsistenzerhaltung
durch Sperrverfahren gibt es weitere Anforderungen an ein Versionsverwaltungssystem.
Ein wichtiger Aspekt beim Bearbeiten von Artefakten ist die Gruppierung zugehöriger Änderungen in sogenannte Change-Sets. Dies
ermöglicht das einfache Erkennen eines Änderungskontexts. Die Evolution eines Projekts geht dabei nicht nur aus den Änderungen der
einzelnen Artefakte hervor, sondern es bleiben durch die Definition
eines Change-Sets auch die Zusammenhänge der einzelnen Änderungen erhalten.
Beim Check-In von Änderungen sollten Systeme transaktionsorientiert arbeiten. Werden z. B. mehrere Dateien gleichzeitig eingecheckt, kann es dazu kommen, dass einige Änderungen konfliktfrei
sind, andere aber hingegen konfliktbehaftet. Lässt ein System dabei
das Check-In der konfliktfreien zu und ignoriert die konfliktbehafteten Änderungen, so kann dies zu Problemen führen, wenn zwischen
den gleichzeitig eingecheckten Artefakten Zusammenhänge bestehen.
Daher bieten einige Versionsverwaltungssysteme sogenannte atomare
Check-Ins: Eine Menge von Änderungen werden entweder vollständig
oder gar nicht ausgeführt. Der Projektteilnehmer hat somit Versionskonflikte aufzulösen, bevor das Versionsverwaltungssystem seine
Änderungen akzeptiert.
Die Rechtevergabe sollte bei Versionsverwaltungssystemen möglichst feinkörnig sein, um den Zugriff nicht nur für Verzeichnisse,
sondern auch für Dateien regeln zu können. Dies macht vor allem
dann Sinn, wenn Projektteilnehmer ihre Änderungen nicht direkt
„einchecken“ können sollen, sondern erst nachdem mehrere andere
Personen zugestimmt haben (Qualitätskontolle, Review).
Eine Versionsverwaltung sollte auch das Verzweigen von Projektversionen erlauben (engl.: Branching). Dies ermöglicht z. B. in Softwareprojekten das Arbeiten an Patches für eine Version unabhängig
von den Arbeiten an der Nachfolgeversion. Solche einmal verzweigten
Projektversionen sollten danach auch wieder zusammengeführt werden können (engl.: Merging). Zusätzlich sollte das Verwenden eines
Artefakts in mehreren Projekten möglich sein (engl.: Sharing).
Eine recht hilfreiche Funktion ist es, Metadaten wie Kommentartexte frei vergeben zu können, um damit bestimmte Versionen von
Artefakten leichter wiederfinden zu können (engl.: Tagging).
3.4 Versionsverwaltungssysteme
Versionsverwaltungssysteme können
mehr
■
■
■
161
3.4.3
Architektur von Versionsverwaltungssystemen
Versionsverwaltungssysteme sind meist klassische Client-Server Systeme. Es gibt einen zentralen Server, der den Datenspeicher verwaltet,
und mehrere Clients, die über verschiedenste Protokolle mit dem
Server kommunizieren.
Eine Ausnahme bildet hier Microsoft Visual Sourcesafe (VSS).
Sourcesafe besitzt keine echte Client-Server-Architektur. Der Datenspeicher (Projektarchiv) ist nur eine Freigabe im Netzwerk, welche
eine Sourcesafe-Datenbank in einem proprietären Format enthält. Die
Clients greifen also auf den Datenspeicher über Filesharing zu. Dies
setzt das SMB-Protokoll (Server Message Block) voraus. Damit müssen sich VSS-Clients zumindest im selben virtuellen Netzwerk befinden und können nicht direkt über TCP/IP auf den Datenspeicher
zugreifen. Auch laufen die VSS-Clients nur unter Windows.
Andere Systeme unterstützen eine heterogene Umgebung, laufen
auf verschiedensten Plattformen und erlauben den Zugriff auf den
Datenspeicher entweder direkt über TCP/IP oder andere höhere Protokolle. Subversion z. B. erlaubt den Zugriff zusätzlich über die HTTPProtokollerweiterung WebDAV (Web-based Distributed Authoring
and Versioning)
Die Clients der Versionsverwaltungssysteme gibt es in unterschiedlichsten Ausführungen und von unterschiedlichsten Herstellern. Es
existieren kommandozeilenbasierte und grafische Clients. Viele
27
Clients sind als Plug-In zu Entwicklungsumgebungen (z. B. Subclipse )
erhältlich. Eine von Microsoft entwickelte API (Application Programmers Interface) namens SCC-API (Source Code Control) ermöglicht
die einfache Entwicklung und Integration von Clients in bestehende
Entwicklungsumgebungen.
3.5
Kollaborative Mehrbenutzer-Editoren
3.5.1
Zielsetzung der Mehrbenutzer-Editoren
Mehrbenutzer-Editoren kommen in
verschiedensten Bereichen zum Einsatz
Kollaborative Mehrbenutzer-Editoren existieren für verschiedenste
Dokumentenformate. Ähnlich wie die Versionsverwaltungssysteme
sind viele der Editoren aus dem Bereich der Softwareentwicklung und
zum Zweck der gemeinsamen Bearbeitung von Quellcode entstanden.
27
162
■
■
■
http://subclipse.tigris.org/.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Mittlerweile gibt es Mehrbenutzer-Editoren für einfache Quellcode
und Textdokumente, Grafiken, Hypertextdokumente und weitere. Das
Ziel beim Einsatz von Mehrbenutzer-Editoren ist es, die Produktivität
durch gemeinsames Arbeiten mehrerer Personen an einem Dokument
zu steigern. Die meisten der existierenden Mehrbenutzer-Editoren
unterstützen jeweils nur ein bestimmtes proprietäres Dokumentenformat und die Einsatzgebiete sind daher meist recht spezialisiert.
Mehrbenutzer-Editoren können synchron, asynchron oder multisynchron sein. Asynchrone Mehrbenutzer-Editoren (z. B. CES [12],
28
DistEdit [13], Lotus Notes ) erlauben mehreren Personen, nacheinander an einem Dokument zu arbeiten. Das komplette Dokument
oder Teile davon werden z. B. mit Hilfe eines pessimistischen oder
optimistischen Sperrverfahrens (siehe Abschn. 3.6.) konsistent gehalten. Sie sind praktisch Editoren mit integrierter Versionsverwaltung
und unterstützen die Gruppenarbeit zusätzlich z. B. durch eine gemeinsame Dokumentenablage, ein gemeinsames Objektrepository,
verschiedene Awareness-Mechanismen (z. B. um zu sehen, wer gerade
woran arbeitet) und zusätzliche Kommunikationsunterstützung
durch z. B. Chats oder Videotelefonie. Diese Editoren erlauben es also
Benutzern, am selben Dokument zu arbeiten, aber typischerweise in
verschiedenen Abschnitten und zu verschiedenen Zeiten. Asynchrone
Mehrbenutzer-Editoren basieren entweder auf einer zentralistischen
oder einer replizierten Architektur (siehe Kap. 3.7.).
Multisynchrone Mehrbenutzer-Editoren erlauben das Umschalten
zwischen asynchroner und synchroner Arbeitsweise. Diese Umschaltung geschieht entweder automatisch oder manuell (z. B. SAMS [1]).
Beim gemeinsamen Arbeiten an einem Dokument ist es oft nicht erwünscht, dass andere sofort alle Änderungen eines Benutzers mitbekommen (asynchron). Diese sollen erst zu einem vom Benutzer bestimmten Zeitpunkt allen zur Verfügung stehen. Zu einem anderen
Zeitpunkt aber arbeiten mehrere Personen gleichzeitig (synchron) am
selben Bereich innerhalb eines Dokumentes (z. B. um die vorher gemachten Änderungen zu besprechen), und es ist erforderlich, dass sie
die jeweiligen Änderungen sofort sehen können. In diesem Fall ist
eine Umschaltung zwischen synchroner und asynchroner Arbeitsweise sinnvoll.
Synchron arbeitende Editoren werden auch als „Echtzeit“ (engl.
„real-time“) -Editoren bezeichnet. Das Forschungsgebiet des „RealTime Collaborative Editing“ (RTCE) ist ein Teilgebiet des CSCW und
untersucht Computersysteme zum gleichzeitigen und effektiven Bearbeiten eines Dokuments durch mehrere Personen in „Echtzeit“. Dazu
zählen Systeme wie REDUCE [14], CoWord oder CoPowerPoint [15].
28
http://www.lotus.de/.
3.5 Kollaborative Mehrbenutzer-Editoren
■
■
■
163
Bei der Entwicklung von Echtzeit-Editoren müssen verschiedene
Probleme überwunden werden, die mit den Anforderungen dieser
Systeme zusammenhängen. Die Lösung dieser Probleme ist teilweise
noch Gegenstand der Forschung. Im Folgenden werden die wichtigsten dieser Probleme beschrieben.
3.5.2
Probleme des „Echtzeit“-Editierens
Echtzeit-Mehrbenutzer-Editoren sind verteilte Systeme, die es ermöglichen sollen, Dokumente in Echtzeit von mehreren Personen von
verschiedenen Orten aus zu bearbeiten. Dies sollte möglichst so geschehen, dass die einzelnen Personen in Bezug auf die Performanz fast
keinen Unterschied zu einem Ein-Benutzer-Editor feststellen können.
Ein Benutzer soll nach einem Tastendruck nicht erst warten müssen,
bis das System seine Eingabe geprüft hat. Daher erfordern diese Editoren im Vergleich zu den meisten anderen kollaborativen Systemen
und Datenbanksystemen besonders schnelle Antwortzeiten.
Ein „verteiltes“ Dokument, das mit Hilfe eines MehrbenutzerEditors bearbeitet wird, muss bei allen Benutzern zu jeder Zeit denselben Inhalt tragen. Es muss also überall und zu jeder Zeit konsistent
sein. Eine Voraussetzung für den Erhalt der Konsistenz ist die serielle
Äquivalenz von Operationen. Wie auch in Datenbanksystemen ist
daher in kollaborativen Editier-Systemen der Erhalt der seriellen Äquivalenz eine zentrale Aufgabe. Die serielle Äquivalenz lässt sich
folgendermaßen definieren:
Werden alle Paare von miteinander in Konflikt stehenden Operationen zweier Transaktionen auf allen betroffenen Objekten in
derselben Reihenfolge ausgeführt, so bezeichnet man diese
Transaktionen als seriell äquivalent.
Konfliktlösung in
Mehrbenutzer-Editoren
164
■
■
■
Um die serielle Äquivalenz zu erhalten, wurden verschiedene Nebenläufigkeitskontrollverfahren entwickelt, wie z. B. das Zeitstempelund das Sperrverfahren (siehe Abschnitt 3.6). Die meisten Nebenläufigkeitskontrollverfahren, wie sie in Datenbanksystemen oder anderen
kollaborativen Systemen zum Einsatz kommen, können die hohen
Anforderungen der Echtzeit-Mehrbenutzer-Editoren in Bezug auf
schnelle Antwortzeiten allerdings nicht erfüllen. Auch ist eine andere
Systemarchitektur als die zentralistische für kollaborative Editoren
notwendig.
Die meisten Echtzeit-Mehrbenutzer-Editoren (z. B. [16,17]) basieren daher auf der replizierten Architektur (siehe Kap. 3.7), um gute
Reaktionszeiten zu erreichen. Bei der replizierten Architektur besitzt
jeder Teilnehmer der Gruppenarbeit eine lokale Kopie des Doku-
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
ments. Auf dieser lokalen Kopie führt jeder Teilnehmer seine Änderungen (allgemeiner: Operationen) durch. Dies kann gleichzeitig geschehen. Der jeweilige Teilnehmer sieht das Ergebnis seiner Operation
sofort und erst danach wird die ausgeführte Operation an die anderen
Teilnehmer der Sitzung übertragen. Ist die Operation bei den anderen
Teilnehmern angekommen, wird sie dort auf den jeweiligen Kopien
ausgeführt. Dabei können Probleme durch Verzögerungen bei der
Datenübertragung und gleichzeitiges Ändern desselben Datenobjekts
entstehen.
Die folgende Abbildung zeigt einen typischen Ablauf beim verteilten Editieren eines Dokuments durch mehrere Benutzer.
Abb. 3.2:
Szenario einer Mehrbenutzer-EditorSitzung
Im oben dargestellten Szenario werden vier verschiedene Operationen von drei Benutzern auf dem verteilten Dokument ausgeführt:
O1,O2,O3 und O4.
Benutzer 1 führt die Operation O1 auf seiner lokalen Kopie des Dokuments gleichzeitig mit der Operation O2 von Benutzer 2 aus. Etwas
zeitversetzt führt Benutzer 3 die Operation O4 aus und Benutzer 2 die
Operation O3. Durch die Zeitverzögerungen bei der Übertragung der
Operationen über das Netzwerk werden die Operationen auf den jeweiligen Dokumentkopien der Benutzer in unterschiedlichen Reihenfolgen ausgeführt. Auf der lokalen Kopie von Benutzer 1 werden die
Operationen in der Reihenfolge: O1,O2,O4,O3 ausgeführt. Bei Benutzer 2 ist die Reihenfolge O2,O1,O3,O4 und bei Benutzer 3 O2,O4,O3,O1.
Die serielle Äquivalenz der Operationen ist dadurch gefährdet. Probleme der Divergenz, Kausalitätsverletzung und Intentionsverletzung
können auftreten. Diese werden im Folgenden beschrieben.
3.5 Kollaborative Mehrbenutzer-Editoren
■
■
■
165
3.5.2.1
Divergenz
Es wird zwischen Intra- und InterObjekt-Divergenz unterschieden
Sind die Operationen O1,O2,O4,O3 nicht kommutativ, können die
Ergebnisse in den Dokumenten der drei Benutzer unterschiedlich
aussehen. In diesem Fall besteht eine Divergenz der Dokumentkopien.
Es wird zwischen der Divergenz innerhalb eines Datenobjekts (IntraObjekt-Divergenz) und der Divergenz zwischen Datenobjekten (InterObjekt-Divergenz) unterschieden. Bei der Intra-Objekt-Divergenz
entstehen für dasselbe Datenobjekt in verschiedenen Kopien des verteilten Dokuments unterschiedliche Ergebnisse. Betrachten wir als
Beispiel einen kollaborativen Grafikeditor. Die Operationen O1 und
O2 seien dabei Operationen, welche dasselbe Grafikobjekt A (z. B. ein
Rechteck) an verschiedene Positionen X und Y im Dokument verschieben. Diese Operationen werden konkurrierende Operationen
genannt. Konkurrierende Operationen können in unterschiedlicher
Reihenfolge an verschiedenen Orten ausgeführt werden und führen
dort zu jeweils unterschiedlichen Ergebnissen.
Bei der Inter-Objekt-Divergenz entstehen unterschiedliche Ergebnisse an zwei oder mehreren Datenobjekten in den verschiedenen
Kopien des verteilten Dokuments.
Ein Beispiel: In einem kollaborativen Grafikeditor werden zwei unterschiedliche Objekte zur selben Zeit von zwei Personen erzeugt. Die
Objekte überlappen sich dabei. Je nachdem welche Operation für die
Erzeugung eines Objektes zuerst ausgeführt wird, liegt entweder das
erste Objekt über dem zweiten oder umgekehrt. Die folgende Abbildung soll dies verdeutlichen.
Abb. 3.3:
Szenario InterObjekt-Divergenz
166
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Die Operation O1 von Benutzer 1 erzeugt ein Objekt B. Relativ zeitnah wird durch die Operation O2 von Benutzer 2 ein Objekt A erzeugt.
Nachdem die Operationen an den jeweils anderen Benutzer übertragen und dort ausgeführt wurden, zeigt sich eine Inter-Objekt-Divergenz der Dokumente.
3.5.2.2
Kausalitätsverletzung
Wie in der Abb. 3.2 zu sehen ist, wird Operation O3 bedingt durch die
nicht deterministische Netzwerkslatenz erst nach der Ankunft der
Operation O1 bei Benutzer 2 erzeugt. Geht man davon aus, dass Benutzer 2 die Operation O3 als Reaktion auf O1 ausgeführt hat, besteht
eine kausale Abhängigkeit zwischen O3 und O1. Die Kausalordnung
von Ereignissen gibt vor, ob diese kausal voneinander abhängig sind
oder nicht. Kausal unabhängige Ereignisse werden auch als nebenläufige Ereignisse bezeichnet.
Werden Operationen, die kausal abhängig sind, in falscher Reihenfolge ausgeführt, so liegt eine Kausalitätsverletzung vor. Dies ist im
obigen Beispiel bei Benutzer 3 der Fall, da die Operation O3 vor O1
eintrifft.
3.5.2.3
Intentionsverletzung
Werden konkurrierende Operationen auf einem Datenobjekt ausgeführt, welche die Eigenschaften dieses Objektes ändern, so können die
Änderungen einer Operation verloren gehen. Betrachten wir das gleiche Beispiel, wie es beim Problem der Divergenz beschrieben wurde.
Zwei konkurrierende Operationen verschieben dasselbe Objekt an
unterschiedliche Positionen im Dokument. Dies führt zu unterschiedlichen Ergebnissen in den verschiedenen Dokumentkopien der zwei
Benutzer und damit zu Divergenz. Wird nun auf irgendeine Weise
eine Konvergenz hergestellt und das Objekt steht danach in beiden
Dokumentkopien an derselben Position, so geht eine der beiden Änderungen verloren. Es gibt in diesem Fall keine Möglichkeit, eine
Konvergenz zu schaffen, die beide Intentionen der Benutzer integriert.
Somit liegt hier eine Intentionsverletzung vor. Dabei handelt es sich
um eine syntaktische Intentionsverletzung, die von einem System
festgestellt werden kann. Es gibt auch den Fall einer semantischen
Intentionsverletzung. Dabei wollen zwei Benutzer dasselbe semantisch
korrekte Ergebnis erzielen, gehen aber gleichzeitig auf unterschiedliche Weise vor und es entsteht ein syntaktisch korrektes Ergebnis, das
allerdings semantisch falsch ist. Ein Beispiel:
3.5 Kollaborative Mehrbenutzer-Editoren
■
■
■
167
In einem Grafikdokument existieren zwei Körbe mit Äpfeln. Der
eine Korb ist grün, der andere rot. Die Äpfel im roten Korb sind alle
rot, die im grünen alle, bis auf einen roten Apfel, grün. Nun wollen
zwei Benutzer, die gleichzeitig an diesem Dokument arbeiten, den
roten Apfel aus dem grünen Korb entfernen. Der erste Benutzer verschiebt dazu den roten Apfel aus dem grünen Korb in den roten. Der
zweite Benutzer färbt den roten Apfel grün. Das Endergebnis ist ein
grüner Apfel im roten Korb. Die Lösung solcher semantischen Konsistenzprobleme ist noch Gegenstand der Forschung [18].
3.5.3
Mehrbenutzer-Editoren in der Praxis
Mehrbenutzer-Editoren existieren für verschiedene Quellcode- und
Text-Derivate, Word, UML, HTML, PowerPoint und verschiedene
Grafikformate. Vor allem asynchrone Editoren sind häufig vertreten.
Hier gibt es eine Vielzahl an Text- und HTML-Editoren, aber auch
einige Grafikeditoren. Die meisten synchronen und asynchronen
Mehrbenutzer-Editoren sind Teil eines Forschungsprojektes und basieren auf proprietären Datenformaten. In der Praxis sind die synchronen Editoren zurzeit noch weniger relevant. Dies könnte sich aber
mit der rasanten Entwicklung der Netzwerk- und Computertechnologien ändern. Es besteht allerdings noch Bedarf in der Forschung und
der Entwicklung von Standards, um Mehrbenutzer-Editoren so populär wie z. B. E-Mail und Chats zu machen. Oft liegen die Probleme
neben der technischen Komplexität dieser Systeme in der Usability.
Eine zentrale Rolle spielen allerdings auch psychologische Aspekte.
Die Akzeptanz eines Echtzeit-Mehrbenutzer-Editors hängt stark vom
Vertrauen der Benutzer untereinander ab. Die Benutzer müssen sich
gut kennen, um sich von einem Kollegen freiwillig bei der Arbeit „über
die Schulter“ blicken zu lassen. Dies kann auch wirtschaftliche Relevanz haben. Kann bei einem Echtzeit-Mehrbenutzer-Editor z. B. für
die Entwicklung von Quellcode gesehen werden, was ein Entwickler
wann erstellt, so könnte ein unbeliebter Chef seinen Mitarbeiter direkt
nach der Anzahl der Quellcodezeilen pro Stunde bewerten und dementsprechend sein Gehalt anpassen. Wo es möglich ist, zu sehen, was
und wann jemand arbeitet, so ist es auch möglich zu sehen, wann jemand nicht arbeitet. Dieser Eingriff in die Privatsphäre stellt ein großes Problem für die Akzeptanz eines Echtzeit-Mehrbenutzer-Editors
dar, dem mit Hilfe von geeigneten Sicherheits- und Kontrollmechanismen begegnet werden muss. Im Folgenden werden beispielhaft
verschiedene Mehrbenutzer-Editoren kurz vorgestellt. Eine relativ
umfassende Aufstellung asynchroner und synchroner MehrbenutzerEditoren findet man in [19].
168
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
• SAMS [1]: Synchronous/Asynchronous/Multisynchronous Editor.
Dieser erlaubt das Editieren von speziellen im Softwaredesign eingesetzten Objektkarten und einfachen HTML-Dokumenten. Dabei
kann zwischen den verschiedenen Synchronisationsmodi umgeschaltet werden. Es kann auf Knopfdruck synchronisiert werden,
oder die Arbeit wird auf dem Dokument zunächst alleine durchgeführt und es wird zu einem späteren Zeitpunkt synchronisiert. Es
handelt sich dabei um ein Forschungsprojekt.
29
• MoonEdit : Dies ist ein kooperativer synchroner Mehrbenutzer
Texteditor, der die Mausbewegungen der anderen Teilnehmer
sichtbar macht. Es handelt sich dabei um ein Freeware Projekt.
• CoWord und CoPowerPoint [15]: Dies sind Anwendungen, die als
30
Erweiterung (Plug-In) für das Microsoft Word -Produkt installiert
werden. Sie erlauben das synchrone Bearbeiten von Microsoft
Word- und PowerPoint-Dokumenten (Forschungsprojekt).
31
• Kollaborativer UML-Editor : Der im Rahmen des COAST-Framework Projektes (1999) entstandene Editor erlaubt das gemeinsame
synchrone Editieren von UML-Dokumenten (Forschungsprojekt).
• REDUCE [14]: Kollaborativer webbasierter Texteditor. Er erlaubt das
Bearbeiten von einfachsten Texten in Echtzeit (Forschungsprojekt).
• GRACE [18]: Kollaborativer synchroner Grafikeditor, der das
gleichzeitige Bearbeiten von einfachen Grafiken im Team ermöglicht (Forschungsprojekt).
32
• SubEthaEdit ist ein studentisches Projekt, das 2003 mit dem Apple
Design Award ausgezeichnet wurde. Es handelt sich dabei um einen
Texteditor, mit dem auch sogenanntes Extreme-Programming
möglich ist (Freeware für Privatnutzer).
• CoDraft [20]: Eine verteilte Architektur zur Unterstützung von
Gruppenarbeit durch multimediale Objekte (Forschungsprojekt).
• SEPIA [21]: Ein Editor für Hypertextdokumente (Forschungsprojekt).
29
30
31
32
Beispiele für Mehrbenutzer-Editoren
http://moonedit.com/.
http://office.microsoft.com/en-us/default.aspx.
http://www.darmstadt.gmd.de/concert/activities/internal/umledit.html.
http://www.subethaedit.de/collaborate.de.html.
3.5 Kollaborative Mehrbenutzer-Editoren
■
■
■
169
3.6
Nebenläufigkeitskontrolle
in CSCW Systemen
Um inkonsistente Daten bei der Arbeit in der Gruppe zu vermeiden,
werden Zugriffskontroll- bzw. Nebenläufigkeitskontrollverfahren
(engl.: concurrency control methods) eingesetzt. Frei nach der Definition von Bernstein et al. [22] versteht man unter Nebenläufigkeitskontrolle die Koordination der Aktionen verschiedener Prozesse, die
gleichzeitig auf gemeinsame Daten zugreifen und sich damit potenziell behindern. Es gibt prinzipiell zwei Funktionsweisen der Nebenläufigkeitskontrolle:
• Konsistenzerhalt durch Konfliktprävention
• Konsistenzerhalt durch Konfliktauflösung
Zum Konsistenzerhalt werden
verschiedenste Verfahren eingesetzt
170
■
■
■
Die am häufigsten eingesetzten Verfahren sind das Turn-Taking,
das Split-Combine und das Copy-Merge-Verfahren, bei denen der
Zugriff durch Absprache der Teilnehmer oder durch andere Vorgaben
zeitlich und/oder lokal begrenzt wird. Der Zugriff erfolgt entweder
nacheinander oder auf Kopien des betreffenden Artefakts. TurnTaking und Split-Combine sind Verfahren der Konfliktprävention,
Copy-Merge ein Verfahren, bei dem Konflikte nachträglich gelöst
werden müssen. Diese Verfahren werden deshalb oft eingesetzt, da sie
sehr einfach sind und häufig keine zusätzliche Installation einer Software erfordern. Sie bringen aber Nachteile in Bezug auf den Zeitaufwand und die Nachvollziehbarkeit von Änderungen mit sich.
Zu den Verfahren der Konfliktvorbeugung zählen unter anderem
auch die in der Datenbankwelt weit verbreiteten Sperrverfahren, zum
Beispiel das pessimistische Sperrverfahren. Diese Sperrverfahren
(engl. locking) sind softwaregestützt und werden in den meisten
CSCW-Systemen, wie Groupware, Versionsverwaltung und Mehrbenutzer-Editoren, eingesetzt. Eine zentrale Instanz (Server) regelt dabei
den Zugriff der Teilnehmer (Clients) auf die Artefakte. Mit Hilfe eines
sogenannten Check-In/Check-Out-Mechanismus werden die Daten
bereitgestellt.
Daneben gibt es noch Verfahren, die vor allem in MehrbenutzerEditoren zum Einsatz kommen, da sie deren besondere Anforderungen, wie echtzeitnahe Antwortzeiten und feingranulare Nebenläufigkeitskontrollen (z. B. auf Buchstabenebene), unterstützen. Dieser Abschnitt beschreibt die gängigsten Nebenläufigkeitskontrollverfahren.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
3.6.1
Nebenläufigkeitskontrolle ohne CSCW-System
Beim Turn-Taking kann immer nur eine Person zu einer gegebenen
Zeit auf ein Artefakt (z. B. ein Textdokument) zugreifen. Hat die Person ihre Arbeit an dem Artefakt abgeschlossenen, so wird das Artefakt
an die nächste Person, „die an der Reihe ist“, weitergereicht. Wer
wann „an der Reihe“ ist, wird entweder mit Hilfe einer technischen
Lösung (z. B. Software) oder durch Absprache der Teilnehmer bestimmt. Nach der Übergabe kann nun die nächste Person ihrerseits
Änderungen am Artefakt durchführen. Auf diese Art und Weise ist es
möglich, das Artefakt sehr einfach konsistent zu halten, da zu jedem
Zeitpunkt immer nur eine gültige Artefaktversion existiert.
Eine andere Möglichkeit der Zusammenarbeit ist das Aufteilen der
Arbeit in kleinere Arbeitspakete. Dabei bekommt jeder Teilnehmer
ein Arbeitspaket zugeteilt. Nach Erledigung der Arbeit werden die
einzelnen Ergebnisse an zentraler Stelle wieder zusammengeführt.
Dieses sogenannte Split-Combine-Verfahren erfordert neben dem
aufwendigen nachträglichen Zusammenführen der Artefakte auch
eine Aufteilbarkeit der Aufgabe in Arbeitspakete.
Dies ist z. B. bei Quellcode nicht immer möglich, da eine Abhängigkeit der Quelldateien untereinander besteht. Daher wird hier oft das
sogenannte Copy-Merge-Verfahren eingesetzt. Dabei erhält jeder
Teilnehmer eine Kopie aller vorliegenden Artefakte und kann nun
selbständig Änderungen daran vornehmen. Am Schluss müssen alle
Änderungen allerdings wieder zusammengeführt (engl.: to merge)
werden. Dies kann unter Umständen sehr aufwendig sein. Die Nachvollziehbarkeit der Änderungen ist besonders bei größerer Personenzahl nur schwer möglich, da nach einem erfolgreichen Zusammenführen im Artefakt keine Informationen über die jeweils durchgeführten
Änderungen gespeichert sind (keine Versionsinformationen).
Trotz dieser Nachteile wird heute oft auf diese Weise gearbeitet –
gerade bei der Erstellung von Dokumenten und der Umsetzung von
Softwareprojekten in kleineren Teams, ohne Unterstützung durch ein
CSCW-System.
Turn-Taking, Split-Combine und
Copy-Merge
3.6.2
Sperrverfahren
Sperrverfahren werden besonders in Datenbanksystemen eingesetzt,
um den Erhalt der seriellen Äquivalenz zu gewährleisten und den
parallelen Zugriff auf Daten zu synchronisieren. Das grundlegende
Prinzip beim Sperren paralleler Zugriffe ist sehr einfach, aber nicht
besonders geeignet für produktive Systeme. Daher wurden optimierte
3.6 Nebenläufigkeitskontrolle in CSCW Systemen
■
■
■
171
Sperrverfahren und -algorithmen entwickelt, die den Anforderungen
produktiver Systeme gewachsen sind. Im Folgenden werden die zwei
hauptsächlich verwendeten Verfahren, das pessimistische und das optimistische Sperren, und verschiedene Varianten dieser besprochen.
3.6.2.1
Pessimistisches Sperren
Pessimistisches Sperren kommt häufig
in Datenbanksystemen zum Einsatz
Aus den Synchronisationstechniken der Betriebssysteme (wie z. B.
Semaphore, Mutexe und Monitore) ist das sogenannte exklusive Sperren (engl.: exclusive locking) entstanden. Um auf ein Datenobjekt
zuzugreifen, muss dabei zunächst eine exklusive Sperre für dieses
Objekt besorgt werden. Diese Sperre verhindert den Zugriff aller anderen Transaktionen auf das gesperrte Datenobjekt. Wird zum Beispiel in einer Transaktion T2 versucht, eine Sperre auf ein Datenobjekt zu erlangen, welches sich bereits im Zugriff einer anderen
Transaktion T1 befindet, so muss T2 warten, bis T1 die Sperre wieder
frei gibt. Für den Fall, dass viele parallele Transaktionen auf dieselben
Datenobjekte zugreifen, kann allerdings eine schlechte Systemperformanz die Folge sein. Daher wurde, um die Performanz zu verbessern,
die sogenannte Teilsperre (engl.: shared lock) oder Lesesperre (engl.:
read lock) eingeführt. Für eine verbesserte Systemperformanz wird
dabei davon ausgegangen, dass das Lesen von Datenobjekten weitaus
öfter vorkommt als das Schreiben dieser. Eine Lesesperre erlaubt dabei das Lesen eines Datenobjekts in parallelen Transaktionen, aber
nicht das Ändern desselben. Um das Datenobjekt nun zu ändern, wird
weiterhin eine exklusive Sperre benötigt. Dieses Verfahren wird TX(Teil-, Exklusiv-) oder LX- (Lese-, Exklusiv-) Sperren genannt (engl.:
SX oder RX locking). Abbildung 3.4 zeigt die Kompatibilität der zwei
Sperrmodi (Lese- und Exklusivsperre).
In Abb. 3.4 zeigt KS den Zustand an, in dem keine Transaktion eine
Sperre auf ein Datenobjekt hält. Ein Sperren dieses Datenobjekts ist in
diesem Fall immer gestattet. Hält eine andere Transaktion bereits eine
Lesesperre, kann eine weitere Transaktion auch eine Lesesperre für
dasselbe Datenobjekt erhalten. Lesesperren sind daher kompatibel, was
Abb. 3.4:
Kompatibilitätsmatrix des
LX-Sperrmechanismus
172
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
bedeutet, dass ein Datenobjekt von beliebig vielen Transaktionen zur
selben Zeit gelesen werden kann. Eine Anfrage nach einer exklusiven
Sperre für ein Datenobjekt wird allerdings nur gewährt, solange dieses
Objekt mit keiner Sperre durch eine weitere Transaktion belegt ist.
Versucht eine Transaktion eine Exklusivsperre für ein Datenobjekt
zu erhalten, welches bereits gesperrt ist (Lese- oder Exklusivsperre), so
wird diese so lange blockiert, bis die entsprechende Sperre wieder
aufgehoben wurde. Dabei kann es zu einem sogenannten Deadlock
(Verklemmung) kommen. Bei einem Deadlock warten Transaktionen
unendlich lange auf die Freigabe einer Sperre. Es gibt verschiedenste
Methoden, um Deadlocks zu vermeiden: Eine Methode ist zum Beispiel das sogenannte Vorbelegen (engl.: preclaiming) oder statisches
Sperren (engl.: static locking), bei dem alle benötigten Sperren einer
Transaktion gleich zu Beginn besorgt werden. Andere Methoden sind
zum Beispiel das sofortige Neustarten einer Transaktion (engl.: immediate restart, no waiting), das WDL-Verfahren (wait depth limited)
oder die Verwendung von Zeitstempeln in Transaktionen (wait/die,
wound/wait). Diese Verfahren werden näher von Härder et al. [23]
besprochen.
Ein weiteres pessimistisches Sperrverfahren ist das sogenannte
Zwei-Phasen-Sperren (engl.: two phase locking). In der ersten Phase,
der Wachstumsphase (engl.: growing phase), besorgt sich eine Transaktion alle benötigten Sperren. In der zweiten Phase, der Schrumpfphase (engl.: shrinking phase), gibt die Transaktion die Sperren wieder
frei. Abbildung 3.5 zeigt die Phasen der Zwei-Phasen-Sperrmethode.
Treten während der Schrumpfphase Probleme auf und die Transaktion muss rückgängig gemacht werden (engl. rollback), so kann es
zu einem sogenannten „dirty read“ (dreckiger Lesevorgang) kommen:
Dabei wird in einer Transaktion mit Daten gearbeitet, die durch den
„Rollback“ einer anderen Transaktion bereits ungültig sind. Man
spricht dabei auch von sogenannten unbestätigten Abhängigkeiten
(engl.: uncommited dependency).
Verfahren zur Lösung der
Deadlock-Problematik
Abb. 3.5:
Zwei-Phasen-Sperrmethode
3.6 Nebenläufigkeitskontrolle in CSCW Systemen
■
■
■
173
Abb. 3.6:
Strikte Zwei-Phasen-Sperre
Eine Möglichkeit, einen „dirty read“ zu verhindern, ist das sogenannte strikte Zwei-Phasen-Sperren (engl.: strict two phase locking).
Dabei wird die komplette Schrumpfphase erst am Ende der Transaktion durchgeführt, wenn ein erfolgreicher Abschluss sicher ist. Abbildung 3.6 zeigt den Ablauf einer strikten Zwei-Phasen-Sperre.
3.6.2.2
Optimistisches Sperren
Beim optimistischen Sperren wird davon ausgegangen, dass Zugriffskonflikte nur relativ selten auftreten (daher optimistisch) und dass
das präventive Sperren von Datenobjekten unnötig hohen Aufwand
und Leistungseinbußen bedeuten würde. Erst am Ende einer Transaktion wird geprüft, ob Konflikte aufgetreten sind. So sind parallele
Transaktionen möglich und es entstehen keine Zeitverzögerungen
durch das Warten auf frei werdende Sperren.
Der Ablauf einer Transaktion ist beim optimistischen Sperren in
drei Phasen aufgeteilt. In der Lesephase werden die Datenobjekte
gelesen und lokale Kopien angelegt, auf denen Änderungen durchgeführt werden.
Nachdem die Transaktion abgeschlossen (commited) wurde, beginnt die Validierungsphase. In dieser Phase wird geprüft, ob durch
die Transaktion ein Integritätsverlust auftritt oder das gewünschte
Ergebnis erzielt wird. Schlägt die Validierung fehl, wird die Transaktion rückgängig gemacht und beginnt von neuem. In diesem Fall, werden Konflikte durch das Rückgängigmachen und neue Starten von
einer oder mehreren beteiligten Transaktionen gelöst. Dies bedeutet
allerdings, dass mehr Rollbacks auftreten als beim pessimistischen
Sperrverfahren. Dagegen ist das Auftreten von Deadlocks im Gegensatz zum pessimistischen Sperren nicht möglich.
174
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Abb. 3.7:
Drei Phasen des optimistischen
Sperrverfahrens
Falls sichergestellt werden kann, dass die Änderungen einer Transaktion nicht zu einem Integritätsverlust führen, werden die lokalen
Kopien in der dritten Phase, der Schreibphase, als global gültig erklärt.
Abbildung 3.7 zeigt die drei Phasen einer Transaktion beim optimistischen Sperrverfahren.
Das Ausführen von Operationen auf lokalen Kopien von Datenobjekten hat Vor- und Nachteile. Ein Vorteil ist, dass das Auftreten von
„dirty-reads“ oder „dirty-writes“ verhindert wird. Ein weiterer Vorteil
ist die hohe Parallelität von Operationen, die durch das gleichzeitige
Ändern und Lesen von Datenobjekten erzielt werden kann. Das Rückgängigmachen einer Transaktion wird einfach durch das Verwerfen
der Änderungen auf den lokalen Kopien der Datenobjekte erreicht.
Ein Nachteil des optimistischen Sperrverfahrens ist der höhere
Speicherverbrauch durch die lokalen Kopien und die benötigten
komplexen Puffermechanismen. Die Schreibphase kann in Bezug auf
die Performanz des Gesamtsystems sehr teuer werden, falls eine große
Anzahl von Schreiboperationen in einer Transaktion ausgeführt werden müssen. In diesem Fall besteht eine erhöhte Gefahr des „Verhungerns“ (engl.: starvation) einer Transaktion. Diese Gefahr tritt auf,
wenn die Validierung von Transaktionen ständig fehlschlägt was besonders bei sehr langen Transaktionen passieren kann, das heißt bei
Transaktionen, die sehr viele Leseoperationen beinhalten und damit
gegen viele andere Transaktionen validiert werden müssen. Zusätzlich
kann das erst relativ spät durchgeführte Rückgängigmachen (Rollback) einer Transaktion (im Falle eines Konfliktes) zu vielen unnötig
durchgeführten Operationen führen, was wiederum Einbussen in der
Systemperformanz zur Folge haben kann.
Es ist möglich, pessimistische und optimistische Sperrverfahren zu
kombinieren. Beispiele für solche „Hybrid“-Ansätze findet man in
33
Datenbanksystemen wie zum Beispiel IMS Fast Path oder Gem34
Stone . Diese versuchen durch die Kombination beider Verfahren
deren Vorteile zu nutzen, ohne die Nachteile in Kauf nehmen zu müssen. Das IMS Fast Path System verwendet zum Beispiel eine spezielle
33
34
Kombination pessimistischer und
optimistischer Sperrverfahren
http://www-306.ibm.com/software/data/ims/.
http://www.gemstone.com/.
3.6 Nebenläufigkeitskontrolle in CSCW Systemen
■
■
■
175
Die Wahrscheinlichkeit für Konflikte ist
von verschiedensten Parametern
abhängig
Kombination von pessimistischen und optimistischen Verfahren.
Dabei werden Datenobjekte zunächst in der Lesephase wie beim optimistischen Verfahren behandelt. Erst in der Validierungs- und
Schreibphase werden sie gesperrt. Durch die damit verbundene Reduzierung der Sperrzeit im Vergleich zu dem rein pessimistischen Verfahren wird die Wahrscheinlichkeit eines Blockierens anderer Transaktionen stark reduziert.
Ein ähnlicher Ansatz wird in verschiedenen Versionsverwaltungssystemen wie zum Beispiel CVS oder Subversion verwendet. Dabei
werden Änderungen an Datenobjekten zunächst nur auf lokalen Kopien durchgeführt. Sobald die Änderungen bestätigt (engl.: commited)
wurden, werden sie zentral gesperrt. Nun wird geprüft, ob Konflikte
mit anderen Transaktionen bestehen (Validierung). Mit Hilfe von
Zeitstempeln wird dabei ermittelt, ob Datenobjekte in der Zeit zwischen dem Erstellen der lokalen Kopie und dem Bestätigen der Änderungen geändert wurden. Schlägt die Validierung fehl, so wird entweder die Transaktion rückgängig gemacht oder der Teilnehmer, der die
Transaktion ausgeführt hat, benachrichtigt. Dieser kann dann entscheiden, ob seine eigenen oder die Änderungen der anderen Teilnehmer verworfen oder alle Änderungen zusammengeführt werden
(engl.: merge). Das Zusammenführen der Änderungen kann dabei
automatisch, halbautomatisch oder manuell geschehen. Ein Vorteil
dieser Vorgehensweise ist die relativ kurze Zeit in der Validierungsphase, in der die Datenobjekte gesperrt werden, und die damit
geringere Wahrscheinlichkeit für Transaktionskonflikte und Rollbacks. Ein Nachteil ist die mit der Anzahl der Teilnehmer steigende
Wahrscheinlichkeit von Konflikten (Validierungsfehlern). Die Wahrscheinlichkeit der Konflikte ist zusätzlich abhängig von der Granularität der Sperre (z. B. Dokumentebene oder Buchstabenebene), der Größe und Anzahl der Artefakte und der Verteilung der gleichzeitigen
Zugriffe auf diese. Ist die Granularität der Sperren klein (z. B. Sperren
von einzelnen Buchstaben eines Dokumentes) und die Anzahl und
Größe der Artefakte hoch, so sinkt die Wahrscheinlichkeit für Konflikte. Die Sperrgranularität bestimmt dabei die kleinste Einheit eines
35
36
Sperrvorganges. Systeme wie VSS und CVS , aber auch andere existierende CSCW-Systeme zur Unterstützung der Arbeit im Team wie
37
38
zum Beispiel Wikis oder die HTTP-Protokollerweiterung WebDAV
35
36
37
38
176
■
■
■
Microsoft Visual SourceSafe©:
http://msdn.microsoft.com/vstudio/previous/ssafe/.
Concurrent Versioning System – CVS: http://www.nongnu.org/cvs/.
Wiki-Software: http://en.wikipedia.org/wiki/Wiki_software.
Web-based Distributed Authoring and Versioning – WebDAV:
http://www.webdav.org/.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
verwenden nur eine Sperrgranularität auf Dokumentebene. Das heißt,
es wird immer das komplette Dokument gesperrt, auch wenn tatsächlich nur ein kleiner Teil bearbeitet wird.
3.6.3
Zeitstempelverfahren
Bei diesem Verfahren werden zum Erhalt der seriellen Äquivalenz
Zeitstempel verwendet. Bei Beginn jeder Transaktion wird ein Zeitstempel gesetzt und dieser zugeordnet. Im Gegensatz zu den Sperrverfahren steht hier die Serialisierungsreihenfolge der nebenläufigen
Transaktionen und deren Operationen fest und wird über die Zeitstempel ermittelt. Eine Transaktion muss dabei nur auf Konflikte mit
Transaktionen, die zeitlich vor ihr liegen, geprüft werden. Transaktionen, die einen späteren Zeitstempel tragen, werden nicht in Betracht
gezogen. Tritt ein Konflikt auf, so wird die betreffende Transaktion
rückgängig gemacht und mit einem neuen Zeitstempel wiederholt. Die
Transaktionen werden also nach ihren Zeitstempeln geordnet, daher
nennt man dieses Verfahren Zeitstempelordnungs- (engl.: timestamp
ordering) oder Zeitstempelverfahren. Der Vorteil dieses Verfahrens
liegt in der impliziten Verhinderung von Deadlocks [22].
Innerhalb einer Transaktion werden zur Konfliktprüfung für jeden
Lese- und Schreibzugriff Zeitstempel gesetzt. Jedes Datenobjekt, auf
das zugegriffen wurde, erhält entsprechend einen Lese-Zeitstempel
(Sr) bzw. einen Schreib-Zeitstempel (Sw). Eine Leseoperation mit
Zeitstempel Sr(T) einer Transaktion T ist nicht erlaubt, wenn das zu
lesende Datenobjekt X einen Schreib-Zeitstempel besitzt, der neuer
(>) ist als Sr(T). Gilt:
Sr(T) < Sw (X),
so muss die Transaktion zurückgesetzt werden. Entsprechend wird
die Transaktion auch zurückgesetzt, falls auf ein Datenobjekt geschrieben werden soll, welches einen Lesestempel neueren Datums
besitzt. Damit ist eine Transaktion nur gültig, solange keine andere
Transaktion zu einem späteren Zeitpunkt als T dasselbe Datenobjekt
X ändert. Generell ist eine Schreiboperation Sw(T) nicht erlaubt, falls
gilt:
Sw(T) < Max(Sr(X), Sw (X))
Entweder wird die Transaktion zurückgesetzt (Sw(T) <S r(T)) oder
der Schreibbefehl ignoriert (Sw(T) < Sw(X)).
3.6 Nebenläufigkeitskontrolle in CSCW Systemen
■
■
■
177
Abb. 3.8:
Szenario Zeitstempelverfahren
Die Abbildung zeigt ein Szenario, in dem die Transaktionen T1 und
T2 auf dasselbe Datenobjekt X in der richtigen Transaktionsreihenfolge zugreifen. In dem Moment, in dem T1 auf das Datenobjekt Y zugreift, wurde es bereits durch Transaktion T3 geändert, was dazu
führt, dass T1 zurückgesetzt wird.
Das Beispiel zeigt, dass mit der Dauer einer Transaktion die Wahrscheinlichkeit für ein Zurücksetzen (Rollback) ansteigt. Es kann dabei
in manchen Fällen zu einem sogenannten „Verhungern“ (engl.: starvation) einer Transaktion kommen. Auch besteht bei diesem Verfahren
die Gefahr eines „dirty writes“ durch unbestätigte Abhängigkeiten.
3.6.4
Operational Transformation
Operational Transformation erfüllt die
hohen Anforderungen der
Mehrbenutzer-Editoren
178
■
■
■
Das Ziel der Operational Transformation (OT) ist der Erhalt der Konsistenz und der Benutzerintentionen durch Konfliktauflösung. Dabei
werden Operationen sofort, d. h. ohne Verzögerung ausgeführt, wodurch eine sehr schnelle Reaktionszeit ermöglicht wird. Der Benutzer
muss also, im Gegensatz zu Sperrverfahren, nicht warten, bis eine
Sperre auf dem zu bearbeitenden Datensatz eingerichtet wurde. Operationen werden direkt auf einer lokalen Kopie des Dokuments ausgeführt und erst danach an die anderen Clients verteilt. Dort werden sie
erneut durchgeführt. Eine Operation kann dabei, wenn sie von einem
Client empfangen wurde, vor ihrer Durchführung zunächst transformiert werden. Die Transformation hat dabei das Ziel, die Intention
der Benutzer beizubehalten und die auf allen Clients vorliegenden
Dokumentkopien zu konvergieren [24]. Es gibt verschiedenste Vorschläge für Operational-Transformation-Algorithmen. Die meisten
sind für Dokumente, die auf einem linearen Datenformat (z. B. ASCIITextdokumente) basieren, geeignet. Einige davon sind unter anderem
dOPT [25], adOPTed [26], GOT [27], GOTO [28], SOCT2 [29]. Zurzeit
gibt es nur wenige Algorithmen für Operational Transformation, welche auf einem hierarchischen Datenformat (z. B. XML) basieren: Einer
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
davon ist der treeOPT-Algorithmus [24]. Die meisten dieser OT Algorithmen arbeiten nach demselben Prinzip der Konsistenzerhaltung.
Der Operational-Transformation-Algorithmus wurde ursprünglich
entwickelt, um die Probleme der Divergenz (siehe Abschnitt 3.5.2.1),
Kausalitätsverletzung (siehe Abschnitt 3.5.2.2) und der Intentionsverletzung (siehe Abschnitt 3.5.2.3) in kollaborativen Editiersystemen zu
beheben. Ein kollaboratives Editiersystem wird dabei als konsistent
bezeichnet, wenn es immer den Erhalt von Konvergenz, Kausalität
und Intention gewährleistet.
Bei der Operational Transformation wird zur Bewahrung der Kausalität ein Zeitstempelverfahren auf Basis der „Vector-Logical Clock“
[30, 29] verwendet. Dadurch kann sichergestellt werden, dass eine
Operation A, die nach der Kausalordnung „vor“ einer Operation B
liegt (A < B), auch vor dieser ausgeführt wird. Dies geschieht unabhängig davon, in welcher Reihenfolge die Operationen jeweils beim
entsprechenden Teilnehmer eintreffen. Zum Erhalt der Konvergenz
und der Intention einer Operation wird eine totale Ordnungsrelation
[24, 31, 32] (engl.: total ordering relation) zwischen den Operationen
definiert. Diese legt fest, in welcher Reihenfolge welche Operationen
auf der jeweiligen lokalen Kopie eines Dokuments ausgeführt werden.
In einem sogenannten History-Buffer werden zusätzlich alle ausgeführten Operationen gespeichert. Jede Operation wird basierend auf
der Ordnungsrelation und den bereits ausgeführten Operationen im
History-Buffer vor ihrer Ausführung transformiert, um auf die Änderungen zu reagieren, die durch die anderen Operationen hervorgerufen wurden. Um dies zu verdeutlichen zeigt Abb. 3.9 das Szenario
eines Editiervorganges ohne Transformational Operation.
Dabei arbeiten zwei Benutzer an einem gemeinsamen Dokument,
welches den Text „Schiffart“ enthält. Der Text kann durch die Operation Ins(p,c) modifiziert werden. Durch diese Operation wird ein Buchstabe c an Position p im Text eingefügt. Es wird angenommen, dass die
Position des ersten Buchstabens im Text 0 ist. Benutzer 1 generiert die
Operation O1 = Ins(4,f) und Benutzer 2 die Operation O2 = Ins(7,h).
Wird die Operation O1 beim zweiten Benutzer empfangen und ausgeführt, so führt dies zu dem erwarteten Ergebnis „Schifffahrt“.
Im Dokument des ersten Benutzers sieht dies anders aus. Dort wird
nicht beachtet, dass die Operation O1 bereits zuvor ausgeführt wurde
und damit die Textlänge verändert wurde. Das Resultat ist eine Divergenz der beiden lokalen Dokumente. Um ein korrektes Ergebnis zu
erhalten, muss die Operation O2 unter Einbeziehung von O1 zuerst
transformiert werden, bevor sie ausgeführt werden kann. Wird nun
zum Beispiel die Operation O2 im Dokument von Benutzer 1 in Ins(8,h)
transformiert, so wird eine Konvergenz der Dokumente erzielt.
Abbildung 3.10 zeigt das Beispiel mit Operational Transformation.
3.6 Nebenläufigkeitskontrolle in CSCW Systemen
Zeitstempel zur Bewahrung der
Kausalität
Der History-Buffer enthält alle
ausgeführten Operationen
■
■
■
179
Abb. 3.9:
Szenario ohne Operational
Transformation
Abb. 3.10:
Szenario mit Operational
Transformation
180
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
3.7
Architektur kollaborativer Systeme
Ein CSCW-System kann je nach Anforderung auf verschiedenste Weise aufgebaut sein. In diesem Abschnitt werden die wichtigsten Softwarearchitekturen von CSCW-Systemen vorgestellt. Es wird dabei nur
auf den abstrakten Aufbau und dessen Vor- und Nachteile eingegangen. Neben der Softwarearchitektur spielen die Netzwerkarchitektur
und die Sicherheitsarchitektur eine wichtige Rolle bei der Entwicklung
eines CSCW-Systems. Oft kommen hier Standards zum Einsatz, auf
denen die CSCW-Systeme aufsetzen. Zum Beispiel werden zur Übertragung von Daten zwischen CSCW-Clients häufig ein VPN (Virtual
Private Network) und entsprechende Verschlüsselungsverfahren eingesetzt, um eine sichere Datenübertragung über das Internet zu gewährleisten. Im Bereich der Netzwerkanbindung spielen immer mehr
mobile Datennetze eine Rolle. Dabei werden Daten zum Beispiel über
GPRS oder UMTS ausgetauscht. Hier müssen bei der Planung eines
mobilen CSCW-Systems die Eigenschaften des verwendeten Datennetzes in Betracht gezogen werden, wie z. B. geringe Bandbreite und
Übertragungsausfall durch z. B. Funklöcher.
3.7.1
Zentralisierte Architektur
Die zentralisierte Architektur ist die am meisten verbreitete ClientServer-Architektur bei verteilten Systemen. Dabei verwaltet ein zentraler Server die sich im Zugriff mehrerer Clients befindlichen Daten.
Die Clients können nicht direkt auf die Daten zugreifen. Der Zugriff
wird vom Server geregelt.
Die zentralisierte Architektur ist oft bei Datenbank-ManagementSystemen zu finden. Aber auch bei CSCW-Systemen ist sie sehr beliebt. Vor allem Versionsverwaltungssysteme, aber auch viele Groupware-Systeme basieren auf dieser klassischen Client-Server-Architektur. Bei Echtzeit-Mehrbenutzer-Editoren kommt sie seltener zum
Einsatz, da hier besondere Anforderungen, wie geringe Antwortzeiten,
bestehen. Diese können durch eine zentralisierte Architektur nicht in
allen Fällen erfüllt werden.
Bei der zentralisierten Architektur besitzt der Server einen oder
mehrere Server-Prozesse. In der einfachsten Variante hat ein Server nur
einen Prozess. Somit ist ein gleichzeitiger Zugriff mehrerer Clients auf
eine Ressource nicht möglich. Dadurch kann auf einfachste Weise eine
Dateninkonsistenz vermieden werden. Ein Nachteil dabei ist allerdings
die schlechte Performanz des Gesamtsystems, da der Datenzugriff so
3.7 Architektur kollaborativer Systeme
Die zentralisierte Architektur wird am
häufigsten eingesetzt
■
■
■
181
lange blockiert wird, solange ein Client die Daten (wie zum Beispiel ein
verteiltes Dokument) auf dem Server bearbeitet. Um dennoch die „Illusion“ des gleichzeitigen Zugriffs mehrerer Clients auf die Datenobjekte
zu schaffen, unterstützen Systeme dieser Art sehr feinkörnige Operationen, die in sehr kurzer Zeit durchgeführt werden können.
In der Regel werden aber bei modernen Systemen mehrere ServerProzesse gestartet, um die Performanz des Gesamtsystems zu verbessern. Damit können gleichzeitig Anfragen von mehreren Clients
entgegengenommen werden. Werden Datenobjekte nicht nur gelesen
(wie z. B. bei Web-Servern), sondern auch geschrieben, so muss ein
Nebenläufigkeitskontrollverfahren eingesetzt werden, um Dateninkonsistenzen zu vermeiden.
Will ein Client auf Datenobjekte des Servers zugreifen, muss zunächst eine Anfrage an den Server übertragen werden. Dort entscheidet der Server mit Hilfe des eingesetzten Nebenläufigkeitskontrollverfahrens (wie z. B. Sperrverfahren), ob ein Zugriff durch den Client zu
diesem Zeitpunkt erlaubt ist. Je nach eingesetztem Verfahren kann es
hierbei zu einer entsprechenden Verzögerung kommen (z. B. bei Blockierung durch Sperre). Wird der Zugriff erlaubt, so kann die gewünschte Operation der Clients (z. B. Lesen oder Schreiben eines Datenobjekts) ausgeführt werden und der Client erhält eine Antwort
vom Server mit der Bestätigung seiner Anfrage.
Dieser Ablauf kann relativ zeitaufwendig sein und hängt eventuell
von vielen „äußeren“ Faktoren wie zum Beispiel der Netzwerkverbindung ab. Daher ist diese Architektur für sehr zeitkritische kollaborative Anwendungen unter Umständen weniger geeignet. Abbildung 3.11
zeigt den Aufbau einer zentralistischen Systemarchitektur.
Abb. 3.11:
Zentralisierte Architektur mit nur einem
Server-Prozess
182
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
3.7.2
Replizierte Architektur
Bei der replizierten Architektur existiert keine zentrale Datenquelle
und kein zentraler Server. Jeder Client besitzt eine Kopie der Daten,
die sich im gemeinsamen Zugriff befinden. Die Daten werden dabei
entweder komplett repliziert oder, je nach System, nur die Daten, die
für den Client relevant sind. Jeder Client besitzt zusätzlich eine Art
Server-Prozess, der den Zugriff auf die Daten und die Synchronisation
dieser verwaltet. Dazu kommuniziert der Server-Prozess mit allen
anderen Client-Server-Prozessen. Abbildung 3.12 zeigt einen Überblick der Architektur.
Eine replizierte Architektur bietet den Vorteil schneller Antwortzeiten an der Benutzerschnittstelle. Lokale Operationen werden direkt
vom lokalen Server-Prozess ausgeführt. Das Ergebnis ist sofort sichtbar, da keine Netzwerkkommunikation und Prüfung der Anfrage
benötigt wird. Erst nach der lokalen Ausführung einer Operation wird
diese an alle anderen Teilnehmer der Kollaboration die daran interessiert sind, weitergegeben. Sobald die anderen Server-Prozesse die
Operation empfangen, führen sie diese auf deren lokalen Kopien der
Daten aus. Ein weiterer Vorteil ist eine geringere Ausfallwahrscheinlichkeit des Gesamtsystems, da es keine zentrale Instanz gibt, bei deren Ausfall das System zum Stillstand gebracht wird (kein „SinglePoint-of-Failure“).
Nachteil dieser Architektur ist das Problem der möglichen Inkonsistenzen, die bei der gleichzeitigen Bearbeitung eines Datensatzes
Mehrbenutzer-Editoren verwenden
meist die replizierte Architektur
Abb. 3.12:
Replizierte Systemarchitektur
3.7 Architektur kollaborativer Systeme
■
■
■
183
durch mehrere Server-Prozesse auftreten können. Diesem Problem
wird versucht, mit verschiedenen Nebenläufigkeitskontrollverfahren,
wie zum Beispiel der Operational Transformation, zu begegnen.
CSCW-Systeme, die eine solche replizierte Architektur einsetzen
sind meist Mehrbenutzer-Editoren, die besondere Anforderungen an
die clientseitigen Antwortzeiten stellen. Dazu gehören zum Beispiel
das COAST-Framework und darauf basierende Systeme (siehe [33, 34,
35, 36, 37, 38, 39]).
Eine ähnliche Architektur wie diese wird auch von sogenannten
Peer-to-Peer- (P2P-) Systemen oder manchen Online-Spielen eingesetzt. Bei P2P-Systemen liegt der Fokus allerdings nicht unbedingt auf
schnellen Antwortzeiten, sondern auf möglichst geringen Ausfallwahrscheinlichkeiten durch die Unabhängigkeit von zentralen Datenspeichern (für weitere Informationen zu P2P-Systemen siehe Kapitel
„Verteilte Systeme“ in Teil 3 des Kompendiums).
3.7.3
Hybrid-Architektur
Die hybride Architektur vereint die
Vorteile der zentralisierten und der
replizierten Architektur
184
■
■
■
Bei der sogenannten Hybrid-Architektur gibt es einen zentralen Server, der immer eine aktuelle Version des zu bearbeitenden Datenobjekts (Artefakt), z. B. eines Dokuments, besitzt. Die verschiedenen
Clients erhalten jeweils lokale Kopien der gemeinsam genutzten Datenobjekte (komplett oder teilweise). Die Clients besitzen zusätzlich
wie bei der replizierten Architektur einen eigenen Server-Prozess, der
für die Verwaltung der Zugriffe auf die Daten und die Übertragung
der Operationen an die anderen Clients zuständig ist. Mit der hybriden Architektur wird somit versucht, die Vorteile der zentralisierten
und der replizierten Architektur zu kombinieren. Abbildung 3.13 zeigt
eine Hybrid-Architektur im Überblick.
Die meisten Systeme mit Hybrid-Architektur unterscheiden zwischen problematischen und unproblematischen Operationen. Problematische Operationen sind dabei Operationen, welche Dateninkonsistenzen herbeiführen können (z. B. Löschen und Ändern).
Unproblematische Operationen führen nicht zu Dateninkonsistenzen
(z. B. das Erstellen neuer Datenobjekte).
Wie auch bei der replizierten Architektur werden unproblematische Operationen sofort lokal ausgeführt und danach an die anderen
Clients übertragen. Auf den anderen Clients werden die Operationen
dann je nach Nebenläufigkeitskontrollverfahren und Datenstruktur
sofort oder nur bei Bedarf ausgeführt (vgl. [14]). Dadurch werden
schnelle Antwortzeiten erreicht. Problematische Operationen hingegen werden wie bei der zentralisierten Architektur zunächst nur an
den Server übertragen, dort geprüft und danach lokal ausgeführt. Als
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Abb. 3.13:
Hybrid-Architektur
Nebenläufigkeitskontrollverfahren kommen hier auch klassische
Sperrverfahren (wie in Datenbanken) zum Einsatz. Alle Operationen –
unproblematische und (falls möglich) problematische – werden immer auch auf dem Server ausgeführt. Dadurch wird sichergestellt, dass
auf dem Server immer die kompletten aktuellen Versionen aller Datenobjekte vorliegen. Dies ist neben den schnellen Antwortzeiten beim
Editieren ein weiterer Vorteil der hybriden Systemarchitektur. Eine
Kopie eines aktuellen Datenobjekts kann dadurch zum Beispiel immer
abgerufen werden, sobald ein neuer Benutzer am kollaborativen Editierprozess teilnehmen will. Auch können die Datenobjekte auf dem
Server für die Synchronisation genutzt werden. Arbeiten mehrere
Personen zum Beispiel an einem sehr großen Dokument, so ist die
Wahrscheinlichkeit, dass diese sich eventuell gegenseitig stören, vergleichsweise gering. Betrachtet nun ein Benutzer einen Teil des Dokuments, das von einem anderen Benutzer intensiv bearbeitet wurde,
so muss zuvor die lokale Kopie des Dokuments synchronisiert werden. Dies kann nun entweder durch Ausführen der bereits empfangenen Operationen geschehen oder durch Abrufen der benötigten Daten
vom zentralen Server. In manchen Systemen mit hybrider Architektur
werden auch problematische Operationen sofort lokal ausgeführt
[40, 48]. Dies erfordert allerdings Nebenläufigkeitskontrollverfahren,
wie sie auch bei replizierter Architektur zum Einsatz kommen.
Außer in CSCW-Systemen wird die hybride Architektur ähnlich der
hier beschriebenen auch bei Online-Spielen und Peer-to-Peer-Systemen eingesetzt.
3.7 Architektur kollaborativer Systeme
■
■
■
185
3.8
Awareness in kollaborativen Systemen
Awareness ist wichtig für eine
erfolgreiche Zusammenarbeit
Bei der Arbeit in einer Gruppe ist es wichtig, dass jeder Teilnehmer die
Gruppe wahrnimmt, sich als Teil dieser Gruppe sieht und auf die Aktionen anderer reagieren kann, um das gemeinsame Ziel effektiv erreichen zu können. Im Gegensatz zu Ein-Benutzer-Anwendungen
muss bei CSCW-Systemen daher eine Möglichkeit geschaffen werden,
die Gruppe und deren Aktionen wahrzunehmen. Dies geschieht mit
sogenannten Awareness- (Bewusstheit-) Mechanismen.
Das Ziel der Awareness-Mechanismen ist es, ein Gruppenbewusstsein zu schaffen und einen Teilnehmer an einer Guppenaktivität über
die Aktionen anderer Teilnehmer aufzuklären. Dourish schrieb (1997)
über Awareness:
„The primary role of awareness information is to make one's activity visible to others“ [41]
Awareness-Mechanismen bieten die Möglichkeit für Individuen,
die Arbeit anderer Teilnehmer einer Gruppe besser zu verstehen und
dann diese Information zu nutzen, um ihre und die Aktivitäten innerhalb der Gruppe zu koordinieren.
3.8.1
Workspace Awareness
Die Awareness spielt in allen CSCW-Systemen eine Rolle, besonders
jedoch in Systemen, die gleichzeitiges Arbeiten in „Echtzeit“ unterstützen, so zum Beispiel in echtzeitbasierten Mehrbenutzer-Editoren.
Bei diesen Systemen ist die wichtigste Art von Awareness die sogenannte Workspace Awareness (Bewusstsein des Arbeitsbereichs).
Gutwin beschreibt diese (1996) folgendermaßen:
„The up-to–the minute knowledge a person holds about another’s
interaction with the workspace“ [42].
Workspace Awareness bedeutet also Wissen darüber:
•
•
•
•
186
■
■
■
Wer sich im selben Arbeitsbereich (Workspace) befindet
Wer woran gerade arbeitet
Was die anderen Personen machen
Was als Nächstes zu tun ist, bzw. was welche Personen als Nächstes
tun werden
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
Workspace Awareness soll dabei:
• Den Koordinationsaufwand von Aufgaben reduzieren
• Das Wechseln von Teilnehmern zwischen individueller und Gruppenarbeit erleichtern
• Einen Kontext schaffen, in dem Äußerungen anderer interpretiert
und Aktivitäten anderer vorausgeahnt werden können
Während die meisten Nebenläufigkeitskontrollverfahren nur die
syntaktische Konsistenz von Daten gewährleisten können, ermöglichen Awareness-Mechanismen zusätzlich durch die Schaffung eines
Kontextes auch die Möglichkeit zur Interpretation und können dadurch zum Erhalt der semantischen Konsistenz der Daten beitragen.
Hier ein Beispiel zur Erläuterung:
Zwei Personen arbeiten gemeinsam an einem Buch. Die erste Person bearbeitet z. B. Kap. 5, während die zweite Person an Kap. 1 arbeitet. Nun möchte die erste Person einen Abschnitt aus Kap. 1 referenzieren, der gerade von der zweiten Person bearbeitet wird. Weiß die
erste Person allerdings nicht, was die zweite Person gerade macht, so
referenziert sie womöglich einen Abschnitt, der noch nicht fertig ist
und mit evtl. einem anderen Inhalt als erwartet. Damit könnte die
Referenz auf besagten Abschnitt semantisch inkorrekt sein. Weiß die
erste Person allerdings mit Hilfe von Awareness-Mechanismen über
die Arbeit der zweiten Person Bescheid, so würde sie eventuell warten,
bis die zweite Person den Abschnitt fertig gestellt hat und dann anders
entscheiden. Awareness kann also helfen, andere über die eigenen
Aktivitäten in Kenntnis zu setzen, um so effektivere Gruppenarbeit zu
ermöglichen.
Bei der Arbeit in einer Gruppe sind Absprachen und Informationen
über die Aktivitäten anderer sehr wichtig. Werden diese nicht durch
Awareness-Mechanismen ermöglicht, so kann man immer noch zum
Telefonhörer greifen, eine E-Mail schreiben oder Chatten. Diese Art
von „Awareness-Mechanismen“ stört aber meist den Arbeitsablauf. Es
wäre viel effektiver, wenn man auf einen Blick die für die Arbeit wichtigen „Awareness“- Informationen sehen könnte. Daher ist die Integration von Awareness-Mechanismen in ein CSCW-System wichtig, um
so den Arbeitsablauf effektiv zu unterstützen, ohne ihn durch unnötige Informationen zu behindern.
Es gibt verschiedenste Arten von Awareness-Informationen, angefangen bei Informationen über Dokumente, Projekte und Aufgaben
bis hin zu Informationen über den Ort und die Aktivitäten von anderen Gruppenarbeitern. Diese Informationen werden mit Hilfe verschiedenster Techniken bereitgestellt.
3.8 Awareness in kollaborativen Systemen
Awareness schafft ein Bewusstsein für
die Aktionen der anderen
■
■
■
187
Es existieren zahlreiche AwarenessMechanismen
In kollaborativen Systemen wie Mehrbenutzer-Editoren wird oft die
Benutzeroberfläche mit neuen Komponenten, sogenannten „Widgets“,
erweitert, welche die fehlenden Informationen über die anderen Teilnehmer bereitstellen. Beispiele dafür sind das „Teleporting“, „Telepointing“, Mehrbenutzer-Scrollbalken, „What You See Is What I Do“(WYSIWID-) Ansichten, Miniaturansichten oder sogenannte Radaransichten.
Mit dem „Teleporting“ kann die Arbeitsumgebung einer anderen
Person betrachtet werden. Dabei wird zum Beispiel ein Screenshot der
Ansicht (z. B. Arbeitsbereich, Desktop) eines anderen Teilnehmers
gezeigt. Beim „Telepointing“ werden die Mausbewegungen einer anderen Person sichtbar gemacht. Der Mehrbenutzer-Scrollbalken zeigt
die relative Position jedes Teilnehmers im Arbeitsbereich. Die
WYSIWID-Ansicht erlaubt es, die Aktivitäten einer anderen Person
direkt zu sehen. Die Miniaturansicht gibt eine Übersicht über den
gesamten Arbeitsbereich und die Radaransicht zeigt Zusatzinformationen über die Position anderer im Arbeitsbereich. Weitere Möglichkeiten zur Bereitstellung von Awareness-Informationen sind Bilder
von Web-Kameras, Videoausschnitte und Hintergrundgeräusche.
Die Entwicklung von Awareness-Mechanismen beschränkt sich
nicht nur auf Softwarelösungen. Es werden auch neuartige Geräte
eingesetzt, um die Awareness zu verbessern. Es gibt verschiedene
Ansätze, Alltagsgegenstände mit „Intelligenz“ auszustatten, um unter
anderem die Mensch-Computer-Interaktion zu verbessern oder den
Menschen auf andere Weise das Leben zu erleichtern. Aus den Forschungsgebieten Human Computer Interaction (HCI), Ubiquitous
Computing und Ambient Intelligence entstehen zusätzlich neue Ansätze, wie die Awareness in CSCW-Systemen verbessert werden kann.
Zum Beispiel existieren in der Forschung spezielle Stühle mit Sensoren, die ein Groupware-Konferenzsystem automatisch darüber informieren, wenn ein Teilnehmer von seinem Stuhl aufsteht und den
Raum verlässt [43]. Damit wird ein aktives Abmelden durch den Benutzer unnötig und die anderen Teilnehmer der Konferenz sind nicht
überrascht, dass der Teilnehmer nicht mehr antwortet, weil er vergessen hatte, sich abzumelden.
3.8.2
Usability und Privatsphäre
Bei der Entwicklung der Awareness-Unterstützung für ein CSCWSystem hat die Usability einen zentralen Stellenwert. Man sollte sich
unter anderem überlegen, welche Information relevant ist und wie
diese bereitgestellt wird. Ein Zuviel an Awareness-Informationen oder
eine ungeschickte Aufbereitung und Darstellung dieser kann auch
188
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
ablenkend bzw. hinderlich auf den Arbeitsablauf wirken. Auch ist
eventuell relevant, was die Unterbrechung des Arbeitsablaufs für die
Benutzer bedeutet.
Ein bewusster Umgang mit der Privatsphäre der Benutzer ist wichtig. Es sollte jedem Benutzer die Möglichkeit gegeben werden, selbst
zu kontrollieren, welche Informationen über ihn und seine Arbeit
preisgegeben werden und welche nicht. Besteht diese Möglichkeit der
Kontrolle nicht, kann dies im einfachsten Fall die Ablehnung des
CSCW-Systems durch die Benutzer bewirken. Bei kommerziell eingesetzten Systemen kann dies aber auch zur unfreiwilligen Offenlegung
von geschäftsrelevanten Informationen führen. Wenn jeder Benutzer
eines CSCW-Systems sehen kann, was ein anderer gerade tut (oder
nicht tut), kann diese Information eventuell schädigend eingesetzt
werden.
Anonymität der Benutzer kann daher bei manchen Systemen Voraussetzung und Ermutigung für eine faire und konstruktive Teilnahme am System (z. B. bei Diskussionsgruppen) sein und schützt Benutzer vor Belästigung. Auf der anderen Seite besteht ein Interesse an der
Preisgabe persönlicher Daten, da dadurch Systeme sinnvoller individuelle Anpassungen wie z. B. der Benutzeroberfläche vornehmen
können und dadurch die Usability verbessert werden kann. Auch gibt
es Fälle, in denen Anonymität z. B. aus abrechnungs- und sicherheitstechnischen Gründen nicht erwünscht ist, um z. B. Missbrauch zu
verhindern. Um den widersprüchlichen Anforderungen gerecht zu
werden, ist Reziprozität (Wechselseitigkeit) eine mögliche Verfahrensweise. Dabei muss ein Benutzer, der über einen anderen Benutzer
etwas erfahren will, die gleiche Information über sich preisgeben.
Diese Verfahrensweise ist allerdings nicht überall sinnvoll. Generell
sollte bei CSCW-Systemen Wert auf die Sicherheit und die Privatsphäre gelegt werden.
Privatsphäre und Benutzerfreundlichkeit
sind entscheidend für die Akzeptanz
eines CSCW-Systems
3.9
Fazit und Ausblick
Was wäre das Internet ohne das WWW und E-Mail? Wer heutzutage
keine E-Mail-Adresse besitzt, gilt als veraltet. Auch Weblogs und Wikis gehören mittlerweile zum modernen Menschen der Informationsgesellschaft. CSCW-Systeme sind daher schon fester Bestandteil des
Alltags vieler, ohne dass sie es wahrnehmen, und nicht mehr aus diesem wegzudenken. Und der Trend geht weiter.
Aktuelle CSCW-Systeme bieten in vielen Bereichen eine gute Unterstützung, doch gibt es noch viel zu verbessern. Die Integration der kollaborativen Systeme in den Arbeitsablauf lässt meist noch zu wünschen
3.9 Fazit und Ausblick
■
■
■
189
Mobilität wird immer wichtiger
CSCW-Systeme machen die Welt zum
Büro
übrig. Es gibt zu viele kleine Projekte und proprietäre Systeme, die
jeweils nur für eine Teillösung taugen. Oft will man aber mehr. Eine
Integration verschiedener Systeme zu einem auf den Anwendungsfall
abgestimmten Gesamtsystem sollte möglich werden. Dazu bedarf es
neuer Standards, um zwischen Systemen Daten und Informationen
austauschen zu können, ohne dabei von einem System abhängig zu
sein. Die Integration der CSCW-Systeme in die Betriebssysteme und
die Kompatibilität der Systeme untereinander sollte also auch besser
werden, um unter anderem eine gute Usability und damit eine bessere
Benutzerakzeptanz zu erreichen.
Usability, Awareness und Privatsphäre sind wichtige Punkte, die in
aktuellen CSCW-Systemen oft zu kurz kommen. Es besteht also noch
großer Forschungsbedarf im Bereich CSCW.
Im mobilen Zeitalter will oder muss man jederzeit und überall erreichbar sein. Ob per SMS, Mobiltelefon oder im Chat mit dem Laptop im Homeoffice, in der Bahn, im Flugzeug oder im Café sitzend.
Dabei nimmt das kollaborative Arbeiten von Überall und zu jeder
Zeit einen immer höheren Stellenwert ein. Nicht nur auf Flugplätzen
und Bahnhöfen sind heute Hotspots verfügbar. Mit der Weiterentwicklung der Hardware und der Vernetzung wird sich auch die kollaborative Software immer weiter entwickeln. CSCW-Systeme wie
Groupware, Versionsverwaltung und Mehrbenutzer-Editoren werden
noch mehr miteinander verschmelzen. CSCW-Systeme werden in
Zukunft auf verschiedenste Weisen zusammenspielen und uns immer
und überall begleiten.
Das Mobiltelefon wird in Zukunft zur zentralen Kommunikationszentrale werden, mit der Leistungsfähigkeit eines PCs und ständiger
Breitbandanbindung an das Internet oder das Firmennetzwerk. Mit
neuen Displaytechnologien, neuartigen Eingabegeräten und spezialisierten Betriebssystemen wird man immer und überall mit hohem
Komfort im mobilen Büro arbeiten. Dabei unterstützen kollaborative
Systeme den Benutzer und vermitteln ihm den Eindruck als wäre er
vor Ort beim Kunden oder beim Kollegen im Büro. Neben den drei
„klassischen“ mobilen Geschäftsanwendungen Surfen, E-Mail und
Zugriff aufs Firmennetz wird die Internet-Zusammenarbeit z. B. als
Desktop-Sharing oder als Web-Conferencing zu den Standardanwen39
dungen des mobilen Büros gehören . Das spart Zeit und Reisekosten.
Die Telearbeit wird durch immer bessere kollaborative Systeme und
Hardware zur Normalität werden und nebenbei spart die Firma dadurch Büromiete. Entfernung spielt in der Zukunft keine Rolle mehr.
In der Zukunft könnte zum Beispiel ein japanischer 3D-Designer
von zu Hause aus mit seinem deutschen Kollegen gleichzeitig an einem
39
190
■
■
■
Erste Trends setzen Anwendungen wie Netviewer. http://www.netviewer.de/.
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
3D-Modell für ein neues Automobil arbeiten. Dabei nutzen sie einen
Echtzeit-Mehrbenutzer-Editor mit integrierter Versionsverwaltung
und ein Groupware-System für die Kommunikation und die Besprechungen mit den anderen Teammitgliedern, die auf der ganzen Welt
verteilt arbeiten. Virtuelle Konferenzräume werden dabei die „echten“
Konferenzräume ersetzen. Sie werden eine Interaktivität bieten, die der
Realität in nur wenigen Punkten nachsteht. Die dabei eingesetzte kollaborative Software wird äußerst benutzerfreundlich in das Betriebssystem integriert sein. Forschungsprojekte wie Croquet geben einen
Hinweis darauf, wie ein kollaboratives Betriebssystem der Zukunft
aussehen könnte.
Nicht allein die Zeitersparnis und der Wegfall der Reisekosten sind
überzeugende Argumente für den Einsatz von CSCW-Systemen. Auch
bieten sie heute schon eine gute Unterstützung der gemeinschaftlichen Arbeit durch neue Kommunikationsmöglichkeiten und die Integration von Arbeitsabläufen. Gerade in Zeiten der Globalisierung
sind CSCW-Systeme nicht mehr wegzudenken.
Literatur
[1]
Molli, P., Skaf, H., Oster, G., Jourdain., S.: „SAMS: Synchronous, Asynchronous, Multi-Synchronous Environments“. Proceedings of CSCWD'02, Rio de
Janeiro, Brazil, 2002.
[2] Wilson, P.: Computer supported cooperative work: an introduction. Oxford,
England Norwell, MA, Intellect; Sold and distributed in the U.S.A. and
Canada by Kluwer Academic Publishers, 1991.
[3] Grudin, J.: Groupware and social dynamics: eight challenges for developers.
Communications of the ACM, 37, 1994.
[4] Koch, M.: Unterstützung kooperativer Dokumentenbearbeitung in Weitverkehrsnetzen. Dissertation an der Technischen Universität München,
1996.
[5] Ellis, C.A., Gibbs, S.J., Rein, G.L.: Groupware – Some Issues and Experiences.
Communications of the ACM, 34, 1991.
[6] Greenberg, S.: Computer Supported Cooperative Work and Groupware.
Academic Press, London, 1991.
[7] Dillenbourg, P. et al.: The Evolution of Research on Collaborative Learning.
Learning in humans and machines. Towards an interdisciplinary learning
science. P. Reimann and H. Spada. London, Pergamon: 189–211, 1995.
[8] Hildebrand, R., Koetter, P.: Postfix. Dpunkt Verlag, 2005.
[9] Carius, F., Mantke, I.: Microsoft Exchange Server 2003. Hanser Fachbuchverlag, 2005.
[10] Levine, J.: QMAIL. O’Reilly Media, 2004.
[11] Riempp, G.: Wide Area Workflow Management. Springer-Verlag, London
1998.
Literatur
■
■
■
191
[12] Greif, I., Seliger, A., Weihl, W.: A Case Study of CES: A Distributed Collaborative Editing System Implemented in Argus. IEEE Transactions on Software Engineering, S. 827–839, 1992.
[13] Knister, M.J., Prakash, A.: DistEdit: a distributed toolkit for supporting
multiple group editors. Proceedings of the 1990 ACM conference on Computer-supported cooperative work, Los-Angeles, S. 343–355, 1990.
[14] D. Chen.: REDUCE – REal-time Distributed Unconstrained Collaborative
Editing System. Research Project at the Griffith University, Brisbane. 2001.
[15] Sun, C. et al.: A consistency model and supporting schemes in real-time
cooperative editing systems. Proceedings of the 19th Australian Computer
Science Conference, Melbourne, S. 582–591, Jan. 1996.
[16] Galli, R., Luo, Y.: MU3D: A Causal Consistency Protocol for a Collaborative
VRML Editor. Proceedings of the Web3D-VRML 2000 fifth symposium on
Virtual Reality Modeling Language. ACM, February 2000.
[17] Ellis, C.A., Gibbs. S.J.: Concurrency Control in Groupware Systems. Proceedings of the 1989 ACM SIGMOD international conference on management
of data. ACM, 1989.
[18] Chen, D.: Consistency Maintenance in Collaborative Graphics Editing Systems. Dissertation at the Griffith University Brisbane, 2001.
[19] Koch, M.: Unterstützung kooperativer Dokumentenverarbeitung in Weitverkehrsnetzen. Dissertation an der TU München, 1997.
[20] Kirsche, T. et al.: CoDraft: Eine verteilte Architektur zur Unterstützung von
Gruppenarbeit durch Multimediale Objekte, Praxis Information und Kommunikation, Stuttgart, 1993.
[21] Haake, J.M., Wilson, B.: Supporting collaborative writing of hyperdocuments in SEPIA. Proceedings of the 1992 ACM Conference on ComputerSupported Cooperative Work, Toronto, Canada, 1992.
[22] Bernstein, P. et al.: Concurrency Control and Recovery in Database Systems.
Addison-Wesley, 1987.
[23] Härder, T.: Datenbanksysteme: Konzepte und Techniken der Implementierung. 2. Auflage, Springer-Verlag, 2001.
[24] Ignat, C., Norrie, M.: Tree-based model algorithm for maintaining consistency in real-time collaborative editing systems. ACM. Fourth International Workshop on Collaborative Editing Systems, New Orleans, Louisiana,
2002.
[25] Ellis, C.A., Gibbs, S.J.: Concurrency Control in Groupware Systems. ACM
Proceedings. SIGMOD International Conference on Management of Data.
1989.
[26] Ressel, M., Nitsche-Ruhland, D. et al.: An integrating, transformationoriented approach to concurrency control and undo in group editors. ACM
Conference on Computer-Supported Cooperative Work, 1996.
[27] Sun, C., Jia, X. et al.: Achieving Convergence, Causality-preservation, and
Intention-preservation in Real-time Cooperative Editing Systems. ACM
Transactions on Computer-Human Interaction, 1998.
[28] Sun, C., Ellis, C.: Operational Transformation in Real-Time Group Editors:
Issues, Algorithms, and Achievements. ACM Proceedings. ACM Conference
on Computer-Supported Cooperative Work, Seattle, Washington, 1998.
192
■
■
■
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
[29] Suleiman, M., Cart, M. et al.: Serialization of Concurrent Operations in
a Distributed Collaborative Environment. ACM International Conference
on Supporting Group Work, 1997.
[30] Fidge, C. J.: Timestamps in message-passing systems that preserve the partial ordering. University of Queensland, Australia. 11th Australian Computer Science Conference, 1988.
[31] Lamport, L.: Time, clocks and the ordering of events in a distributed system.
Computer Associates, 1978.
[32] Raynal, M., Singhai, M.: Logical Time: Capturing Causality in Distributed
Systems. IEEE Computer. S. 49–56. IEEE, 1996.
[33] Pfister, H.-R., Schuckmann, C., Beck-Wilson, J., Wessner, M.: The Metaphor
of Virual Rooms in the Cooperative Learning Environment. Proceedings of
CoBuild'98, Darmstadt, 1998.
[34] Miao, Y. et al.: An Activity-Oriented Approach to Visually Structured Knowledge Representation for Problem-Based Learning in Virtual Learning Environments. COOP'2000 (Fourth International Conference on the Design of
Cooperative Systems). Sophia Antipolis, Frankreich, 2000.
[35] Streitz, N.A. et al.: DOLPHIN: Integrated Meeting Support across LiveBoards, Local and Remote Desktop Environments. Proceedings of the 1994
ACM Conference on Computer-Supported Cooperative Work (CSCW'94),
Chapel Hill, N.C., S. 345–358, 1994.
[36] Streitz, N.A. et al.: i-LAND: An interactive Landscape for Creativity and
Innovation. ACM Conference on Human Factors in Computing Systems
(CHI '99). ACM Press, New York, 1999.
[37] Haake, J., Wang, W.: Flexible Support for Business Processes: Extending
Cooperative Hypermedia with Process Support. Information and Software
Technology, S. 355–366, 1999.
[38] GMD-IPSI: „Co-operative UML Editor“
http://www.darmstadt.gmd.de/concert/activities/internal/umledit.html,
2000.
[39] Schümmer, T., Schümmer, J.: Support for Distributed Teams in eXtreme
Programming, Proceedings of eXtreme Programming and Flexible Processes in Software Engineering - XP2000, Addison-Wesley, 2000.
[40] Gerlicher, A.: Erweiterung bestehender Anwendungen um kollaborative
Funktionen mit Hilfe des Collaborative Editing Framework for XML
(CEFX). Aktuelle Trends in der Softwareforschung. Band 2: Tagungsband
zum doIT Software−Forschungstag am 29. Oktober 2004. Fraunhofer IRB
Verlag, Stuttgart, 2005.
[41] Dourish, P.: Extending Awareness Beyond Synchronous Collaboration.
Position paper for the CHI’97 Workshop on Awareness in Collaborative Systems, Atlanta, 1997.
[42] Gutwin, C., Roseman, M., Greenberg, S.: A Usability Study of Awareness
Widgets in a shared Workspace Groupware System. ACM CHI '96 Conference Companion, 1996.
[43] Szwillus, G., Ziegler, J. (Hrsg.): Mensch & Computer 2003: Interaktion in
Bewegung. Stuttgart: B. G. Teubner, S. 135–143, 2003.
[44] Beaudouin-Lafon, Michel (ed.): Computer-Supported Cooperative Work.
John Wiley, 1999.
Literatur
■
■
■
193
[45] Coleman, D. (ed.): Groupware. Collaborative Strategies for Corportate
LANSs and Intranets. Upper Saddle River: Prentice-Hall, 1997.
[46] Crabtree, A.: Designing Collaborative Systems: A Practical Guide to Ethnography, Springer-Verlag, 2003.
[47] Darses, F., Dieng, R., Simone, C. Zacklad, M. (Hrg.): Cooperative Systems
Design, Scenario-Based Design of Collaborative Systems, Proceedings of
COOP 2004, Hyères Les Palmiers, Frankreich, 2004.
[48] Gerlicher, A.: A Framework for Real-Time Collaborative Engineering in the
Automotive Industries. Lecture Notes on Computer Science, Proceedings of
the Third International Conference on Cooperative Design, Visualization
and Engineering, Mallorca, Spain, Springer-Verlag, September 2006.
Links zu Forschungsprojekten
COAST:
CoWord:
CoPowerPoint:
Reduce:
Grace:
Annodex:
Croquet:
http://www.opencoast.org/download/
http://reduce.qpsf.edu.au/coword/
http://reduce.qpsf.edu.au/copowerpoint/
http://reduce.qpsf.edu.au/reduce/index.html
http://www.cit.gu.edu.au/~scz/projects/grace/
http://www.annodex.net/
http://www.opencroquet.org/
Abkürzungen
API
BLOG
CMWeb
CSCL
CSCW
CVS
FTP
GPRS
HCI
HTML
HTTP
IMAP
IMAPS
IP
IRC
ISDN
MCU
OT
P2P
POP3
POP3S
RSS
194
■
■
■
Application Programmer’s Interface
Weblog
Continuous Media Web
Computer-Supported Cooperative Learning
Computer-Supported Cooperative Work
Concurrent Versioning System
File Transfer Protocol
General Packet Radio System
Human Computer Interaction / Interface
Hypertext Markup Language
Hypertext Transfer Protocol
Internet Message Access Protocol
Internet Message Access Protocol Secured
Internet Protocol
Internet Relay Chat
Integrated Services Digital Network
Multipoint Control Unit
Operational Transformation
Peer to Peer
Post Office Protocol 3
Post Office Protocol 3 Secured
Really Simple Syndication
3 Computer-Supported Cooperative Work (CSCW) – kollaborative
Systeme und Anwendungen
RTCE
SAMS
SCC
SIP
SMB
SMTP
SPAM
SVN
TCP
UML
UMTS
VoIP
VPN
VSS
WebDAV
WfMS
WWW
WYSIWID
XML
Real-Time Collaborative Editing
Synchronous Asynchronous Multisynchronous System
Source Code Control
Session Initialisation Protocol
Server Message Block
Simple Message Transfer Protocol
Engl. Dosenfleisch oder unerwünschte E-Mail
Subversion
Transmission Control Protocol
Unified Modelling Language
Universal Mobile Telecommunications System
Voice over IP
Virtual Private Network
Visual Sourcesafe
Web-based Distributed Authoring and Versioning
Workflow Management System
World Wide Web
What You See Is What I Do
Extensible Markup Language
Abkürzungen
■
■
■
195
4 Content-Related-Technologien
Oliver Kretzschmar
Dieses Kapitel vermittelt einen Überblick und das Verständnis über die
grundlegenden und interdisziplinären Content-Related-Technologien
in Systemen, wie Dokumenten-Management-, Web-Content-Management-, Enterprise-Content-Management-Systemen etc. Im Folgenden
werden wir Systeme aus dem Umfeld der Content-Related-Technologien als CRT-Systeme bezeichnen (der verwandte Begriff „DRT Document-Related-Technologien“ wurde 1998 von Ulrich Kampffmeyer
eingeführt). CRT-Systeme, deren Vertreter in Kap. 4.3 noch näher
erläutert werden, sind IT-Systeme, die überwiegend digitale Inhalte
erfassen, beschaffen, verwalten und verwerten (vgl. Kampffmeyer
2003). Der Begriff wird auch deshalb verwendet, um dem Wildwuchs
der Systembezeichnungen mit einem Überbegriff begegnen zu können.
Dabei unterscheiden sich diese Systeme vorrangig in ihrem eigentlichen Anwendungsgebiet, den primären Nutzenfaktoren und den daraus abgeleiteten Anforderungen sowie in der Art der erfassten bzw.
verwalteten digitalen Inhalte.
Wir betrachten und erläutern hier in kompakter Form die im Kontext des Themas stehenden Begrifflichkeiten, die elementaren Nutzenaspekte und die grundlegenden technologischen Bausteine solcher
Systeme. Für eine weitere Vertiefung wird jeweils auf entsprechende
Literatur verwiesen. Zur Veranschaulichung geben wir zu den komplexen Sachverhalten entsprechende Beispiele aus der Praxis.
Content-Related-Technologien
4.1
Grundlegende Begriffe
4.1.1
Informationen, Daten, Medien, Content, Asset
und Wissen
Information meint zum einen die Kenntnis über Zustände, Geschehnisse oder Sachverhalte in der realen Welt, zum anderen ist es der Prozess
4.1 Grundlegende Begriffe
Informationen und Daten
■
■
■
197
Medien
Content
Rechte
198
■
■
■
der Kommunikation selbst im Sinne von Informieren, Verständigen
und Mitteilen. Im Kontext der Content-Related-Technologien wird der
Aspekt der Erkenntnis, die Bedeutung von Information und der pragmatische Aspekt von Nutzen und Zielen der Information in den Vordergrund gestellt (vgl. Schneider, Werner 2004).
Daten werden im Computer (systemintern) verarbeitet und mittels
eindeutiger Vorschriften verarbeitungsgerecht formuliert. Zum Beispiel ist die Zahl „4,60“ zwar ein Datum (pl. Daten), aber noch keine
Information. Information lässt sich als Verknüpfung zwischen Daten,
einer semantischen Bedeutung und einem pragmatischen Wert darstellen. Information lebt also in einer Welt von Bedeutung, Kontext
(Beziehung) und Interpretation. Zum Beispiel wird unsere Zahl (Datum) „4,60“ durch den Kontext und der Bedeutung „1 DIN A4 Block
kostet 4,60 Euro“ zu einer Information mit praktischem Wert.
Medien dienen der Speicherung, Darstellung und Übermittlung
von Informationen. Dabei können die Informationen in unterschiedlich strukturierter Form und Codierung vorliegen. Die Struktur definiert dabei den gegliederten Aufbau, also die Anordnung von Teilen
zu einem Ganzen. Eine Strukturierung kann dabei auf unterschiedliche Arten herbeigeführt werden, etwa mittels Metadaten als ergänzende Informationen oder durch Eingliederung in eine Ordnungsstruktur, etwa eine hierarchische Gruppierung. Die Codierung
bestimmt den Medientyp, wie Text, Rasterbild, Ton, Video. Medienobjekte bezeichnen Datenobjekte gleichen Medientyps, zum Beispiel die
Mediendatei PhotoShop-Bild PSD mit einer zugehörigen Zusatzinformation, wie der Bildbeschreibung. Multimedia-Objekte bezeichnen
Inhalte, die aus mehreren digitalen Medien unterschiedlicher Medientypen bestehen, zum Beispiel PowerPoint-Datei mit referenzierten
(nicht eingebetteten) Bilddateien.
Content (engl. Inhalt) bezeichnet Medien in schwach oder stark
strukturierter Form, die in elektronischen Systemen genutzt werden
können. Die Art der Strukturierung und deren Granularität ist unterschiedlich ausgeprägt. Zum Beispiel kann sich der Content auf ein
Bildobjekt mit ergänzenden Informationen, wie Bildbeschreibungen,
beziehen oder auf die Überschrift eines Dokumentenberichtes. Eine
zunehmende Rolle in CRT-Systemen spielen komplexer strukturierte
Content-Objekte wie Produkte im Katalog-Management (z. B. „Bohrmaschine 4711“) mit unterschiedlichen Abbildungen, Preis- und Artikelinformationen. Auf die Möglichkeiten und Notwendigkeiten der
Strukturierung solcher Medien werden wir noch eingehen.
Rechte spezifizieren die Bedingungen eines Verwendungs-, Vervielfältigungs- bzw. Verwertungsrechts von Content. Diese Bedingungen
stehen im Kontext zum Urheberrecht. Als Urheberrecht wird das ausschließliche Recht eines Schöpfers (Urhebers) an seinem Werk (z. B.
4 Content-Related-Technologien
Musikkompositionen, Gemälde, Filme, Fotografien, wissenschaftliche
oder literarische Texte etc.) bezeichnet. Die resultierenden Nutzungsrechte können an andere Rechtspersonen abgetreten werden.
Assets (engl. Wert) definiert einen verwertbaren Content unter Berücksichtigung der existierenden Rechtsverhältnisse. Aus diesem
Wertegedanken leiten sich viele Systeme in diesem Kontext ab: Das
geht vom einfachen Wiederauffinden von Dokumenten in Archivund Dokumenten-Management-Systemen bis zur automatischen Verknüpfung und Wiederverwertung von Inhalten in unterschiedlichen
Werbemitteln in Enterprise-Content-Management-Systemen. Die
Berücksichtigung der Rechteverhältnisse (vgl. Kreikle 2001) spielt
insbesondere dort eine Rolle, wo Content von anderen Urhebern bezogen wird, etwa bei der Verwendung von Bildern anderer Urheber in
Verlagen oder aktuellen Nachrichten auf Unternehmens-Webseiten
(Abb. 4.1).
Wissen ist die intelligente Verknüpfung von Informationen mit
vorhandenen Erfahrungen und Kenntnissen. Wissen kann dabei explizit, also codiert in Form von Daten, Dokumenten etc., oder aber
implizit (als Erfahrung menschlicher Wissensträger) vorliegen (vgl.
Bullinger, Wörner, Prieto 1998).
Asset
Wissen
Abb. 4.1:
Medien, Struktur, Content, Rechte und
Asset
4.1.2
Formatierung und Strukturierung von Content
Um Content kommunizieren und darstellen zu können, muss er in
Formate codiert werden.
4.1 Grundlegende Begriffe
■
■
■
199
Formatierung
Strukturierung
200
■
■
■
Im Bereich der Content-Related-Technologien kann man zwei primäre Arten von Formatierung unterscheiden: die binäre und die Rendering-Formatierung. Die binäre Formatierung dient zur Codierung
analoger in digitale Daten, etwa der Umwandlung eines gescannten
Farbfotos in das digitale Bildformat EPS; das Ergebnis ist ein Dateiformat. Die interne Codierung eines Medientyps besteht aus den eigentlichen Rohdaten (z. B. Bitfolgen) und aus Registrierungsdaten zur
korrekten Identifikation und Interpretation der Rohdaten (z. B. Header-Informationen in einem Videostream) sowie optional beschreibende Daten (vgl. Meyer-Wegener 2003).
Die Rendering-Formatierung dient als Darstellungsform zur Informations-Präsentation von Content. Zu den Rendering- Formatierungen gehören visuelle, emotionale und Formeffekte für Inhalt und Layout, wie Schriftgröße, Hervorhebungen durch Farbe und Positionen
von Textpassagen oder Zeichen- und Absatzformatierungen mit einer
bestimmten Schriftart (vgl. Boiko 2002; Rockley 2003).
Das Layout definiert die räumliche (z. B. Dokument), zeitliche (z. B.
Video) und logische Anordnung von Inhalten, die wiederum durch
Rendering-Formatierungen gestaltet sind. Das Layout mit den gestalteten Inhalten ergibt die eigentliche Darstellungsform. Die Forderung
im Bereich der Content-Related-Technologien nach Trennung von
Struktur, Inhalt und Gestaltung ist von zentraler Bedeutung.
Zur ausgabekanalunabhängigen (device independent) Verwertung
von Content ist die Trennung von Binär- und Rendering-Formatierung
erforderlich. Des Weiteren sollten die Gestaltungseigenschaften nicht
auch schon codiert sein, da dies bereits eine spezifische Ausrichtung
für einen bestimmten Ausgabekanal, wie Print oder Web, beinhaltet.
Die Struktur definiert den gegliederten Aufbau und die Anordnung
von Teilen eines Ganzen zueinander. Die Strukturierung ermöglicht
das Zusammenführen von Content in unterschiedlichen Prozessstufen, etwa durch Bündelung von unterschiedlichen Fachartikeln zu
einem neuen thematischen Sammelband innerhalb einer ContentVerwertung. Die Strategie der Mehrfachverwertung werden wir in
Kap. 4.2.2 erörtern. Eine Strukturierung ermöglicht des Weiteren,
unterschiedliche Sichten auf ein und denselben Content oder dessen
Zusammenführungen abzubilden: So kann ein Artikeltext der „Content“-Fachzeitschriften-Ausgabe 12/2005 zum Thema „Metadaten“
nicht nur in eine hierarchische Gruppe „Fachzeitschrift Content ->
2005 -> Ausgabe 12“ eingeordnet werden, sondern auch in die hierarchische Gruppe „Content-Themen -> Metadaten“.
Es gibt im Bereich der Content-Related-Technologien unterschiedliche Arten zur Strukturierung. Die wohl Wichtigsten sind das Hinzufügen von sogenannten Metadaten, also ergänzende Informationen
(z. B. eine Artikelnummer zu einer Produktabbildung), die Möglich-
4 Content-Related-Technologien
keit der Einordnung in ein Ordnungssystem (z. B. hierarchische
Gruppe) und das Auszeichnen (z. B. Tagging) von Content-Bestandteilen und deren „Binnenstruktur“, etwa mittels XML, in dafür geeigneten Medientypen wie XML-Dokumenten.
Sehr häufig wird eine Strukturierung vereinfachend nur durch Gestaltungsformatierung und nicht über eine vorhergehende explizite
Strukturierung herbeigeführt; man denke an die Formatierung mittels
Formatvorlagen in WinWord; oftmals gibt es gar keine Alternative zu
dieser impliziten Strukturierung. Ziel muss aber sein, dass umgekehrt
die Gestaltung auf der Basis einer expliziten Strukturierung erfolgt.
Beispiel: In einem Fachzeitschriftenartikel erkennen wir allein durch
das Layout (Gestaltungsformatierung) die Überschrift, die Zusammenfassung (z. B. Kurztext), den eigentlichen Artikelinhalt (z. B. Langtext), den Namen des Autors und das Erscheinungsjahr. Würde man
diese Layoutformatierung als Grundlage der Strukturierung heranziehen, dann könnte dieser Content zwar wieder gedruckt, nicht aber
automatisch auf eine Webseite übernommen werden, wenn nur die
Überschrift und der Kurztext zu verwenden wäre. Denn die Abbildung
der Gestaltungsformatierung auf eine Struktur erfordert im Regelfall
implizites menschliches Wissen oder ein komplexes Regelwerk (z. B.
Text in 18 pt ==> Überschrift). Deshalb ist im Sinne einer ContentVerwertung eine explizite Strukturierung des Contents unverzichtbar,
aufgrund derer dann die ausgabekanalspezifische Formatierung erfolgen kann.
Zusammenhang zwischen Formatierung
und Strukturierung
4.1.3
Dokumente früher und heute
Nach wie vor ist das Dokument der gebräuchlichste Medientyp bzw.
Multi-Media-Typ, wenn Bildinhalte darin verknüpft sind: als WinWord-, XML- oder HTML-Dokument. Dokumente seien im Folgenden im zeitlichen Wandel und den daraus resultierenden Eigenschaften auch für CRT-Systeme betrachtet.
Dokumente sind in ihrer klassischen Betrachtung durch folgende
Eigenschaften definiert:
Dokumente
• Ein Dokument ist eine Urkunde, ein Beweisstück, ein Schriftstück
oder allgemein ein Stück Papier, das Informationen enthält.
• Laut Brockhaus: „m.lat. beweisende Urkunde, eigtl. das zur Belehrung über etwas oder zur Erhellung von etwas Dienliche, zu lat. docere lehren; Urkunde, amtl. Schriftstück; Beweismittel, Beleg.“
• In den Grundlagen der Dokumentenverarbeitung (vgl. Wilhelm,
Heckmann 1996) sind Dokumente ein Bündel von Informationen,
4.1 Grundlegende Begriffe
■
■
■
201
die in der Absicht erzeugt wurden, dass sie von Menschen wahrgenommen werden. Beispiele dafür sind Reden, Filme, Bilder und
Schriftdokumente.
• In der DIN-Norm ist ein Dokument die materielle Einheit eines
Trägers bibliografischer und dokumentarischer Daten.
• Die Quellen dieser Dokumente sind dabei im Regelfall Autoren
oder Redakteure.
• Die Zielgruppe bzw. der Empfänger ist der Leser.
Wenn wir nun heutige Dokumente noch zusätzlich unter dem Aspekt der elektronischen Verfügbarkeit (vgl. Content-Begriffserläuterung) betrachten, dann können wir zusätzlich folgende Eigenschaften
nennen (vgl. Boiko 2002):
• Dokumente können zugangsgeschützt sein.
• Dokumente können interaktive Bestandteile beinhalten, etwa elektronische Formulare.
• Dokumente können automatisch be- und verarbeitbar sein, etwa in
einer Formularverarbeitung.
• Dokumente können ortskorrelierte (z. B. Texte, Bilder) oder zeitkorrelierte Inhalte wie Animationen oder Videosequenzen enthalten.
• Dokumente können abhängig oder unabhängig von anderen Dokumenten und Inhalten nutzbar sein, etwa durch verlinkte oder
eingebundene Inhalte.
• Dokumente können statische oder dynamische Inhalte integrieren,
wie dynamisch generierte Lagerbestandstabellen in einer Webseite.
• Dokumente können integrierte Funktionen beinhalten, wie elektronische Berechnungen.
• Die Quellen von Dokumenten können Autoren oder Redakteure,
aber auch Maschinen (z. B. Messgeräte, Rekorder) oder Programme (z. B. Suchmaschinen) sein.
• Die Zielgruppen bzw. die Empfänger für Dokumente können Leser,
Programme (z. B. Back-Office, Web-Crawler, Literaturdienste) oder
Maschinen sein.
• Dokumente können strukturiert oder unstrukturiert sein.
CRT-Systeme zur Verwaltung und Verwertung von Dokumenten
müssen je nach Einsatzzweck diesen unterschiedlichen Eigenschaften
und Sachverhalten gerecht werden.
Die wichtige Eigenschaft der Strukturiertheit oder Unstrukturiertheit von Dokumenten soll hier noch kurz aufgegriffen werden. Wie in
der Struktur-Begriffsdefinition erwähnt, bietet erst die Strukturierung
202
■
■
■
4 Content-Related-Technologien
die Möglichkeit, eine Ordnungsbeziehung von Inhaltsbestandteilen
oder Segmenten (z. B. einzelne Textbereiche) zu einem Ganzen (z. B. zu
einem Fachartikel) herzustellen. Innerhalb eines Zeitungsartikels etwa
wäre eine solche Strukturierung über die Auszeichnung der Überschrift,
der Kurzbeschreibung, des eigentlichen langen Artikeltextes, des Autors
und des Erscheinungsjahres mit XML-Tags möglich (vgl. Rothfuss, Ried
2001). Im Sinne einer Verwertung von Content können jetzt intelligente
Systeme auf diese Bestandteile und Segmente zugreifen und sie in unterschiedlichen Kommunikations- und Informationsmittel sowohl für
Print als auch online zusammenführen (Aggregation) und verwerten.
Strukturiertheit ist somit die Voraussetzung für eine Content-Verwertung. Wir werden diesen Aspekt nochmals im Kap. 4.2.2 aufgreifen.
4.1.4
Geschäftsprozesse und Workflow
Eine zunehmende Bedeutung im Bereich der Content-RelatedTechnologien erfahren alle logistischen Abläufe um den Content
selbst. Zur Content-Logistik zählt die Steuerung der Freigaben von
Webseiten ebenso wie die Weiterleitung von Dokumenten in Unternehmen. Im Kontext der Steuerung und Kontrolle von Abläufen muss
der Begriff „Geschäftsprozess“ herausgehoben werden.
Ein Geschäftsprozess besteht aus einer Anzahl von Aktivitäten und
Tätigkeiten, die in einer definierten Reihenfolge zur Erreichung eines
definierten Zieles durch Personen oder Maschinen ausgeführt werden
müssen. Der Geschäftsprozess hat einen definierten Start- und Endpunkt (vgl. Jablonski, Böhm, Schulze 1997).
Der Begriff Workflow bezeichnet die informationstechnische Umsetzung eines Geschäftsprozesses. Der Workflow beschreibt dabei die
funktionelle Zerlegung der einzelnen Aufgaben eines Geschäftsprozesses. Workflow-Management-Systeme (WfMS) bezeichnen Informationssysteme, die den Workflow und damit stark strukturierte Prozesse unterstützen, die im Idealfall immer wieder in der gleichen oder
ähnlichen Form ablaufen. Ein Prozess im Kontext dieses WorkflowManagements ist ein Vorgang gemäß einer formalen Beschreibung,
die eine automatisierte informationstechnische Bearbeitung ermöglicht (vgl. Jablonski, Böhm, Schulze 1997).
Ein einfaches Beispiel ist die Steuerung und Kontrolle der Freigabe
von Webseiten. Innerhalb solch eines vereinfachten Ablaufes wartet
das System auf das Setzen des Zustandes „Zur Freigabe“ einer Webseite. Wird dieser Zustand gesetzt, wird der Freigabe-Verantwortliche
automatisch per E-Mail benachrichtigt. Die Freigabe selbst müsste
natürlich von der betreffenden Person durchgeführt werden und kann
in einem Zustand „Freigabe abgelehnt“ oder aber „Freigabe erteilt“
4.1 Grundlegende Begriffe
Geschäftsprozess
Workflow
■
■
■
203
resultieren, der vom Verantwortlichen manuell gesetzt wurde. Auch
jetzt könnte wiederum ein Automatismus innerhalb des Ablaufes
greifen, der weitere Aktionen aufgrund des neuen Zustandes zur Folge
hätte.
Im Kontext der Content-Related-Technologien wird Content zunehmend in Beziehung zum Geschäftsprozess betrachtet. Diese Beziehung und die daraus resultierenden Anforderungen werden in einem
späteren Kapitel zur Steuerung und Kontrolle von Content-Workflows
detaillierter besprochen.
4.2
Nutzenbetrachtungen
4.2.1
Primäre Vorteile
Mehrfachverwertung
Funktionalitätsgewinn
204
■
■
■
Dieses Kapitel stellt die wesentlichen gemeinsamen Vorteile von Content-Related-Technologien dar, spezialisierte Systeme können noch
weitere Vorteile in ihrem jeweiligen Einsatzgebiet aufweisen. Zu diesen Vorteilen gehören (vgl. Kretzschmar, Dreyer 2003; Büchner
(Hrsg.), Traub, Zahradka, Zschau 2001):
Mehrfachverwertung: Jeder Content besitzt einen Wert (vgl. Begriffserklärung Asset), der sich aus unterschiedlichen Betrachtungsweisen ableitet. Die mehrfache Nutzung identischer, medienneutral vorgehaltener Inhalte in unterschiedlichen Verwendungen, sowohl in
unterschiedlichen Produkten als auch unterschiedlichen Ausgabekanälen (Cross-Media-Publishing), liegt nahe (vgl. Fritsche 2001). Daraus
resultieren Effekte, wie Kostenreduktion aufgrund „verhinderter“
Neuproduktion von Inhalten, Qualitätssicherung durch Verwendung
bereits geprüfter Inhalte, Rationalisierungseffekte durch Nutzung
desselben Inhalts für unterschiedliche Ausgabekanäle, Verhinderung
redundanter Informationsspeicherung etc.
Funktionalitätsgewinn: CRT-Systeme ermöglichen eine rationellere
Erfassung, Beschaffung, Verwaltung und Verwertung von Content.
Sie ergänzen ihn durch Strukturierungsinformationen und bieten
optimierte Funktionalitäten zum Wiederauffinden des Contents. Die
optimierte datenbankgestützte Ablage der Inhalte führt neben dem
zentralen Zugriff auf Content auch gleichzeitig zur Reduzierung einer
mehrfachen gleichen Datenhaltung (Redundanz), etwa durch ein integriertes Versionsmanagement.
4 Content-Related-Technologien
Effizienzsteigerung: Der Einsatz solcher CRT-Systeme ermöglicht
generelle Effizienzsteigerungen:
Effizienzsteigerung
• Strukturierte Inhalte können direkt bei der Erfassung generiert
werden (Siehe bei redaktioneller Erfassung in Kap. 4.4.2).
• Schnellere und sichere Aktualisierung von Inhalten durch Automatismen in der Content-Integration.
• Vereinfachte Integration unterschiedlichster Content-Quellen,
(z. B. Agenturnachrichten) – Auf das Stichwort Content-Syndication werden wir in Kap. 4.4.2 eingehen.
• Vereinfachtes und für unterschiedliche Verwendungen und Ausgabekanäle mögliches Publizieren durch die Trennung von Inhalt,
Struktur und Gestaltung.
• Die mögliche Kompetenz- und Aufgabentrennung (z. B. Redaktion,
Gestaltung) in Verbindung mit dezentralen Pflegemöglichkeiten
gewährleistet eine bessere Ressourcennutzung und kann eine Unabhängigkeit von externen Dienstleistern sowie die Verbesserung
der Zusammenarbeit schaffen.
• Die schnellere und einheitlichere Unternehmens-kommunikation
(Time-To-Market) wird durch die qualitätssichere und effizientere
Steuerung und Kontrolle von Abläufen herbeigeführt (vgl. Begriffserklärungen Geschäftsprozess und Workflow).
Synergieeffekte: CRT-Systeme schaffen durch das Vorhalten und
Zuliefern von Inhalten die Ausgangsbasis für weitere komplementäre
E-Business-Möglichkeiten wie CRM (Customer Relationship Management), E-Commerce-Systeme, Produkt-Informations-Systeme, Katalog-Management, Community-Systeme, ERP (Enterprise Resource
Planning) etc.
Synergieeffekte
4.2.2
Mehrfachverwertung von Content als Strategie
Die Mehrfachverwertung von Content spielt in Content-RelatedTechnologien eine zentrale Rolle. Wir betrachten nun die Verfolgung
einer grundlegenden Content-Strategie und die unterschiedlichen
Möglichkeiten solch einer Mehrfachverwertung.
Es gibt zwei Arten der Mehrfachverwertung von Content. Die opportunistische Mehrfachverwertung, bei der eher manuell und willkürlich Inhalte wieder verwendet werden: Ein Autor wählt ein Bild aus
einer Mediendatenbank und baut dieses in Ergänzung seines Artikeltextes in sein Layout ein. Bei der systematischen Wiederverwendung
dagegen gibt es eine klare Strategie, die besagt, welche Inhalte in wel-
4.2 Nutzenbetrachtungen
Content-Strategie
■
■
■
205
Content in ökonomischen Prozessstufen
chen Produkten für welchen Ausgabekanal in gleicher oder veränderter Form verwendet werden (vgl. Rockley 2003).
Die opportunistische Wiederverwendung kann mittels ausgereifter
Retrieval-Funktionen und der Optimierung von Beschaffungsprozessen von Content verbessert und vereinfacht werden. Im Sinne einer
höheren Automatisierung in Verbindung mit Zeit- und Kostenersparnissen steht in Content-Related-Technologien die systematische Wiederverwendung durch die Eruierung und Umsetzung einer ContentStrategie im Vordergrund. Die systematische Beantwortung von Fragen – wie „In welchen Produkten (z. B. Webseite, Handbuch, Produktdatenblatt) werden welche Inhalte (z. B. Text1, Text2, Bild1) verwendet? Welche Inhalte werden in welcher Form (z. B. genau gleich,
abgeändert etc.) und Granularität verwendet? Sind Änderungen in
Verwendungen notwendig?“ - führt zu einer Übersicht, die eine Ableitung solch einer Content-Strategie und der dafür notwendigen Strukturierungsgrade von Inhalten ermöglicht.
Die Betrachtung der grundlegenden Prozessstufen identifiziert diejenigen, in denen eine Mehrfachverwertung von Content möglich ist.
Folgende ökonomische Prozesse bei der Entstehung eines Medienproduktes werden dabei untersucht (vgl. Hess, Eggers, Schulze 2003
und Schmid 2004 und Schumann, Hess (Hrsg.) 1999):
• 1. Stufe: Erzeugung/Beschaffung der Inhalte, wie Texte, Bilder, Musikstücke oder Videos. Eine generelle Optimierungsmöglichkeit
liegt etwa in der Optimierung der Abläufe selbst und in der erreichbaren Qualität bei der Erfassung und Beschaffung der Inhalte.
• 2. Stufe: Bündelung der Inhalte zu marktgerechten Produkten. In
diesem Sinne werden etwa verschiedene Musikstücke auf einer CD
zusammengefasst, Artikel und Werbung zu einer Tageszeitung gebündelt oder es werden unterschiedliche Buchkapitel zu neuen Seminarunterlagen zusammengestellt.
• 3. Stufe: Distribution der Inhalte an die Rezipienten über den konventionellen Druck, über Datenträger, Rundfunk, Internet etc.
Mehrfachverwertung im
Bündelungsprozess
Die Mehrfachverwertung im Bündelungsprozess betrachtet Medienprodukte als Bündel publizistischer Inhalte. Digitale Inhalte sind
bei dieser Betrachtungsweise als Komponenten oder auch Bausteine
zu behandeln, die sich flexibel zu beliebigen Produkten rekombinieren
lassen. Innerhalb des Bündelungsprozesses kann man vereinfacht drei
Varianten unterscheiden (siehe Abb. 4.2):
1. Die kombinierende Bündelung von vorliegenden Inhalten, die bereits bei der Herstellung von anderen Produkten verwendet worden
sind, zu neuen Medienprodukten, wie die Bündelung ausgewählter
Fachbeiträge einer Fachzeitschrift zu einem Sonderheft.
206
■
■
■
4 Content-Related-Technologien
Abb. 4.2:
Mehrfachverwertung
2. Die versionierende Bündelung: Mittels Produktdifferenzierung für
Medien- und Informationsprodukte, die das Angebot von verschiedenen Marktsegmenten gemäß Präferenzen und Zahlungsbereitschaft beinhalten, wie die Modifikation des Leistungsumfangs, gemessen in Textlänge, Sende- oder Abspielzeit.
3. Die individuelle Bündelung als simultane Bereitstellung eines für den
jeweiligen Kunden „maßgeschneiderten“ Medienproduktes, dessen
Bündelungskonfiguration weitestgehend auf dessen Konsumbedürfnisse zielt, wie regionalspezifische Wohnungsmarktanzeigen
oder die Personalisierung von Online-Newslettern (siehe Abb. 4.2).
Die Mehrfachverwertung im Distributionsprozess, also dem Verteilen, Zuliefern und Zurverfügungstellen von Inhalten, unterteilt man
grob in:
Mehrfachverwertung im
Distributionsprozess
1. Die zeitbasierte Distribution: Hier werden von einem Medienprodukt durch Modifikation seiner zeitlichen Eigenschaft „Aktualität“
verschiedene Angebotsformen abgeleitet, die dann innerhalb des
gleichen Mediums ausgewertet werden, wie aktuelle Nachrichtenartikel, deren Konsum zeitgleich oder zeitversetzt erfolgt. Je nachdem, ob man die Meldung aktuell bezieht oder zeitversetzt, wird
der Preis variiert.
2. Die mehrkanalbasierte Distribution: Hier werden identische Medieninhalte für verschiedene Medien ausgewertet, etwa die gleichzeitige Verwertung von Fachartikeln auf CD-ROM und im Internet.
4.2 Nutzenbetrachtungen
■
■
■
207
3. Die syndikationsbasierte Distribution: Ein Medienprodukt wird an
mindestens einen wirtschaftlich eigenverantwortlich handelnden
Distributor vertrieben, der es gegenüber den Endkunden folgeverwertet, etwa der elektronische Abgleich (Syndikation) von Nachrichten zwischen Nachrichtenagenturen und Zeitungsverlagen.
Um es an dieser Stelle nochmals zu wiederholen: Die grundlegende
Voraussetzung für die Mehrfachverwertung von Content sind definiert strukturierte Inhalte! Der Strukturierungsgrad hängt zum einen
von der jeweils notwendigen Content-Strategie (siehe oben) ab und
zum anderen von den Möglichkeiten der Strukturierung des jeweiligen
Medientyps. So können in Texten und Dokumenten viel höhere inhaltliche Strukturierungsgrade erreicht werden, wie in Bildern, Video- und
Audiosequenzen, deren Strukturierung sich vorrangig auf hinzugefügte Metadaten (z. B. IPTC-Daten in Bildern) beschränkt.
4.2.3
Wirtschaftliche Überlegungen
TCO-Betrachtung
Wirtschaftliche Überlegungen im Bereich der Content-Related- Technologien müssen immer die Gesamtkosten (Total Cost of Ownership TCO) betrachten, also sowohl die einmaligen als auch die jährlichen
Kosten im gesamten Lebenszyklus eines Produktes sowie die entsprechende Erlösseite (vgl. Donovan 2001).
Folgende grundlegende Kostenblöcke der TCO eines CRT-Systems
entstehen:
• Lizenzkosten für Hard- und Software (z. B. Content-ManagementSystem, Datenbank-Software, Betriebssysteme, Server-Hardware
etc.)
• Eventuelle Migrationskosten für das bestehende Content-, Metadaten-, Berechtigungs-, Workflow- und Rendering-/Templating-Modell sowie gegebenenfalls der bereits bestehenden IT-Infrastruktur
• Implementierungskosten, etwa für den Aufbau eines Berechtigungsmodells, das Terminologie-Management, das Workflow- und
Metadatenmodell, ein flaches oder hierarchisches Ordnungsschema, die Template- und Pflegemasken-Entwicklung
• Einführungskosten (z. B. Schulung und Training etc.)
• Administrations-, Wartungs- und Instandhaltungskosten für Hardund Software
208
■
■
■
4 Content-Related-Technologien
Auf der Erlösseite können folgende primäre Faktoren aufgezählt
werden (vgl. Christ 2003):
• Erlöse mittels Kostenreduktion durch den Einsatz des CRTSystems
• Erlöse durch Synergieeffekte (verbesserte Prozess- und Qualitätssicherung, Synergieeffekte durch Nutzung als Basisplattform für
E-Business-Technologien etc.)
• Erlöse durch neue Business-Modelle: Werbung, Cross-Sales (z. B.
Abonnenten einer Print-Anzeige können eine Online-Anzeige kostengünstiger schalten), Pay-per-Access (z. B. Provisionierung bei
Kaufvermittlung über den Content-Zugang), Mehrfachverwertung
von Inhalten (z. B. Content-Syndication, Mehrkanalstrategien) etc.
4.3
Überblick über CRT-Systeme
In diesem Kapitel soll ein grundlegender Überblick über die unterschiedlichen CRT-Systeme vermittelt werden. Während die klare Abgrenzung der einzelnen Systeme immer unschärfer wird, steigt die
Anzahl der Systembezeichnungen. Zunehmend entstehen neue Bezeichnungen auch aus reinen Marketinggründen, etwa zur Differenzierung und Positionierung des eigenen alten Produktes. Die nachfolgende Aufzählung ist daher nicht vollständig und orientiert sich an
der Begriffswelt der AIIM (Association for Information and Image
Management). Die AIIM war ursprünglich eine internationale Vereinigung von Herstellern und Anwendern von Informations- und Dokument-Management-Systemen und formiert jetzt unter dem Label
„The ECM Association“ mit dem Fokus auf die Entwicklung und Pflege von Standards im Umfeld der Content-Related-Technologien.
Bilddatenbanken oder Image-Management-Systeme (IMS) stellen
die einfachste Variante unter den Mediendatenbanken dar und dienen
zur Verwaltung von Bildern, Fotos, Grafiken etc. Im Regelfall verfügen
Sie auch über eine Verwaltung für Metadaten-Standardformate wie
IPTC- oder EXIF-Header.
Medien-Datenbank- oder Media-Asset-Management-Systeme (MAM)
dienen zur verwertungsgerechten Verwaltung digitaler Medien unterschiedlichster Medientypen (z. B. Bild, Video, Audio). Sie bieten elementare Werkzeuge zur Strukturierung, Archivierung und zum Retrieval von Assets.
Records-Management-Systeme (RMS) werden vorwiegend zur Erfüllung gesetzlicher Vorschriften (z. B. GDPdU, Sarbanes-Oxley) und
4.3 Überblick über CRT-Systeme
Bilddatenbanken
Media-Asset-Management-/
Medien-Datenbank-Systeme
Records-Management- Systeme
(RMS)
■
■
■
209
Dokumenten-Management-Systeme
(DMS)
Medien-Logistik-Systeme
Web-Content-Management-Systeme
(WCMS)
Content-Management-Systeme
(CMS)
Redaktionssysteme
Autorensysteme
Katalog-Management- /
Produkt-Informations-Systeme
Portal-Systeme
210
■
■
■
zur revisionssicheren und nachprüfbaren digitalen Speicherung von
Unternehmensunterlagen eingesetzt (z. B. Inhaltssammlung, Inhaltsverwaltung und -bereitstellung).
Dokumenten-Management-Systeme (DMS) werden bei der Verwaltung von Dokumenten während ihres gesamten Lebenszyklus eingesetzt. Dazu zählt das Erfassen, Archivieren, Verwalten, Weiterleiten
und Archivieren von Dokumenten. Beim Erfassen wird auch der Bereich des Scannens und der Übernahme der gescannten Dokumente in
lesbare Informationen (z. B. Optical Character Recognition – OCR) zum
DMS gezählt.
Medien-Logistik-Systeme dienen der Verwaltung von digitalen Produktions- und Beschaffungsaufträgen und den ihnen zugrunde liegenden Medien. Hier stehen logistische und Workflow-Funktionen
bei der Beschaffung und Verteilung von Content im Vordergrund.
Web-Content-Management-Systeme (WCMS) dienen zur Administration von größeren Websites. Hier stehen insbesondere die komfortable redaktionelle Bearbeitung von Web-Inhalten durch mehrere
Personen und die Verwaltung der internetspezifisch aufbereiteten
Medien im Vordergrund.
Content-Management-Systeme (CMS), ein früheres Synonym für
WCMS, werden heute zur Verwaltung aller Medien- und Contentarten
eingesetzt und versuchen alle Ausgabekanäle abzudecken. Häufig
integriert ein CMS ergänzende DMS-Funktionalitäten und setzt direkt
auf ein MAM-System auf. Zusätzlich bietet ein CMS auch Funktionen
zur Erstellung von Inhalten sowie zur automatisierten Präsentation
und Distribution von Inhalten.
Klassische Redaktionssysteme sind Systeme, die an die spezifischen
Anforderungen der Buch-, Zeitungs- und Zeitschriftenproduktion angepasst sind. Da viele Verlage zunehmend crossmedial produzieren,
nähern sich Redaktions- und CM-Systeme immer weiter an.
Autorensysteme für Multimedia unterstützen die Produktion komplexer Rich-Media-Anwendungen (z. B. Video, Audio, Web) durch
eine effiziente Verwaltung mono- und multimedialer Komponenten
(auch unter dem Aspekt der Mehrfachverwertung) und die Bereitstellung entsprechender Editier- und Bearbeitungsfunktionen.
Katalog-Management-Systeme und Produkt-Informations-Systeme
verbinden Produkt- und Marketing-Datenbanken über einen gemeinsamen Datenbestand. So können Produktkataloge mit umfangreichem
und hochvariablem Datenbestand aus technischen und werblichen
Informationen erstellt werden.
Portal-Systeme werden ähnlich wie WCM-Systeme zur kollaborativen Pflege von Internetpräsenzen und deren Personalisierung sowie
zur Integration von unterschiedlichen Content-Quellen und Prozessen eingesetzt. Darüber hinaus bieten sie Funktionen zur Steue-
4 Content-Related-Technologien
rung eines kommunikativen Workflows im Sinne eines Community
Management. Zuweilen rücken dabei Darstellungsfunktionen zugunsten einer einfacheren Handhabung (ohne Einarbeitungsaufwand) und
einer schnellen Aktualisierbarkeit von Inhalten in den Hintergrund.
Enterprise-Content-Management-Systeme (ECMS) repräsentieren
eine Strömung, die alle bestehenden CRT-Systeme integrieren will.
Dabei werden Funktionen aus der traditionellen Archivwelt, dem
Dokumenten- und dem Workflow-Management an die Anforderungen eines Content-Management-Systems angepasst. Dadurch können
web-basierte Komponenten mit herkömmlichen Produkten verbunden werden. Mehr dazu später.
Business-Process-Management-Systeme (BPM) versuchen, alle materiellen und kommunikativen Prozesse eines Unternehmens mit
Hilfe der IT abzubilden, zu organisieren und zu optimieren. Dazu
zählt etwa die automatisierte Beschaffung von Gütern (Procurement),
die Verringerung von Durchlaufzeiten, die Bestandsverwaltung und
die transparente Darstellung aller Prozesse im Sinne eines Management-Information-Systems (MIS).
Knowledge-Management-Systeme (KMS) dienen zur intelligenten
Verknüpfung von Informationen mit vorhandenen Erfahrungen und
Kenntnissen und somit der Verwaltung von Wissensinhalten. Das
Wissensmanagement gilt heute als wichtigste Schlüsseltechnologie des
Informationszeitalters: Die Zukunftsfähigkeit von Organisationen
jeder Art und Größenordnung hängt davon ab, wie gut sie ihre vorhandenen Wissensressourcen nutzen können.
Enterprise-Content-ManagementSysteme (ECMS)
Business-Process-Management-Systeme
(BPM)
Knowledge-Management-Systeme
(KMS)
4.4
Technische Bausteine
4.4.1
Schematische Systemarchitektur
Eine schematische Systemarchitektur, die sich an dem ECM-Modell
des AIIM (Association for Information and Image Management) orientiert, besteht aus folgenden Bereichen (siehe Abb. 4.3):
•
•
•
•
•
Capture: Erfassung und Beschaffung
Store: Ablage und Suche
Manage: Verwaltung, Aggregation und Strukturierung
Deliver: Bereitstellung, Anzeige und Publikation
Preserve: Erhaltung und Archivierung
4.4 Technische Bausteine
■
■
■
211
Abb. 4.3:
Enterprise-Content-ManagementModell
Sowie den Bereichen:
•
•
•
•
•
Dokumenten-Management (DM)
Collaboration (Collab) (siehe Kap. 4.4.2)
Web-Content-Management (WCM)
Records-Management (RM)
Workflow- (WF) und Business-Process-Management (BPM)
Bei der folgenden Besprechung von Content-Related-Technologien
werden wir bewusst nicht einzelne Systeme tiefer gehend erläutern.
Vielmehr wollen wir technologische Bausteine definieren, die im Kontext der CRT-Systeme vorrangig unter dem ökonomischen Gesichtspunkt einer Content-Strategie (vgl. Kap. 4.2.2) zum Einsatz kommen
und auf deren Detailbesprechung oftmals innerhalb dieses Buches referenziert werden kann. Deshalb sollen folgende zu der schematischen
Systemarchitektur korrelierenden Bausteine besprochen werden:
•
•
•
•
•
•
212
■
■
■
Erfassung, Beschaffung und Validierung von Content
Ablage von Content
Strukturierung von Content
Retrieval und Anzeige von Content
Beziehungsmodelle für Content
Steuerung und Kontrolle von Content-Workflows
4 Content-Related-Technologien
•
•
•
•
•
Content-Aggregation, -Delivery und -Publishing
Personalisierung von Content
Archivierung und Revisionssicherheit
Integration für Anwender, Content und Prozesse
Administration
4.4.2
Erfassung, Beschaffung und Validierung
von Content
Die getroffene Content-Strategie (vgl. Kap. 4.2.2) entscheidet maßgeblich über den notwendigen Granularitäts- oder Strukturierungsgrad
der Inhalte und somit über die Erfassungs- und Ablageform in einem
CRT-System. Zum Beispiel würde in einem Media-AssetManagement-System (MAM) zur Verwaltung von Bilddateien oder in
einem Dokumenten-Management-System (DMS) zur reinen Verwaltung von Berichtsdokumenten keine redaktionelle Erfassung stattfinden, allenfalls eine Ergänzung von Metadaten. Die häufigste Art der
Erfassung ist hier ein Check-In-Vorgang von kompletten Mediendateien. Bei einem Content-Management-System (CMS) zur Verwaltung
und Verwertung von Fachartikeln und -bestandteilen in einem Verlagsunternehmen hingegen wäre die redaktionelle Erfassung und
Strukturierung dieser Inhalte mit XML-Tags zu irgendeinem Zeitpunkt des Erstellungs- oder Nachbearbeitungsprozesses eine grundlegende Voraussetzung. Das zunehmende, gemeinschaftliche Erzeugen
von Inhalten und die unternehmensübergreifende Zusammenarbeit
verlangt zusätzlich nach effizienten Werkzeugen, um diese Collaboration zu begleiten und zu optimieren, dazu zählen etwa Diskussionsforen, Video-Conferencing, Container für projektbezogene Inhaltsablage, Groupware-Werkzeuge etc. (siehe Kap. 3). Im Folgenden sollen
grundlegende Möglichkeiten der Beschaffung und Erfassung von Content besprochen werden.
Ein redaktioneller Prozess erfasst die Inhalte unter Berücksichtigung von Regeln zur Wahrung der strukturellen Integrität, etwa über
webbasierte Pflegemasken, mittels Auszeichnungsmechanismen in
XML-Editoren oder über Autorensysteme zur Manipulation von Video- und Audiodaten (siehe Kap. 1). Inhalte sollen dabei nicht nur
über die einheitliche Medientypebene als Ganzes (z. B. als ganzes Dokument in WinWord), sondern in jeder beliebigen Ebene, etwa mit
Auszeichnung von Überschrift und weiteren Textbestandteilen, bearbeitet werden können. Durch die Ablage der strukturierten Inhalte
kann ein Zusammenführen der Inhalte im Publikationsbereich in
unterschiedliche Verwendungsarten und Ausgabekanäle erfolgen. Die
4.4 Technische Bausteine
Redaktionelle Erfassung
■
■
■
213
Unterstützung redaktioneller Prozesse erlaubt nicht nur die Erfassung
strukturierter Inhalte, sondern bietet neben einer Vielzahl von Vorteilen auch eine konsequente Aufgaben- und Kompetenztrennung. Die
Möglichkeit, Inhalte getrennt vom eigentlichen Layout und von der
Gestaltung zu erzeugen, erlaubt dem Autor oder Redakteur, dies ohne
spezielle Formatierungskenntnisse zu tun.
Im Dokumentenbereich, etwa in Verlagsunternehmen, unterscheidet man generell zwei verschiedene Formen des redaktionellen Ablaufs: Zum einen „Layout vor Redaktion (Text)“, Bei dieser Arbeitsweise wird zuerst das gestalterische Layout gefertigt und nachträglich
die Inhalte dafür erzeugt, zum anderen „Redaktion (Text) vor Layout“
mit der umgekehrten Vorgehensweise. Die Ausbringung der Inhalte in
der jeweiligen Publikationsform erfolgt dann mit verschiedenen Mechanismen, wie dem häufigen Web-Templating, bei dem die Inhalte
oder Inhaltssegmente dann in „Platzhaltern“ innerhalb einer HTMLVorlage eingebracht werden. Dieses Templating-Verfahren wird zumeist in Web-Content-Management-Systemen (WCMS) eingesetzt
und wird im Kap. 4.4.8.1 näher betrachtet.
Eine technologische Umsetzung sowohl der Erfassung wie auch der
Validierung erfolgt durch:
• Native und webbasierte Pflegemasken mit nachfolgender Evaluierung der Eingaben auf der Basis von Regelwerken, etwa als HTMLMaske mit nachfolgender „festverdrahteter“ Überprüfung der Eingaben im Verarbeitungssystem selbst oder Überprüfung der erfassten Inhalte anhand einer DTD (Document Type Definition) oder
eines XML-Schemas (vgl. zu XML: Rothfuss, Ried 2001).
• Direkte Erfassung in Editoren mit gleichzeitiger oder nachfolgender
Überprüfung der Eingaben auf der Basis eines definierten Regelwerkes, wie der Erfassung in einem XML-Editor mit gleichzeitiger
Prüfung der Eingaben anhand einer DTD (Document Type Definition) oder eines XML-Schemas.
Check-In/Check-Out
214
■
■
■
Ein Check-In-Vorgang ist ein Verfahren, um Mediendateien in ein
CRT-Ablagesystem zu übernehmen. Dieser Check-In-Vorgang wird im
Bereich der Dokumenten-Management-Systeme oft auch Archivierung
genannt, während in anderen CRT-Systemen als Archivierung die Auslagerung oder Migration von Mediendateien vom Online-System (z. B.
Festplatten-, RAID-, SAN- oder NAS-Systeme) auf externe Datenträger
bzw. -systeme bezeichnet wird. Beim Check-In-Vorgang bietet das CRTSystem in der Regel die Möglichkeit, zusätzliche Strukturinformationen
und ergänzende Informationen als Metadaten (vgl. Kap. 4.4.4) einzugeben. Ein Check-Out-Vorgang bezeichnet hingegen das „Herausnehmen“ einer Mediendatei aus dem Ablagesystem, etwa für eine externe Bearbeitung dieser Datei. Dieses „geschützte Editieren“ wird durch
4 Content-Related-Technologien
einen Sperrmechanismus mit Einsicht der Check-Out-Daten (von wem,
wann, zu welchem Zweck) der noch im Ablagesystem verbleibenden
Kopie der Mediendatei unterstützt. Beim erneuten „Einchecken“ der
bearbeitenden Mediendatei wird je nach Einstellung im Beziehungsmodell zum Beispiel eine neue Version (vgl. Kap. 4.4.6) angelegt und Historiedaten in eine Protokollierungsdatei eingetragen. Mit den Historiedaten lässt sich genau nachvollziehen, wer wann welche Mediendateien zu
welchem Zweck bearbeitet oder „entnommen“ hat.
Die Validierung von Mediendateien beim Check-In erfolgt unter
anderem durch:
• PreFlight-Werkzeuge, die vor oder beim Check-In-Vorgang die
Mediendateien auf der Basis definierter Qualitätskriterien prüfen
(z. B. Auflösung, Format und Farbraum beim Einchecken von Bildern), oder die Vollständigkeitsprüfung von Dokumenten auf referenzierte oder verlinkte Bilddateien.
• PostFlight-Werkzeuge, die nach Ablage der Inhalte zu einem definierten oder manuell gewählten Zeitpunkt eine Validierung der Inhalte
durchführen, wie die Link-Prüfung auf Konsistenz der Referenzierungen von Webseiten in einem Web-Portal (Link-Management).
• Manuelle Prüfung von eingecheckten Inhalten, z. B. durch nachträgliche Sichtung.
Enabling-Technologien und Anwendungsintegration sind spezielle
Formen einer direkten Integration von CRT-Funktionalitäten, wie
Recherche, Dokumentenzugriff (z. B. Check-Out/Read-only) oder das
„Ablegen“ von Inhalten (z. B. Check-In) in die Benutzeroberfläche der
erzeugenden Anwendungen selbst. Zum Beispiel ermöglicht die Enabling-Technologie innerhalb vieler Dokumenten-Management-Systeme (DMS), dass Dokumente direkt aus Microsoft Word in das Ablagesystem ein- und ausgecheckt werden können. Die oftmals eher
rudimentäre Anwendungsintegration ermöglicht hingegen, dass Mediendateien direkt aus dem CRT-System durch ein Anwendungsprogramm gesichtet und bearbeitet werden können. Die Validierung eingecheckter Inhalte erfolgt nach den oben beschriebenen Mechanismen.
Die Realisierung dieser Technologien kann auf unterschiedlichste
Art und Weise erfolgen:
Enabling-Technologien
Anwendungsintegration
• Plug-In-Technologien oder proprietäre API-Schnittstellen der Anwendungsprogramme selbst, wie für Adobe Indesign CS, QuarkXPress, WinWord.
• Standardisierte, oftmals plattformunabhängige Schnittstellen, wie
ODMA API (Open Document Management API) im Bereich der
Dokumenten-Management-Systeme (vgl. Götzer, Schneiderath,
Maier, Boehmelt 2004) oder die WebDAV-Schnittstelle (Web-based
4.4 Technische Bausteine
■
■
■
215
Distributed Authoring and Versioning) als Erweiterung der HTTPProtokolls und Schnittstelle zum Zugriff auf Verzeichnisstrukturen
und Mediendateien samt Metadaten, Benutzerrechten, Versionierung, Dateisystemoperationen und über das Internet für Remote
Editing (vgl. Gulbins, Seyfried, Strack-Zimmermann 2002).
• Zunehmend verfügbare Web-Service-Schnittstellen zur DiensteIntegration.
Content-Syndication
Content-Beschaffung
Neben der Erzeugung von Inhalten spielen die Syndication- oder Beschaffungs-Methoden eine wichtige Rolle als weitere Quelle von Inhalten. Content-Syndication bezeichnet die Möglichkeit, Content meist
webbasierend anderen Betreibern von Websites zur Verfügung zu stellen oder von diesen zu beziehen. Sogenannte Content-Provider stellen
dabei unterschiedliche Mechanismen zum Austausch von Content zur
Verfügung. Als Austauschformat wird zumeist XML verwendet wie bei
der Content-Syndication gemäß ICE-Standard (Information and Content Exchange) (vgl. Büchner (Hrsg.), Traub, Zahradka, Zschau 2001).
Unter Content-Beschaffung verstehen wir das Erwerben von Inhalten
aus Content-Quellen i.d.R. anderer Urheber. Eine nähere Betrachtung
von Beschaffungsprozessen auch bezüglich des Verwaltens von Medien-Rechteverhältnissen (oft auch als Intellectual-Property-Management (IPM) bezeichnet) etwa in Verlagen würde den Rahmen dieses
Buchbeitrages sprengen. Anbei einige Beispiele von unterschiedlichen
Content-Quellen ohne den eigentlichen Erzeugungsprozess:
• Lizenziertes Content-Broking mit Hilfe von Content-Maklern oder
-Vermittlern und die Content-Syndication zum Austausch von Inhalten.
• Content aus nutzergenerierten Quellen wie Community-Systemen,
Foren, Chats, Schwarze Bretter, Newsgroups, E-Mail, SMS, Weblogs
etc.
• Content aus internen/externen Backend-Systemen wie Kundendaten, Preislisten (intern) und Produktinformationen oder Auftragsdaten von Geschäftspartnern (extern).
• Eine etwas differenzierte Bedeutung für die Content-Beschaffung
haben Werbequellen wie Bannerwerbung etc.
Automatisierte
Content-Generierung
216
■
■
■
Unter der automatisierten Content-Generierung werden alle Methoden zusammengefasst, die neue Inhalte aufgrund einer Transformation (z. B. durch Umwandlung) oder Konvertierung (z. B. durch
Scannen) von analogen Dokumenten in digitale Bilder oder Dokumente generieren, ebenso alle Methoden, die aufgrund bestehender
Inhalte automatisiert neue Inhalte erzeugen. Hierzu einige Beispiele:
4 Content-Related-Technologien
• Umwandlung von analogen Vorlagen in digitale Vorlagen durch
Scan-Vorgänge (Scanning/Imaging).
• Umwandlung eines digitalen Bitmap-Bildes (NCI = Non Coded
Information) eines beleghaften Dokumentes in ein digitales Dokument (CI = Coded Information) durch Texterkennungs- und
Volltext-Indizierungs-Verfahren, z. B. OCR/ICR (Optical Character
Recognition und Intelligent Character Recognition).
• Unterstützung des COLD-Verfahrens (Computer Output to Laser
Disk) in DMS. Bei diesem Verfahren zur Massendatenarchivierung
werden Daten (meist von Großrechner-Systemen (Hosts)) entgegengenommen, in die Bestandteile Indexdaten und Dokumentoder Formulardaten getrennt und in Ablagesystemen oder auf optischen Medien gespeichert.
• Automatische Erstellung von Inhaltsverzeichnissen in Publikationen.
• Automatische Index- und Glossarerstellung in Dokumenten.
• Erstellung von Linklisten referenzierter bzw. verknüpfter Inhalte.
• Erstellung von Sitemaps, etwa für Websites.
• Unterstützung des Aufbaus von Navigationsstrukturen, wie Menü-,
Teaser- und Rubriken-Generierung in Websites.
• Unterstützung der Content-Erstellung durch Rechtschreibkorrekturen und Thesauren, etwa bei der Erstellung von Fachartikeln.
• Erstellung fremdsprachlicher Übersetzungen von Inhalten durch
Translation-Memory-Systeme (TMS). Dabei werden eindeutig gekennzeichnete Inhalte über einen XML-Export aus dem CRTSystem einem datenbankgestützten Übersetzungssystem zugeliefert. Dieses TMS führt eine automatische oder halbautomatische
Übersetzung der Inhalte durch und stellt dem CRT-System das
übersetzte XML-Dokument wieder zur Verfügung. Beim Übersetzungsprozess werden bekannte und neu übersetzte Wort- und Satzfolgen in der Datenbank zur späteren Wiederverwendung bei Übersetzungen gespeichert.
4.4.3
Ablage von Content
Ein Ablagesystem für Content wird Content-Repository genannt und
kann unterschiedlich realisiert sein:
Content-Repository
• Ablage von Content im Dateisystem: Nachteile sind dabei geringqualifizierte Suchfunktionalitäten; wird deshalb selten eingesetzt.
• Ablage in einem Datenbanksystem: Etwa in relationalen oder XMLDatenbanken. Diese Form eignet sich dann für die Ablage, wenn
4.4 Technische Bausteine
■
■
■
217
der Content nur ein niedriges Datenvolumen beansprucht, wie bei
Web-Anwendungen oder im Dokumenten-Management.
• Ablage in einem hybriden System aus Datenbank- und Dateisystem: Diese duale Verwaltung von Inhalten eignet sich dann, wenn
es neben Textinhalten auch große Mediendateien wie Bilddateien
für Print-Publikationen oder Videodateien zu verwalten gilt. Zwar
erlauben Datenbanksysteme große Datenmengen in Form von
BLOBs (Binary Large Objects für Bilder, Video, Audio) oder CLOBs
(Character Large Objects für Text, HTML, XML) abzulegen. Allerdings hat diese Form der Ablage Nachteile bei der Auslagerung der
Mediendatei-Bestände vom Online-Datenspeicher auf externe Datenträger im Sinne einer Migration, bei der direkten Bearbeitung
von Mediendateien über das CRT-System sowie bei Worst-CaseSzenarios, wenn die Produktionssicherheit mit Mediendateien auch
ohne Datenbank gesichert sein muss, wie bei Verlagen, Werbeagenturen oder Medienbetrieben.
Medienneutrale Datenhaltung
Nahezu alle CRT-Systeme besitzen in irgendeiner Form ein Content-Repository zur Ablage von Content mit unterschiedlichem Strukturierungsgrad. So hat fast jedes Web-Content-Management-System
eine Art Bilddatenbank zur Verwaltung von oftmals gering aufgelösten Bildern integriert. Eine detailliertere Besprechung der Ablage von
Medienobjekten in Datenbanken erfolgt im Kapitel „Medienobjekte in
Datenbanken“ in Teil 3 des Kompendiums.
In Zusammenhang von Content-Repositories wird sehr oft von
medienneutraler Datenhaltung gesprochen. Die medienneutrale Datenhaltung bezeichnet die Ablage von Content in der Art, dass deren
Verwendung für unterschiedliche Medienarten und Medienprodukte
gewährleistet bleibt. Diese Form der Datenhaltung betrachtet in der
Praxis vorrangig zwei Medientypen:
• Medientyp Text: Durch Ablage von Dokumenten und Texten im
XML-Format besitzen diese eine Trennung von Struktur, Inhalt
und Layout und somit die Voraussetzung einer medienneutralen
Datenhaltung.
• Medientyp Bild: Die Ablage von Bildern in einem medienneutralen
Farbraum mit einer hohen Auflösung und ohne verlustbehaftete
Kompression bildet die Voraussetzung zur medienneutralen Datenhaltung. Zum Beispiel könnten Bilder mit mindestens 300 dpi
und im CIELAB-Farbraum mit entsprechenden ICC-Profilen abgelegt werden (vgl. Gierling 2004 und Dreyer 2004). So ist bei richtiger
Anwendung gewährleistet, dass bei Ausgaben sowohl für Print als
auch für Web die Farbabweichungen (bedingt durch die unterschiedlich großen und verschobenen Farbräume der einzelnen
218
■
■
■
4 Content-Related-Technologien
Ausgabekanäle) nur gering oder nicht vorhanden sind. Für die Datenkompression sollte tunlichst ein verlustfreies Verfahren (TiffLZW) eingesetzt werden. Unter den verlustbehafteten Verfahren
bietet JPEG2000 (ISO 15444) bei gleicher Kompressionsrate eine
deutlich bessere Qualität gegenüber dem betagten JPEG!
Die zunehmende Standardisierung im Umfeld der ContentRelated-Technologien führte im Bereich der Content-Repository zu
dem Standard JSR-170 (Java Specification Request 170), der eine einheitliche Schnittstelle für den Zugriff auf Content-Repositories spezifiziert. Unterschiedliche Level dieser Schnittstelle ermöglichen nicht
nur rudimentäre Zugriffe auf die hierarchisch organisierten ContentElemente im Content-Repository, sondern auch komplexe Operationen inklusive Versionierung, Transaktions-Management, Monitoring
etc. (vgl. Eisele 2006).
4.4.4
Strukturierung von Content
Über die Aufgabe und Funktion der Strukturierung von Content innerhalb einer Content-Strategie haben wir bereits in einem vorigen
Kapitel berichtet. Das folgende Kapitel erklärt die grundlegenden
Möglichkeiten und Werkzeuge in CRT-Systemen. Zu diesen grundlegenden Einteilungen gehören folgende Strukturierungsmöglichkeiten
(vgl. Boiko 2002; Kretzschmar, Dreyer 2003):
Strukturierung der internen „Binnenstruktur“ von Content sowohl
des gleichen Medientyps als auch eines Multimedia-Objektes mit unterschiedlichen Medientypen: Das bedeutet eine Fragmentierung des
inneren Aufbaus des Contents selbst, wie die beim redaktionellen
Erfassungsprozess erzeugte XML-Struktur eines Dokumentes.
Strukturierung der Navigation und des Zugriffes, also die Einordnung von Content in ein Ordnungssystem: Hierarchien und Taxonomien, Indexe, Link-Listen. Hierarchien und Taxonomien (griechisch
Taxon = Gruppe, pl. Taxa) bilden sogenannte Ordnungsschemata. Sie
erlauben die Assoziation mit existierenden Strukturen (z. B. Warengruppen) und bieten die Möglichkeit eines „geführten“ Navigierens,
im Regelfall über mehrere Ebenen (z. B. Themenbäume). Die Mehrfachzuordnung desselben Inhalts in unterschiedliche Hierarchien
ermöglicht die Abbildung von verschiedenen Sichtweisen auf denselben Inhalt, wie thematische Differenzierungen, Schlagwort-Bäume etc.
In Ergänzung zum manuellen „händischen“ Zuordnen eines Inhalts in
eine Hierarchie versuchen automatische Klassifikationssysteme nach
einer Lernphase mit speziellen „Lerndokumenten“, die später eingestellten Dokumente durch unterschiedliche Verfahren aus den Berei-
4.4 Technische Bausteine
Fragmentierung
Hierarchien und Taxonomien
■
■
■
219
Metadaten
Inkludierung und Referenzierung
Organisatorische Einordnungen
chen der Statistik, Bewertung und Linguistik automatisch einzuordnen (vgl. Semio 2000; Wittkewitz 2001).
Strukturierung über Metadaten („Daten über Daten“), also ergänzende Informationen zum Content-Inhalt, wie Erstellungsdatum,
Autor, Bildbeschreibung etc.: Grundlage bilden sogenannte Metadatenmodelle, die die formale Beschreibung der Metadaten inklusive
Typisierung, Vererbungsmechanismen, Gültigkeiten und ihren Beziehungen untereinander definieren. Den Vorgang des Hinzufügens von
Metadaten in CRT-Systemen bezeichnet man als Verschlagwortung
oder Attributisierung. Neben dem manuellen Hinzufügen dieser Metadaten in speziellen Eingabenmasken kann die Verschlagwortung
auch durch automatisches Auslesen von Zusatzinformationen, wie
beiliegende XML-, EXCEL-, ASCII-Dateien, oder im Inhalt integrierte
(„embedded“) Informationen erfolgen, wie z. B. IPTC-Daten in Bilddateien. Im Umfeld verschiedener Anwendungen und Medientypen
gibt es unterschiedliche Metadatenstandards wie DublinCore, XMP,
IPTC, EXIF, SCROM etc. (vgl. Kretzschmar, Dreyer 2003).
Strukturierung der Inkludierung und Referenzierung im ContentObjekt: Welche anderen Content-Objekte sind in welcher Ausprägung
(z. B. identisch als Version, verändert als Variante; siehe auch
Kap. 4.4.6) enthalten oder werden in dem jeweiligen Content referenziert (z. B. Bild-Verwendungsnachweise in Publikationen)?
Strukturierung der Organisation, also Strukturierung für die eigentliche Verwendung oder organisatorische Einordnungen des Content-Objekts, etwa für eine Fachzeitschriften-Ausgabe oder für eine
Firma oder einen Mandanten.
4.4.5
Retrieval und Anzeige von Content
Generelle Suchfunktionen
220
■
■
■
Retrieval-Funktionen dienen dem Auffinden von Inhalten in CRTSystemen. Dabei unterscheidet man folgende Funktionen (siehe auch
das Kapitel „Medienobjekte in Datenbanken“ in Teil 3 des Kompendiums):
Generelle Suchfunktionen, die das Suchen vorrangig in den Strukturierungsdaten (z. B. Suche in Metadaten oder in hierarchischen Gruppen) und in den Beziehungsdaten (z. B. Suche nach aktueller Version)
erlauben. Generelle Suchabfragen können durch boolsche Operatoren
(z. B. und, oder, und nicht, oder nicht) kombiniert werden. Suchabfragen müssen dabei auch allgemeine Attribute, wie „ist“, „beginnt mit“,
„enthält“, „von/bis“, „ist leer“, „Groß-/Kleinschreibung“ etc. unterstützen. Komplexere Systeme bieten weitere zusätzliche Suchmethoden, etwa aus der Linguistik. Zu den geläufigen Methoden gehören:
4 Content-Related-Technologien
• Thesaurus-gestützte Synonym-Suche: Synonyme sind unterschiedliche Begriffe mit gleicher Bedeutung (z. B. Suche nach „Auto“ findet auch „KFZ“ und „PKW“).
• „Unscharfe“, Fuzzy- oder phonetische Homonym-Suche: Homonyme sind Wörter, die genauso klingen wie ein anderes, die aber
neben einer anderen Bedeutung auch eine andere Schreibweise haben können (z. B. Suche nach Baier findet auch ähnlich klingende
Wörter wie Bayer, Beier etc.).
Media-Mining oder Content-Mining bezeichnet die Suche im Inhalt
eines jeweiligen Medien- bzw. Multimedia-Typs selbst. Die wichtigsten Suchverfahren sind:
Das Text-Mining (hier Volltextsuche) ist die wichtigste Methode der
inhaltlichen Suche und basiert auf der Möglichkeit, Texte und Dokumente so zu indexieren, dass nach dem sprachlich-semantischen Inhalt des Dokumentes gesucht werden kann (vgl. Kretzschmar, Dreyer
2003). Dabei werden Wörter und Wortfolgen aus dem eigentlichen
Dokument extrahiert: Ohne störende Formatierungsangaben und
ohne sogenannte Stoppwörter, wie „und“, „der“, „die“ etc. In „unscharfen“ Verfahren ermöglicht ein Ranking (Relevanzgrad) der
Suchergebnisse eine Darstellung von prozentualen Trefferquoten mit
Textumfeld-Auszügen, wie sie typischerweise in webbasierten Suchmaschinen (z. B. Google) verwendet werden. Für den Relevanzgrad
(Gewichtung) werden unterschiedliche Parameter herangezogen, wie
beispielsweise in einfachen Verfahren die Häufigkeit des Vorkommens eines Wortes oder eines Synonyms aus einem Thesaurus, also
einer Menge von vordefinierten Schlagwörter (vgl. Schäuble 1997).
Beim Image-Mining oder Content-based-Image-Retrieval werden
Bilder aufgrund des Bildinhalts suchbar gemacht. Es gibt verschiedene
Verfahren, wie die Analyse von Farbgebung, Mustern, Strukturen und
Formen vorrangig in Vektorgrafiken bis zur „vergleichenden“ oder
Ähnlichkeitssuche in Rasterbildern. Die Ähnlichkeitssuche wird am
häufigsten angewandt: Dabei erfolgt vorrangig ein Vergleich von
Farbhistogrammen unterschiedlicher Bildbereiche mit denen von
vordefinierten, bekannten oder manuell gewählten Inhalten. Farbhistogramme stellen die Häufigkeitsverteilung des Auftretens von
Referenzfarben in definierten Bildbereichen dar. Die Suche in Videos
beschränkt sich im Allgemeinen auf die Verwendung von ImageMining-Methoden in Bezug auf bestimmte Schlüsselbilder des Videos
(vgl. Meyer-Wegener 2003).
Die geläufigsten Formen zur Darstellung der Suchergebnisse und
deren Kombinationen in CRT-Systemen sind:
4.4 Technische Bausteine
Text-Mining
und Volltextsuche
Image-Mining
bzw. Image-Retrieval
■
■
■
221
• Abbildung von Baumstrukturen für die Hierarchiendarstellung.
• Darstellung von Ergebnislisten mit oder ohne Icon. Das Icon zeigt
entweder ein sehr kleines Vorschaubild oder ein Bildsymbol des
jeweiligen Datentyps der Anwendung.
• In Dia-Leuchttisch-Darstellungen werden Previews der Fundstellen
in einer Art Schachbrettmuster angezeigt. Previews zeigen niedrigaufgelöste Voransichtsbilder der gefundenen Bilddateien und
Dokumentseiten oder extrahierte Sequenzen von Video-Schlüsselbildern.
• Integrierte oder extern aufgerufene Viewerprogramme zur detaillierten Sichtung der Inhalte, wie integrierte PDF-Viewer oder Multimedia-Player für Audio und Video.
4.4.6
Beziehungsmodelle für Content
Versionen
Beziehungsmodelle definieren die Abhängigkeiten und das Verhalten
von Content-Objekten untereinander. Die wichtigsten sollen hier angeführt werden (vgl. Kretzschmar, Dreyer 2003):
Versionen: Für das Beziehungsmodell Versionen gilt, dass eine Version genau ein aus einem existierenden Ursprungsobjekt entstandenes
und ihm nachfolgendes Objekt darstellt. Das Ursprungsobjekt kann in
der neuen Version des entstandenen Objektes verändert sein, wobei
dann die Grenze zur Variante fließend ist, wenn etwa die neue Version
eines Bildes inhaltlich oder nur seine Metadaten verändert wurden.
Der Medien- bzw. Multimedia-Typ bleibt bei einer Versionierung stets
gleich (siehe Abb. 4.4).
Abb. 4.4:
Versionen
222
■
■
■
4 Content-Related-Technologien
Abb. 4.5:
Varianten
Typische Funktionen im Versionsmanagement sind die Definierbarkeit des Erkennungsverfahrens von Versionen, etwa über Dateinamen- oder Metadatenerkennung, ferner die Protokollierungen, die
Regelung der Lebensdauer von alten Versionen und die damit verbundene Regelung der Auslagerung/Migration von älteren Versionen
auf externe Datenträger, Werkzeuge zur optischen Differenzanzeige
von Versionen sowie Möglichkeiten des Rücksetzens von neuen Versionen auf alte Versionsstände.
Varianten: Für das Beziehungsmodell Varianten gilt, dass eine Variante ein aus einem existierenden Ursprungsobjekt hervorgegangenes, aber dabei deutlich verändertes Objekt darstellt. Die Variante
trägt den Verweis auf das Objekt, von dem es abgeleitet wurde. Von
einem Objekt können mehrere Varianten entstehen. Ebenso sind Varianten von Varianten möglich. Der Medien- bzw. Multimedia-Typ
muss nicht gleich bleiben (siehe Abb. 4.5).
Composing-Objekte: Für das Beziehungsmodell Composing-Objekte
gilt, dass ein Composing-Objekt ein aus einem oder mehreren Objek-
Varianten
Composing-Objekte
Abb. 4.6:
Composing-Objekte
4.4 Technische Bausteine
■
■
■
223
ten entstandenes neues Objekt darstellt, wobei die enthaltenen Objekte
entweder referenziert (z. B. referenzierte Bilddateien in einem Adobe
Indesign-Layoutdokument) oder aber eingebettet („embedded“) sind
(z. B. eingefügtes JPEG-Bild in einer PowerPoint-Folie). Die Quellobjekte selbst können im neu entstandenen Composing-Objekt auch
verändert sein. Die Protokollierung der im Composing-Objekt enthaltenen Objekte kann in verschiedenen CRT-Systemen zwingend sein,
etwa für Bildquellenverweise und Bildlizenzabrechnungen in Fachbüchern eines Verlages (siehe Abb. 4.6).
4.4.7
Steuerung und Kontrolle von Content-Workflows
CRT-Systembausteine zur Unterstützung des Content-Workflows
können nur unter zwei Voraussetzungen sinnvoll eingesetzt werden:
Die exakte Analyse der Abläufe, die oft beträchtlichen Aufwand erfordert sowie die vollständige Dokumentation und Modellierung dieser
Abläufe. Content und die contentbezogenen Prozesse müssen als dialektische Einheit betrachtet werden, um die folgenden Nutzenaspekte
durch einen gesteuerten Workflow zu erzielen (vgl. Rockley 2003):
• Erhöhung der Effizienz durch die Nutzung bereits einmal definierter und qualitativ geprüfter Abläufe.
• Rationalisierungspotenziale durch die Automatisierung von Arbeitsschritten durch das System selbst, etwa durch automatisierte
Benachrichtigungen bei Vergabe bestimmter Zustände oder das
Anstoßen eines automatisierten Umrechnungs- oder Bearbeitungsprozesses eines Bildes für die Web-Darstellung.
• Sicherung von Prozessabläufen: Freigaben erfolgen zur richtigen
Zeit, von den zuständigen Verantwortlichen und in der richtigen
Reihenfolge.
• Erhöhung der Transparenz durch Protokollierungen und Statuskontrollen.
• Vermeidung von Mehrfacheingaben, Medienbrüchen und manuellen Abstimmungen.
• Automatische Kontrolle von Zeiten und Kosten und das damit
verbundene Initiieren von Eskalationsszenarien (z. B. Konflikt- und
Notfallplanung).
• Zeit- und Kostenreduktion.
Workflow-Modellierung
224
■
■
■
Folgende Phasen innerhalb des Managements eines ContentWorkflows sind elementar:
Workflow-Modellierung (Workflow-Definition): Entwurf und Modellierung der Abläufe mittels geeigneter Werkzeuge wie Graphen- und
4 Content-Related-Technologien
Netzeditoren. Die Modellierung enthält dabei definierte Start- und
Endbedingungen, Aufgaben und Aktivitäten inklusive zugeordneter
Rollen, deren Abfolge und ihrer Beziehungen untereinander. Vorrangige Ziele der Modellierung sind die maximale Automatisierung von
Arbeitsschritten durch das System selbst und die Vermeidung von
Medienbrüchen. Durch die notwendige Beschäftigung mit den Abläufen ist ein Erkennen von Optimierungspotenzialen teilweise möglich
und wünschenswert. Die aus der Workflow-Modellierung resultierenden Daten werden zunehmend in XML spezifiziert und standardisiert,
etwa in der Business Process Modeling Language (BPML) und der Business Process Execution Language (BPEL) (vgl. Dustdar, Gall, Hauswirth 2003).
Der Workflow-Enactment-Service setzt die aus der WorkflowModellierung stammenden Daten in ein oder mehreren WorkflowEngines um. Zu dieser Umsetzung gehören das Erzeugen, das Verwalten und Ausführen von Workflow-Prozessen. Eine Workflow-Engine
kann als Runtime-Umgebung zum Initialisieren, Starten, Kontrollieren, Steuern und Beenden von Prozessen aufgefasst werden.
Typische Einsatzgebiete eines Workflow-Enactment-Service in einem CRT-System sind Korrektur- und Freigabezyklen. Zur Optimierung der Kommunikation innerhalb der Abläufe werden auch
zunehmend Groupware-Lösungen eingesetzt (siehe Kap. 3).
Folgende Arten von Workflows und deren Kombinationen kommen in CRT-Systemen primär zum Einsatz:
Workflow-Enactment-Service
und Workflow-Engine
• Strukturierte und vordefinierte Workflows: Sie werden durch Administratoren oder explizit dazu berechtigten Personen definiert.
Der Anwender kann diesen Ablauf nur in sehr geringem Maße
selbst verändern. Der Einsatz erfolgt vorrangig bei gleichen oder
annähernd gleichen Abläufen (z. B. Abwicklung der Beantwortung
einer Kundenfrage über die Website).
• Ad-hoc-Workflows werden vom Anwender selbst definiert und können jederzeit von ihm verändert werden. Zum Einsatz kommen sie
insbesondere bei einmalig auftretenden Abläufen, wie etwa zur Dokumentation und Protokollierung einer Metadatenänderungen im
Beipackzettel eines Arzneimittels.
• Semi-strukturierte Workflows als Kombination der beiden zuvor
genannten Arten.
Standardisierungen im Workflow-Management werden etwa von
der Workflow Management Coalition (WfMC) vorgegeben. Die WfMC
ist ein internationaler Zusammenschluss von Anbietern, Anwendern
und Beratern für Workflow-Lösungen. Ihre Aufgabe ist die Entwicklung von gemeinsamen Softwarespezifikationen und Standards, um
4.4 Technische Bausteine
■
■
■
225
eine breite Basis für die Interoperabilität und Kommunikation von
Produkten und Komponenten in verschiedenen Umgebungen zu
schaffen. Das Workflow Reference Model der WfMC beschreibt dabei
allgemeine Eigenschaften, Funktionen und Schnittstellen von Workflow-Systemen (vgl. Gierhake 1998).
Zu den grundlegenden Elementen von Workflow-ManagementWerkzeugen in CRT-Systemen gehören:
• Unterstützung von sequenziellen und auch graphenorientierten
Arbeitsabläufen.
• Werkzeuge zur Steuerung und Überwachung der Abläufe.
• Unterstützung von Rollen und Verantwortlichkeiten.
• Benachrichtigungs- und Wiedervorlagemechanismen.
• Werkzeuge zum Pflegen und Verwalten von Zuständen (z. B. Status) und Filter für Vorgänge und Bearbeitungen.
• Automatisches Generieren von Aufgabenlisten (z. B. Tasklisten)
sowie deren Verteilung an die zuständigen Personen bzw. -gruppen.
• Erzeugen von Protokollierungen.
• Unterstützung von Vertreterregeln.
• Automatisierung einzelner Arbeitsschritte innerhalb des Ablaufes
durch das CRT-System selbst.
• Unterstützung der Zugriffsberechtigung auf Content
• Unterstützung elementarer Freigabemechanismen, wie die Einhaltung des 4-Augen-Prinzips.
• Benachrichtigungen, etwa beim Eintreffen eines Dokumentes in
einer persönlichen Vorgangsmappe.
• Auswertung von Soll- und Ist-Werten (z. B. Zeiten, Kosten).
4.4.8
Content-Aggregation, -Delivery und -Publishing
Content-Aggregation
Content-Delivery
226
■
■
■
Content-Aggregation bezeichnet das Sammeln und Zusammenfügen
von Inhalten oder Inhaltssegmenten aus unterschiedlichen Quellen
und Bereichen des Content-Repository. Voraussetzung für diese Content-Aggregation ist die Vorhaltung strukturierter Inhalte im Sinne
einer Content-Strategie, wie dies in den vorigen Kapiteln bereits besprochen wurde.
Content-Delivery bezeichnet das Bereitstellen von Inhalten durch
eine gezielte Verteilung an unterschiedliche Empfänger mittels unterschiedlicher Ausgabe- und Distributionsformen. Die Bereitstellung
kann dabei sowohl zustellend als auch abholend (Push-/PullVerfahren) erfolgen: Zugestellte Werbe-E-Mail als zustellende Form
4 Content-Related-Technologien
und aktives Abholen eines Produktdatenblattes auf der Unternehmens-Website durch den Anwender als abholende Form. Zunehmend
erfolgt dabei eine personalisierte Bereitstellung (vgl. Kap. 4.4.9). Man
unterscheidet unter anderem folgende Ausgabe- und Distributionsformen:
•
•
•
•
•
•
•
•
Web: Internet, Extranet und Intranet
Print: Produktdatenblatt, Werbekatalog, Werbe-Flyer
Mobile Geräte: Mobiltelefone, PDAs
Datenträger: DVD, CD
Multimedia-Ausgabegeräte: Digitales Fernsehen
Backend-Systeme: ERP, E-Business-Systeme
Kommunikationsformen: Fax, SMS, MMS, E-Mail
Elektronischer Datenaustausch: EDI, BMEcat, XML
Content-Publishing beschreibt die Umwandlung aggregierter Inhalte in das jeweilige Format der Ausgabe- oder Distributionsform. Dabei
kommen die beiden grundsätzlichen technischen Verfahren ContentTemplating und Content-Rendering zum Einsatz. Beide Formen werden nachfolgend detaillierter besprochen.
Content-Publishing
4.4.8.1
Content-Templating
Content-Templating bezeichnet die Publikation strukturierter Inhalte
oder Inhaltssegmente auf der Basis von Vorlagen (Templates) und
unter Berücksichtigung definierter Regeln. Dabei erfolgt das Einbringen der Inhalte in die Vorlagen durch Substitution von Platzhaltern
oder Anweisungen. Layout und Gestaltung werden durch die Vorlage
selbst definiert (siehe Abb. 4.7). In vielen CRT-Systemen unterscheidet
man zwischen den Dokumenten- und Seitenvorlagen (z. B. StandardWebseite, Titelseite) und den Inhaltsvorlagen (z. B. Text mit Bild,
Textaufzählung, Bild). Die Vorteile dieses Verfahrens sind zum einen
einfacher zu realisierende komplexere Layout sowie Gestaltungen, in
denen dem Layout eine gesonderte Aufgabe zukommt (z. B. im Bereich
der Kommunikation, wie bei Werbemitteln, und im Bereich der Didaktik, wie bei einem Schulbuch mit hohem grafischem Anteil). Zum
anderen lässt die Publikation auch im noch layoutfähigen Endformat
(z. B. Adobe Indesign-Format, QuarkXPress-Format) nachträgliche
Änderungen zu. Ein gutes Beispiel ist die nachträgliche Aktualisierung
von Preisinformationen in mehrseitigen Produktkatalogen, ohne dafür einen kompletten neuen Datenimport durchführen zu müssen.
Folgende Beispiele erläutern den Templating-Prozess anhand häufiger Ausgabeformen:
4.4 Technische Bausteine
■
■
■
227
Abb. 4.7:
Typischer Templating-Prozess
auf der Basis von Vorlagen
• Für die Web-Ausgabe werden definierte Platzhalter in einer HTMLVorlage beim Templating-Prozess mit Inhalten aus einem ContentRepository ersetzt. Im gängigsten Verfahren sind diese Platzhalter
nicht als eine Art Variable oder Auszeichnungs-Tag definiert, vielmehr werden die Inhalte aus dem Content-Repository durch Anweisungen auf der Basis von Skriptsprachen wie JSP, ASP, PHP etc.
bei einem Templating-Prozess auf dem Server (Server Side Scripting) in die HTML-Vorlage einsetzt (vgl. Balzert 2003).
• Für die Print-Ausgabe, etwa in einer automatisierten Print-Katalogproduktion, werden in den Layoutvorlagen Platzhalter für die
einzubringenden Inhalte hinterlegt, die dann durch den Templating-Prozess ersetzt werden. Im Bereich der automatisierten Katalogproduktion (z. B. Database-Publishing) kommen vorwiegend
Anweisungen mit Datenbankverbindungen oder Verbindungen zu
XML-Tag-Strukturen als Platzhalter zum Einsatz. Im Bereich des
direkten Templating von PDF-Dokumenten werden überwiegend
Bibliotheken zum Verändern oder Einbringen von Inhalten in
PDF-Vorlagen genutzt (vgl. Merz 1998).
• In Analogie zur Nutzung von HTML-Vorlagen für die Web-Ausgabe können für mobile Endgeräte dort eingesetzte Markup-Sprachen wie die Wireless Markup Language (WML) bzw. XHTML
MP/CSS genutzt werden. Insbesondere die Vielzahl an unterschiedlichen Display-Eigenschaften, Eingabe- und Navigationswerkzeugen in mobilen Endgeräten erfordert nicht nur eine automatische
Anpassung des Contents, sondern in vielen Fällen auch deren spezifische Erstellung (siehe auch das Kapitel „Mobile Multimedia“ in
Teil 1 des Kompendiums).
4.4.8.2
Content-Rendering
Content-Rendering bezeichnet die Publikation strukturierter Inhalte
oder Inhaltssegmente auf der Basis einer Transformation in Ziel- oder
228
■
■
■
4 Content-Related-Technologien
Abb. 4.8:
Rendering-Prozess auf der Basis einer
Transformationsvorschrift
Ausgabeformate unter Berücksichtigung definierter Regeln (siehe
Abb. 4.8). Die Layout- und Gestaltungsanweisungen sind in der Transformationsvorschrift definiert. Vorteile dieses Verfahrens sind die hohe
Automatisierbarkeit, der generische Ansatz für heutige und zukünftige
Standards und die Geschwindigkeit beim Erzeugen der eigentlichen
Ausgabeform (z. B. HTML, PDF). Mit der weiteren Entwicklung von
komfortablen Werkzeugen zur Definition der Transformationsvorschriften und der konsequenten Öffnung klassischer Layoutformate für
XML wird das Rendering-Verfahren zunehmend in CRT-Systemen
eingesetzt.
Folgende Beispiele erläutern den Rendering-Prozess anhand häufiger Ausgabeformen:
• Für die Web-Ausgabe werden XML-Inhalte aus dem Content-Repository über Transformationsskripte in XSLT (Extensible Stylesheet Language Transformation), in HTML oder in SVG (Scalable
Vector Graphics) umgesetzt (siehe Kap. 2). Zunehmend werden
auch XML-Publishing-Frameworks wie Apache Cocoon eingesetzt.
Diese Frameworks bieten unterschiedliche Werkzeuge zur crossmedialen Umsetzung von Inhalten auf der Basis von XML-Technologien (vgl. http://cocoon.apache.org).
• Für die Print-Ausgabe ermöglicht die Transformation mittels XSLFO (der Formatierungskomponente von XSL) die Umsetzung von
XML-Inhalten in PDF. Das Rendering von proprietären Layoutformaten, wie QuarkXPress und Adobe Indesign, auf der Basis von
XML wird momentan nur rudimentär als Import von XML-Inhalten
in bestehende Layoutvorlagen unterstützt. Neuere Entwicklungen
hingegen unterstützen Ansätze, in denen das gesamte Dokumentenformat als XML importiert und exportiert werden kann, etwa in
QuarkXPress 6.5/7.0.
• Für die Ausgabe auf mobilen Endgeräten werden ebenfalls dort
eingesetzte Markup-Sprachen wie WML bzw. XHTML MP/CSS mittels XSLT-Transformationen umgesetzt (siehe auch das Kapitel
„Mobile Multimedia“ in Teil 1 des Kompendiums).
4.4 Technische Bausteine
■
■
■
229
4.4.8.3
Konzepte für unterschiedliche Content-Klassen
Statischer Content
Dynamischer Content
Bei der Betrachtung von grundlegenden Content-Publishing-Konzepten müssen zunächst die grundsätzlichen Klassen von Content berücksichtigt werden.
Generell unterscheidet man statisch und dynamisch generierten
Content. Statischer Content besitzt einen definierten Zustand und
wird nach der Erstellung nicht mehr geändert. Hierzu gehören zum
Beispiel Aufzeichnungen von Ereignissen, Biografien verstorbener
Personen, Veröffentlichungen etc.
Dynamischer Content besitzt keinen definierten Zustand und wird
in regelmäßigen zeitlichen Abständen durch zyklisches Abfragen etwa
von Preisinformationen oder aufgrund bestimmter Ereignisse, wie
einer Interaktion zur Anfrage eines Lagerbestandes, aus unterschiedlichen Quellen aktualisiert. Hierzu gehören zum Beispiel Lagerbestände
aus ERP-Datenbanken, Börsenkurse etc. Eine noch genauere Betrachtung des dynamischen Contents unterscheidet demnach ereignisgesteuert generierten und zyklisch generierten Content. Die Generierung
selbst kann nochmals in neu erzeugten und aktualisierten Content
(semidynamischer Content) unterschieden werden (vgl. Büchner
(Hrsg.), Traub, Zahradka, Zschau 2001). Abbildung 4.9 zeigt hierfür
einige Beispiele.
Abb. 4.9:
Beispiele für dynamischen Content
230
■
■
■
4 Content-Related-Technologien
Beim Content-Publishing, also der Ausbringung des Contents (statisch/dynamisch) in die jeweilige Ausgabe- oder Distributionsform
mittels der bereits weiter oben besprochenen Templating- und Rendering-Verfahren, kann ebenfalls zwischen statischem und dynamischem Publishing unterschieden werden (vgl. Bodendorf 2006).
Das statische Publishing erzeugt Ausgabeformen, die einem System
in einem definierten Zustand und zu einem definierten Zeitpunkt zur
Verfügung gestellt werden, etwa HTML-Seiten nach der Freigabe einem Web-Server. Die primären Vorteile des statischen Publishing
liegen in dem geringeren technischen Aufwand, den Möglichkeiten
des einfacheren Hosting und der erreichbaren Zugriffsgeschwindigkeit
auf die Ausgabeformen (z. B. Webseiten im Internet) (vgl. Abb. 4.10).
Dynamisches Publishing erzeugt die Ausgabeformen erst bei einem
bestimmten Ereignis (z. B. Aufruf einer Webseite und klicken auf einen Link zu einer bestimmten Produktinformation). Der Vorteil liegt
in der Aktualität der Inhalte (vgl. Abb. 4.11).
Die Art und das Verhältnis des vorliegenden Contents (statisch,
dynamisch) im Sinne einer Content-Strategie schränken die zuvor
beschriebenen Publishing-Konzepte ein. Hinzu kommen betriebswirtschaftliche Überlegungen, etwa bei der Auslegung der Performance:
Wie viele User müssen gleichzeitig bedient werden? Soll das CRT-System selbst gehostet werden oder durch einen Internet-Provider oder
ASP-Dienstleister? Welche Inhalte müssen wirklich dynamisch neu
erzeugt werden? Können sie auch zu bestimmten Zeitpunkten zyklisch
neu erzeugt werden, wie die Meldungen einer Online-Publikation?
Die meisten CRT-Systeme bieten durch Trennung des eigentlichen
Redaktionssystems vom Live-System (Staging-Konzepte) die Möglich
Statisches Publishing
Dynamisches Publishing
Staging-Konzept
Abb. 4.10:
Statisches Publishing
Abb. 4.11:
Dynamisches Publishing
4.4 Technische Bausteine
■
■
■
231
Abb. 4.12:
Staging-Konzept
keit, ein semidynamisches Konzept zu realisieren. Dabei werden statische Inhalte nach der Freigabe bereitgestellt, und nur in den Bereichen, in denen dynamischer Content notwendig ist, wird dieser entweder zyklisch statisch abgeglichen oder aber wirklich dynamisch aus
Backend-Datenbanken generiert (vgl. Abb. 4.12).
4.4.9
Personalisierung von Content
Unter Content-Personalisierung versteht man die personalisierte oder
zielgruppenoptimierte Bereitstellung von Inhalten, um dadurch höhere Verkaufswahrscheinlichkeiten, höheres Interesse, optimiertere Informationskonzentration, längere Verweildauer etc. zu erreichen.
Folgende Phasen können im Personalisierungsprozess unterschieden werden (vgl. Runte 2000) (vgl. Abb. 4.13):
Identifizierung
Profilierung
• Identifizierung des Nutzers durch manuelle Anmeldeverfahren (z. B.
Login) oder automatisches Erkennen mittels gespeicherter Nutzerdaten (z. B. Session-IDs, Cookies) (Fragestellung: Wer ist der Anwender?).
• Profilierung, also das Erfassen der Content-Interessen des Nutzers.
Man unterscheidet zwei prinzipielle Verfahren: Das explizite Profilieren ermittelt die Interessen durch manuelles Erfragen mittels
Abb. 4.13:
Phasen der Personalisierung
232
■
■
■
4 Content-Related-Technologien
eines Fragebogens. Implizites Profilieren erfolgt durch Nutzung
anderer Quellen wie Kundendatenbanken oder durch Eruieren der
Interessen mittels Analyse des Nutzerverhaltens im CRT-System,
zum Beispiel durch Analyse des Klickverhaltens auf einer Website
(Fragestellung: Welche Interessen hat der Anwender?).
• Im Analysing werden die eruierten Profildaten mittels unterschiedlicher Methoden analysiert, um eine bessere Differenzierung der
Interessen und Neigungen des Nutzers festzustellen (Fragestellung:
Was könnte den Anwender noch interessieren?). Beispielhafte Analysing-Verfahren werden nachfolgend aufgezeigt.
• Matching ermöglicht durch Abgleich und Vergleich von Interessen,
Neigungen des Nutzers und möglichen anbietbaren Inhalten den
Aufbau eines personalisierten Content-Angebotes. Voraussetzung
hierfür ist die Zuordenbarkeit des verfügbaren Contents zu dem
Nutzerinteresse, der Content muss also über seine Strukturdaten
(z. B. Metadaten, Gruppenzuordnungen) entsprechend kategorisierbar sein (Fragestellung: Welche Inhalte meines Angebotes entsprechen noch dem Interesse des Anwenders?).
• Channeling meint die Umsetzung der gewonnenen Erkenntnisse
und das automatische oder manuelle Bereitstellen der personalisierten Inhalte per Web, SMS, E-Mail, Fax, teilweise auch Print etc.
(Fragestellung: Welche Ausgabeformen sollen genutzt werden?).
Für das Analysing werden verschiedene grundlegende Verfahren in
CRT-Systemen eingesetzt (vgl. Dörner 2003):
In den Bereich der regelbasierten Verfahren gehören die formularbasierte Personalisierung, bei der aufgrund von Nutzereingaben bestimmte Inhalte angezeigt werden (z. B. Eingabe des gleichen Suchbegriffs in einem Formular führt zur Anzeige gleicher Inhalte) sowie das
Rule-based Filtering, bei dem durch fest definierte Regeln eine Personalisierung durchgeführt wird: „Wenn der Nutzer sich für Produkt
„Motorrad 4711“ interessiert, dann biete ihm auch Produktinformationen zu „Versicherungen für 4711“ an“.
Zu den vergleichsbasierten Verfahren gehören das Content-based
Filtering und das Collaborative Filtering. Content-based Filtering führt
eine Bewertung aufgrund von Objekteigenschaften durch. Voraussetzung hierfür ist natürlich, dass das Objekt mittels Eigenschaften beschreibbar ist (z. B. rote Hosen der Marke xyz). Wenn sich ein Nutzer
für ein Produkt mit bestimmten Eigenschaften interessiert, dann ist es
wahrscheinlich, dass er auch für andere Produkte mit denselben bzw.
ähnlichen Eigenschaften Interesse zeigt.
Das Collaborative Filtering ist eine Methode der Personalisierung
auf der Basis der Beobachtung des Nutzerverhaltens und dem Bilden
von Korrelationen. Dabei wird versucht, das Profil von Benutzern auf
4.4 Technische Bausteine
Analysing
Matching
Channeling
Regel- und vergleichsbasierte
Analysing-Verfahren
■
■
■
233
der Basis dieser Korrelationen zu erweitern: Wenn sich ein Benutzer
für A, B und C interessiert und ein anderer für A, B und D, so ist die
Wahrscheinlichkeit groß, dass der zweite Benutzer sich auch für C
interessiert, obwohl er es nicht explizit angegeben hat.
4.4.10
Archivierung und Revisionssicherheit
4.4.10.1
Archivierung
Archivierung
Backup
Online-Speicher
Nearline-Speicher
Offline-Speicher
234
■
■
■
Unter Archivierung in CRT-Systemen wird die langfristige Auslagerung (Migration) von Mediendateien, die sich nicht mehr im aktiven
Änderungsprozess befinden, von einem Online-System (z. B. Festplatten-, RAID-, SAN- oder NAS-Systeme) auf externe Datenträger (z. B.
WORM-, DVD- oder TAPE-Library-Systeme) verstanden. Zur Verwirrung: In Dokumenten-Management-Systemen wird unter Archivierung oftmals das „Einbringen“ (Check-In) von Dokumenten in das
eigentliche Dokumenten-Management-System selbst bezeichnet.
Nach der Archivierung ist der archivierte Datenbestand auf dem
Archivmedium und nicht mehr auf dem Online-Speicher (z. B. RAID,
Festplatte) des Rechnersystems vorhanden. Aus diesem Grund müssen zusätzliche Backup-Strategien wie das automatische Klonen für
diese Archivierungsmedien entwickelt werden.
Im Gegensatz hierzu versteht man unter Backup das Anlegen einer
Sicherheitskopie des aktuellen Datenbestandes eines Rechnersystems
auf externe Medien. Nach Durchführung des Backups ist der gesicherte Datenbestand auf dem Backup-Medium und auf dem Online-Speicher des Rechnersystems vorhanden. Ein Backup soll bei Datenverlust
oder -zerstörung eine Möglichkeit bieten, die ursprünglichen Datenbestände wiederherzustellen.
Das Archiv im Sinne von CRT-Systemen erlaubt über die Speichergrenzen des verfügbaren Online-Speichers hinaus einen Zugriff auf
die Datenbestände. Teilweise unterscheidet man innerhalb der Archivierung folgende prinzipielle Speicherstufen:
• Online-Speicher: RAID-System mit hochperformanten Festplattensystemen (z. B. SCSI-RAID), Speichernetzwerke (z. B. Network Attached Storage (NAS), Storage Area Network (SAN)).
• Nearline-Speicher: Früher MO-Jukeboxen, heute üblicherweise
RAID-System mit billigeren Festplatten (z. B. IDE-RAID).
• Offline-Speicher: Band-, CD-, DVD-Jukebox- oder Robotersysteme.
4 Content-Related-Technologien
4.4.10.2
Langzeitarchivierung
Unter Langzeitarchivierung versteht man Archivsysteme, die Daten und
Dokumente über einen größeren Zeitraum (>10 Jahre) verfügbar halten
können. Im Kontext der Kulturgüterarchivierung geht es um Zeithorizonte von mehreren hundert Jahren. Primäre Fragestellungen für die
Langzeitarchivierung (vgl. Borghoff, Rödig, Scheffczyk 2003) sind dabei:
Langzeitarchivierung
• Welcher Datenträger eignet sich hinsichtlich der Lebensdauer von
Datenträgern, Laufwerken, Betriebssystemen etc.? Lebensdauer bezieht sich hier nicht nur auf die physikalische Haltbarkeit, sondern
auch auf die Verfügbarkeit!
• Welches Format soll für die Speicherung angesichts der Lesbarkeit
und Anwendbarkeit genutzt werden? Bisher wurde häufig hierfür
das TIFF-Format verwendet. Trends gehen in Richtung des neuen
ISO-Standards PDF/A, einer Untermenge von PDF 1.4.
Mögliche Lösungsansätze für obige Fragestellungen resultieren
nicht in einer konkreten Antwort, sondern in Strategien, die trotz notwendiger Entscheidung für einen Datenträger und ein Format die Langzeitarchivierung sicherstellen sollen. Zu den Möglichkeiten zählen:
• Aufbau eines „Technik-Museums“ mit alten Hardware- und Softwaresystemen.
• Zyklisches Migrieren der alten Datenbestände auf neue Datenträger
und in neuen Formaten. Dies widerspricht jedoch den Prinzipien
einer revisionssicheren Archivierung (siehe nachfolgend).
• Emulation von Software zum Lesen von Formaten durch virtuelle
Umgebungen, in denen ältere Betriebssysteme und Anwendungen
auf neuerer Hardware noch lauffähig bleiben sollen.
Bei extrem langen Zeithorizonten wie in der Kulturgüterarchivierung sind auch analoge Speichermedien wie der farbige Mikrofilm in
Betracht zu ziehen, die mit analogen Daten (z. B. Text, Bild) und/oder
mit digital und verlustfrei rücklesbar codierten Daten (z. B. Flächencodes) laserbelichtet werden.
4.4.10.3
Revisionssichere Archivierung
Unter revisionssicherer Archivierung versteht man die langfristig garantierte Verfügbarkeit von archivierten Daten und Dokumenten. Im
Vordergrund steht dabei die Unveränderbarkeit und sichere Aufbewahrung. Insbesondere dann, wenn durch Dokumenten-Manage-
4.4 Technische Bausteine
Revisionssichere Archivierung
■
■
■
235
ment-Systeme (DMS) Papierarchive bestimmter Dokumententypen
ersetzt werden sollen und diese zudem von entsprechenden Organisationen und Institutionen anerkannt werden sollen (wie z. B. Rechnungen und Buchungsbelege vom Finanzamt), müssen diese revisionssicher sein und deren Archivierung bestimmten Grundsätzen
entsprechen. Regelungen und Vorgaben sind dann mehr oder weniger
genau in unterschiedlichen Vorgaben wie z. B. in GDPdU (Grundsätze
des Datenzugriffs und der Prüfbarkeit digitaler Unterlagen), HGB
(Handelsgesetzbuch), AO (Allgemeine Abgabenordnung) und GoBS
(Grundsätze ordnungsmäßiger DV-gestützter Buchführungssysteme)
enthalten (vgl. Götzer, Schneiderath, Maier, Boehmelt 2004). Folgende
Grundeigenschaften der Verwaltung von Daten und Dokumenten in
solchen revisionssicheren Archiven stehen dabei im Vordergrund:
• Sicher: Inhalte müssen auch über mehrere Jahre oder Jahrzehnte
hinweg verfügbar sein und während ihrer vorgesehenen Lebenszeit
nicht zerstört werden können.
• Unveränderbar: Es darf keine Möglichkeit der Veränderung von
Inhalten bestehen. Dadurch wird die Auswahl an Archivierungsmedien eingeschränkt, etwa auf WORM-Systeme (Write Once,
Read Multiple).
• Vollständig: Auf dem Weg ins Archiv oder im Archiv selbst dürfen
keine Informationen verloren gehen.
• Ordnungsgemäß: Gesetzliche Bestimmungen müssen eingehalten
werden.
• Verlustfrei reproduzierbar: Jedes Dokument muss in genau der
gleichen Form, wie es erfasst wurde, wieder angezeigt und gedruckt
werden können.
• Recherchierbar: Dokumente müssen mit geeigneten RetrievalTechniken wieder auffindbar sein.
4.4.11
Integration für Nutzer, Content, Funktion
und Prozesse
Der Einsatz von CRT-Systemen innerhalb eines Unternehmens sollte
immer im Kontext bestehender IT-Landschaften mit unterschiedlichen Systemen betrachtet werden, die ihrerseits immer weiter vernetzte und räumlich voneinander getrennte Strukturen aufweisen. Der
Informationsaustausch innerhalb eines Unternehmens muss hierbei
als Wertkette verstanden werden. Außerdem reicht die Wertschöpfungskette von Content und Medien oft über die Grenzen des eigenen
Unternehmens hinaus und bindet mehr und mehr auch Kunden und
236
■
■
■
4 Content-Related-Technologien
Zulieferer ein (vgl. Kretzschmar, Dreyer 2003). Die grundlegenden
Integrationsebenen sind hierbei die Content-, Funktions-, Prozessund Nutzerebene.
4.4.11.1
Integration auf Content-Ebene
Die Integration auf Content-Ebene erfolgt als Abgleich-, Replikationsoder Austauschszenario i.d.R. auf XML-Basis.
In Verbindung mit dem Abgleich von Produktdaten in CRTSystemen sind bereits verschiedene Standardisierungen im Einsatz
(z. B. BMEcat, ebXML, OpenTRANS, ETIM, eCl@ss; vgl. Hentrich 2001).
Ebenfalls häufig eingesetzte Möglichkeiten des generellen Abgleichs
sind die Verwendung sogenannter BusinessObjects auf XML-Basis und
die zunehmende Nutzung standardisierter CRT-Schnittstellen (z. B.
JSR-168, JSR-170). Unter BusinessObjects versteht man logische Objekte, die Daten und Funktionen von Objekten kapseln, die in der realen
Geschäftswelt vorkommen (vgl. Bullinger (Hrsg.), Schuster, Wilhelm
2001; Delp 1998).
Da strukturierte Produktdaten als Content und das daraus resultierende Katalog-Management in CRT-Systemen immer wichtiger werden, sollen hier einige Standardisierungen kurz vorgestellt werden:
Der Standard BMEcat ist ein auf Initiative des Bundesverbands Materialwirtschaft, Einkauf und Logistik (BME) und namhafter Unternehmen (Alcatel, American Express, Audi, Bayer, BMW, C@Content,
DaimlerChrysler, Deutsche Bahn etc.) vom Fraunhofer-Institut für
Arbeitswirtschaft und Organisation sowie von den Universitäten Essen und Linz entwickelter Standard zur elektronischen Datenübertragung für Artikel- und Produktkataloge, der erstmals Ende 1999 veröffentlicht wurde. Im deutschsprachigen Raum ist BMEcat der am
weitesten verbreitete Austauschstandard für elektronische Produktkataloge. Auch international erfolgt zunehmend die Nutzung von BMEcat im zwischenbetrieblichen E-Commerce. BMEcat unterstützt mit
der einfachen Übernahme von Katalogdaten aus den unterschiedlichsten Formaten den Warenverkehr zwischen Unternehmen im Internet.
Der Standard BMEcat basiert auf XML (vgl. BMEcat 2001;
www. bmecat.org).
Der Standard ebXML (Electronic Business using eXtensible Markup
Language) ist ein Regelwerk für den Austausch von Geschäftsinformationen im Internet. Er basiert auf einem Entwurf der Vereinten Nationen (UN/CEFACT) und der Organisation für die Förderung Strukturierter Informationsstandards (OASIS), die 14 Nationen und mehr als
100 Unternehmen vertritt. Als Rahmenwerk will ebXML einen elektronischen Marktplatz schaffen, der es Unternehmen unabhängig von
4.4 Technische Bausteine
BMEcat
ebXML
■
■
■
237
OpenTRANS
ETIM
eCl@ss
Generelle Schnittstellen
JSR-168/JSR-170
ihrem Standort und ihrer Größe ermöglicht, Nachrichten auf Basis
von XML-Dokumenten auszutauschen. Er wird wohl das klassische
EDI-Format ersetzen: UN/EDIFact ist ebenfalls ein von der UN initiiertes Austauschformat (vgl. www.ebxml.org).
OpenTRANS ist ein Standard für den Austausch von Geschäftsdokumenten wie Auftragsdaten, Lieferscheine, Rechnungen etc. und
unterstützt die elektronische Beschaffung (E-Procurement) zwischen
Handelsunternehmen (vgl. www.opentrans.org).
ETIM ist eine deutsche Standardisierungsinitiative für den elektronischen Produktdatenaustausch in der Elektrobranche. Er erlaubt
neben der lieferantenunabhängigen Produktbeschreibung auch die
Zuordnung zu einer Produktklasse. Eine Artikelklasse fasst vergleichbare, bau- oder funktionsähnliche Produkte zusammen. Eine Artikelgruppe fasst eine oder mehrere Artikelklassen zusammen. Produkte
werden in zwei hierarchischen Stufen (Artikelgruppe und Artikelklasse) strukturiert. ETIM wird speziell zur Herstellung von Produktkatalogen eingesetzt; die Übertragung dieser Katalogdaten geschieht in
einem erweiterten BMEcat-Format (vgl. www.etim.de).
Der Standard eCl@ss bietet ein hierarchisches System zur Klassifizierung von Produkten, Materialien, Waren und Dienstleistungen. Die
Klassifizierung soll nicht nur den Aufbau eines Ordnungsschemas erlauben, sondern auch die Vergleichbarkeit von Produkten ermöglichen.
Der Standard eCl@ss ist nach einem logischen Schema aufgebaut, das in
seiner Granularität den Produktmerkmalen entspricht. Dadurch können Märkte branchen-, unternehmens- und produktneutral dargestellt
werden. Die eCl@ss-Klassifizierung kann optional jedem Produktkatalog im BMEcat-Format übergeben werden (vgl. www.eclass.de).
Auf Content-Ebene sind die akzeptierten Standards (Java Specification Requests) JSR-170 und JSR-168 im CRT-Bereich interessant (vgl.
www.jcp.org). JSR-170 wurde bereits weiter oben im Zusammenhang
mit dem Content-Repository besprochen (siehe Kap. 4.4.3). Hier
bleibt abzuwarten, inwieweit er sich bei den Systemherstellern durchsetzen wird. JSR-168 spezifiziert die Schnittstelle, wie aggregierte Inhalte, etwa aus einem CM-System, in eine Portalseite auf der Basis von
sogenannten Portlets integriert werden können. Portlets sind webbasierte, personalisierbare Bausteine, die Zugriff auf definierte Informationen aus unterschiedlichen internen und externen Quellen ermöglichen (vgl. Großmann, Koschek 2005).
4.4.11.2
Integration auf Funktionsebene
Bisherige Integrationstechnologien auf Funktionsebene basierten auf
unterschiedlichen IT-Technologien wie RPC (Remote Procedure Calls)
238
■
■
■
4 Content-Related-Technologien
oder RMI (Remote Method Invocation) (vgl. Schneider, Werner 2004).
Einer dieser Ansätze ist die EAI (Enterprise Application Integration),
ein Konzept zur unternehmensweiten Integration der Geschäftsfunktionen, die über verschiedene Applikationen auf unterschiedlichen
Plattformen verteilt sind (vgl. Dustdar, Gall, Hauswirth 2003). Diese
Ansätze werden mehr und mehr durch dienste-orientierte Technologien ergänzt oder abgelöst.
In solchen serviceorientierten Architekturen (SOA) werden Funktionalitäten in Form von lose gekoppelten Diensten (sogenannte Services) bereitgestellt. Der Aufruf dieser Dienste erfolgt über standardisierte Schnittstellen, etwa mittels Web Services auf der Basis weiterer
Standards wie SOAP (Simple Object Access Protocol) etc. Komplexere
Abläufe, wie sie typischerweise in Programmabfolgen oder Geschäftsprozessen anzutreffen sind, werden durch die Kopplung unterschiedlicher, auch verteilt zur Verfügung gestellter Dienste und der Koordinierung zugehöriger Aufrufe (Orchestrierung) umgesetzt (siehe auch
das Kapitel „Verteilte Systeme“ in Teil 3 des Kompendiums).
4.4.11.3
Integration auf Prozessebene
Die Integration auf Prozessebene erfolgt auf der Basis der Nutzung
von Standards, wie dem bereits erwähnten WfMC-Standard der
Workflow Management Coalition. Allerdings wird dieser Standard
derzeit in wenigen CRT-Systemen unterstützt. Eine häufig angewandte Methodik ist die Modellierung in eigenen oder externen Grapheneditoren, etwa zur Definition von UML-Aktivitätsdiagrammen, die
dann im Regelfall als nicht standardisierte XML-Dokumente zur Weiterverarbeitung von Prozessdefinitionen in einer eigenen WorkflowEngine exportiert werden.
Im Zuge der zunehmenden Diensteorientierung auf der Basis der
vorher kurz angeführten serviceorientierten Architekturen (SOA)
werden Prozessbeschreibungssprachen, wie BPEL (Business Process
Execution Language) und BPEL4WS (Business Process Execution
Language for WebServices) zur Beschreibung von Geschäftsprozessen
auf der Basis von XML, in diesem Zusammenhang vermehrt zum
Einsatz kommen (vgl. Dustdar, Gall, Hauswirth 2003).
4.4.11.4
Integration auf Nutzerebene
Eine Integration auf Nutzerebene inkl. Berechtigungskonzepten für
Daten und Funktionen erfolgt mehrheitlich auf der Basis von Verzeichnisdiensten. Verzeichnisdienste versuchen Lösungen für die
4.4 Technische Bausteine
■
■
■
239
durch heterogene Betriebssystem-Landschaften resultierenden Probleme zu bieten, wie unterschiedliche Passwort-, Zugangs-, Benutzerund Ressourcenverwaltung etc. Eine einheitliche Basis unterschiedlicher, proprietärer Verzeichnisdienste wurde durch LDAP (Lightweight
Directory Access Protocol) (vgl. Schneider, Werner 2004) geschaffen.
Auf der Basis dieser LDAP-Schnittstellen erfolgt die Kopplung der
CRT-Systeme an eine zentrale Nutzerverwaltung inkl. Berechtigungsstrukturen.
4.4.12
Administration
Multisite-Management /
Mandantenfähigkeit
Seiten- / Blattplanung
System- / Mediensicherheit
Berechtigungskonzepte
Mehrsprachigkeit
Content-Rotation
240
■
■
■
In jedem CRT–System gibt es weitere Funktionen für die Systemadministration. Ein Auszug grundlegender administrativer Bausteine
wird im Folgenden vorgestellt.
Das Multisite-Management und die Mandantenfähigkeit eines
CRT-Systems ermöglichen es, auf einem System mehrere unterschiedliche und abgegrenzte Content-Bereiche eigenständig zu verwalten
und zu betreiben. Dazu gehören zum Beispiel das gemeinsame Betreiben von mehreren Websites unterschiedlicher Firmen oder Kunden
(z. B. Mandanten) oder das Verwalten unterschiedlicher Publikationen (z. B. Ausgaben einer Fachzeitschrift) auf einem System.
Die Seiten- und Blattplanung vorrangig in WCM- und PrintRedaktionssystemen dient der seitenbezogenen Planung von Produktion und Publikation einzelner Inhalte auf den jeweiligen Seiten. Bei
einer Tageszeitung etwa müssen verschiedene Content-Komponenten
zu unterschiedlichen Zeiten und aus ganz verschiedenen Quellen angeliefert werden.
System- und Mediensicherheit: Erforderlich ist eine Zugangssicherung des gesamten Systems (z. B. mittels Benutzername und Passwort)
und Kommunikationssicherheit durch Verschlüsselung und Authentifizierung (z. B. digitale Signatur). Maßnahmen zur Mediensicherheit
sind Mechanismen zum Schutz der Inhalte im Bereich des DRM (Digital Rights Management) (z. B. digitale Wasserzeichen, digitale Signatur; vgl. Kapitel „Mediensicherheit“ in Teil1 des Kompendiums).
Berechtigungskonzepte für Daten auf der Ebene von Mandanten,
Sprachversionen, Seitenbereichen, Inhaltsbereichen und Feldern sowie Funktionen auf unterschiedlichen Ebenen, wie Administratoren-,
Projekt-, Redaktions- und Anwenderebene.
Mehrsprachigkeit für Inhalt und Benutzeroberfläche mit durchgängiger Unicode-Unterstützung (Sonderzeichenfähigkeit).
Unterstützung von Content-Rotation zur zeitlich abgrenzbaren
Verwendung und Publikation von Inhalten.
4 Content-Related-Technologien
Protokollierung aller Transaktionen mit spezifizierenden Informationen, wie Datum, Zeit, User, optionale Kommentare etc.
Reporting: Erstellung von Reports und Statistiken zur Auswertung
von Auflagenhöhe, Abonnentenzahl, Zahl der Seiten-, Inhalts- und
Dokumentabrufen etc.
Plattformunabhängigkeit: Unterstützung verschiedener Hard- und
Softwareplattformen mit der Berücksichtigung grundlegender Aspekte wie Performance, Skalierbarkeit und Ausfallsicherheit.
Protokollierung
Reporting
Plattformunabhängigkeit
4.5
Ausblick
Im Folgenden soll ein Ausblick gegeben werden, welche primären
technologischen Strömungen in Zukunft sich ausprägen werden bzw.
zu erwarten sind. Nicht betrachtet werden insbesondere die immer
wichtiger werdenden Notwendigkeiten zur Berücksichtigung gesetzlicher Regelvorschriften im Umgang mit Content (Stichwort: Compliance-Anforderungen etc.).
Etablierung von CRT-Systeme als Basis-Content-Infrastruktur für EBusiness-Technologien: Content-Related-Technologien werden zukünftig weit mehr als bisher als integrale Basis-Content-Infrastruktur
für alle komplementären E-Business-Technologien, wie E-Commerce,
Customer-Relationship-Management (CRM) oder E-Procurement
eingesetzt werden. Dies schließt nicht nur die Einbindung dezentraler,
verteilter Content-Repositories und die Integration von LegacySysteme ein, sondern beinhaltet auch eine weitere Prozess-Integration, zunehmend auf der Basis dienste-orientierter Architekturen.
Integration unstrukturierter Content-Quellen: Bedingt durch das
rasante Anwachsen von unstrukturierten Inhalten in und aus Web2.0
Communities, werden neben den bisherigen Content-Quellen auch
alle unzureichend erschlossenen, meist „unstrukturierten“ ContentQuellen, vorrangig die sogenannten Blog-Inhalte, in diese Systeme mit
eingebunden bzw. von diesen Systemen effiziente Werkzeuge hierfür
bereitgestellt werden. Diese Integration wird eine der größten Herausforderungen an moderne CRT-Systeme sein.
Stärkung des Multi-Channeling und Cross-Media-Publishing: Die
Publikation von Inhalten wird sich zunehmend auf die unterschiedlichsten Ausgabegeräte erweitern. Dies wird sich neben den klassischen Ausgabekanälen (z. B. Print und Web) auch auf unterschiedlichste Multimedia-Geräte wie Handy, Spielekonsolen, digitales Fernsehen, PDA etc. ausdehnen und dadurch der Forderung nach
konsequent medienneutraler Haltung von Content weiter Gewicht
geben.
4.5 Ausblick
Basis-Content-Infrastruktur für
E-Business-Technologien
Integration unstrukturierter
Content-Quellen
Stärkung des Multi-Channeling und
Cross-Media-Publishing
■
■
■
241
Personalisierung als
entscheidender Faktor
Unterstützung von mobilen Endgeräten
und interaktivem Fernsehen i-TV
Zunehmende Wissensgenerierung
Zunehmende Verknüpfung
mit Produkt-Informations-Systemen
Standardisierungen
Personalisierung als entscheidender Faktor: Die zunehmende Personalisierung von Content in Verbindung mit einem konsequenten
Management des Anwender-Feedbacks wird die Bereitstellung von
Informationen an die Rezipienten entscheidend prägen. Dazu müssen
aber noch ausgereiftere Analysewerkzeuge im Bereich der Personalisierung entwickelt werden.
Unterstützung von mobilen Endgeräten und interaktivem Fernsehen i-TV: Insbesondere die Personalisierungs- und Ortungsmöglichkeiten der meisten mobilen Endgeräte sowie deren zunehmende
Verbreitung werden für eine weitere Unterstützung in ContentSystemen führen. Ergänzend zu den mobilen Endgeräten sieht man
weitere Entwicklungen im Bereich des interaktiven Fernsehens (i-TV).
Zunehmende Wissensgenerierung: Komfortablere Werkzeuge in
CRT-Systemen werden mehr als bisher neue Möglichkeiten zur Gewinnung von neuem Wissen und Erkenntnissen aus Informationen
und Content schaffen. Die automatischen Klassifizierungsverfahren
spielen dabei eine entscheidende Rolle.
Zunehmende Verknüpfung mit Produkt-Informations-Systemen:
Produktinformationen werden vermehrt in CRT-Systemen als Content verwaltet oder gleich integriert werden. In Verbindung mit komfortablen Publishing-Engines von CRT-Systemen und unter Berücksichtigung von effizienten Personalisierungsmethoden werden neben
Standardkatalogen für Print und Online auch immer mehr individualisierte oder zielgruppenspezifische Kommunikationsmittel mit den
jeweiligen Produktinformationen für unterschiedlichste Ausgabeformen erzeugt und kanalspezifisch verteilt werden.
Standardisierungen: Die zunehmende Standardisierung von CRTSchnittstellen wird zu einer Spezialisierung von Content-Bausteinen
für unterschiedlichste Einsatzgebiete führen. Im Gegenzug werden
Datenbank- und Betriebssysteme zukünftig die eigentlichen ContentRepositories über diese standardisierten Schnittstellen zur Verfügung
stellen.
Literatur
Balzert, H.: JSP für Einsteiger. Dynamische Websites mit JavaServer Pages erstellen, W3l, 2003.
Blessing, D.: Content Management für das Business Engineering. Fallbeispiele,
Modelle und Anwendungen für das Wissensmanagement bei Beratungsunternehmen. Dissertation, Universität St. Gallen, St. Gallen, 2001.
Bodendorf, F.: Daten- und Wissensmanagement. 2.Auflage, Springer-Verlag, 2006.
Boiko, B.: Content-Management-Bible. Wiley Publishing, Inc., New York, 2002.
Borghoff, U.M.; Rödig, P.; Scheffczyk, J.: Langzeitarchivierung. dpunkt.verlag,
2003.
242
■
■
■
4 Content-Related-Technologien
BMEcat: E-Commerce Standard BMEcat, www.bmecat.org, www.bme.de, 2001.
Büchner, H. (Hrsg.); Traub, D.; Zahradka, R.; Zschau, O.: Web Content Management. Websites professionell betreiben. Galileo Press, Bonn, 2001.
Bullinger, H.J.; Wörner, K.; Prieto, J.: Wissensmanagement – Modelle und Strategien für die Praxis. In: H.D. Bürgel (Hrsg.): Wissensmanagement – Schritte
zum intelligenten Unternehmen. Springer-Verlag, Berlin, 1998.
Bullinger, H.J. (Hrsg.); Schuster, E.; Wilhelm, S.: Content Management Systeme.
Auswahlstrategien, Architekturen und Produkte. Verlagsgruppe Handelsblatt, Düsseldorf, 2001.
Christ, O.: Content-Management in der Praxis. Spinger-Verlag, Berlin, 2003.
Delp, M.: Media Warehouse – was die Medienindustrie braucht. Aus: IFRA
(Hrsg.): Pre-Publishing – the new Pre Press for modern Publishing. Darmstadt, 1998.
Dörner, J.-H.: Personalisierung im Internet. Persönliche Empfehlungen mit Collaborative Filtering. Verlag Kovac J, 2003.
Donovan, T.: Wirtschaftliche Gründe für Content Management. Ein Leitfaden für
Führungskräfte. Trend Consulting, London, 2001.
Dreyer, R.: Der Farbmanagement-Workflow bei der Filmdigitalisierung von Archivgut. Aus: Maier, G.; Fricke, T. (Hrsg.): Kulturgut aus Archiven, Bibliotheken und Museen im Internet. Werkhefte der staatlichen Archive Baden
Württemberg, Band A17. Kohlhammer, Stuttgart, 2004.
Dustdar, S.; Gall, H.; Hauswirth, M.: Software-Architekturen für Verteilte Systeme.
Springer-Verlag, Berlin, 2003.
Eisele, M.: Dokumenteneintopf: JSR-170: Einheitlicher Zugriff auf Unstrukturiertes. iX 1/2006.
Fritsche, H.P.: Cross Media Publishing. Konzept, Grundlagen und Praxis. Galileo
Press, Bonn, 2001.
Gierhake, O.: Integriertes Geschäftsprozessmanagement: effektive Organisationsgestaltung mit Workflow-, Workgroup- und DokumentenmanagementSystemen. Vieweg Verl., Braunschweig. Wiesbaden, 1998.
Gierling, R.: Farbmanagement. Mitp-Verlag, 2004.
Götzer, K.; Schneiderath, U.; Maier, B.; Boehmelt, W.: Dokumenten-Management.
dpunkt.verlag, 2004.
Großmann, M.; Koschek, H.: Unternehmensportale Grundlagen, Architekturen,
Technologien. Springer-Verlag, Berlin, 2005.
Gulbins, J.; Seyfried, M.; Strack-Zimmermann, H.: Dokumenten-Management.
Springer-Verlag, Berlin, Heidelberg, New York, 2002.
Hentrich, H.: B2B-Katalogmanagement – E-Procurement und Sales mit XML.
Galileo Press, Bonn, 2001.
Hess, T.; Eggers, B.; Schulze, B.: Synergien realisieren durch die Mehrfachnutzung
von Inhalten im Rahmen von Verwertungsketten: Der Fall Frankfurter Allgemeine Zeitung (FAZ). Arbeitsbericht Nr. 8/2003 des Instituts für Wirtschaftsinformatik und Neue Medien an der Ludwig-Maximilians-Universität, München, 2003.
Jablonski, S.; Böhm, M.; Schulze, W. (Hrsg.): Workflow-Management. Entwicklung von Anwendungen und Systemen. dpunkt.verlag, Heidelberg, 1997.
Kampffmeyer, U.: Dokumenten-Technologien: Wohin geht die Reise? PROJECT
CONSULT, 2003.
Literatur
■
■
■
243
Kreikle, M.: Grundlagen: Urheberrechtsfragen in Media Asset Management.
07/2001 ContentManager.de.
Kretzschmar, O.; Dreyer, R.: Medien-Datenbanken und Medien-Logistik-Systeme.
Oldenbourg Verlag, München, 2003.
Merz, T.: Web Publishing with Acrobat/ PDF. Springer-Verlag, Berlin, 1998.
Meyer-Wegener, K.: Multimediale Datenbanken. Teubner, 2003.
Rockley, A.: Managing Enterprise Content. New Riders, Indianapolis, 2003.
Rothfuss, G.; Ried C.: Content Management mit XML. Springer-Verlag, Berlin,
Heidelberg, New York, 2001.
Runte, M.: Personalisierung im Internet. Deutscher Universitäts-Verlag, 2000.
Schäuble, P.: Multimedia Information Retrieval. Kluwer Academic Publishers,
1997.
Schmid, D.: Wettbewerbsvorteile durch Media Asset Management in der Medienbranche. Diplomarbeit an der Hochschule der Medien, 2004.
Schneider, U.; Werner D.: Taschenbuch der Informatik. Hanser Fachbuchverlag
Leipzig, 2004.
Schumann, M.; Hess, T. (Hrsg.): Medienunternehmen im digitalen Zeitalter. Neue
Technologien – Neue Märkte – Neue Geschäftsansätze. Gabler, Wiesbaden,
1999.
Semio: Automatic Taxonomy Building. An Semio White paper, Semio Corporation, San Mateo, 2000.
Wilhelm, R.; Heckmann, R.: Grundlagen der Dokumentenverarbeitung. Oldenbourg, 1996.
Wittkewitz, J.: Ausgepresst. Automatische Klassifizierung von Dokumenten. IX
12/2001.
244
■
■
■
4 Content-Related-Technologien
5 Usability und Design
Michael Burmester
5.1
Usability
5.1.1
Mensch und Computer
Ob in der Freizeit oder im Beruf – Computer werden immer mehr zu
einem Bestandteil unserer alltäglichen Erfahrung. Sie tauchen als Bildschirmarbeitsplätze (im Jahre 2005 nutzten 57% aller Deutschen am
Arbeitsplatz einen PC, BITKOM 2006c) und Heimcomputer (58% der
deutschen Bevölkerung hatten 2005 einen Internetzugang, BITCOM
2006a) auf. Computer „verstecken“ sich aber auch in vielen Geräten.
Im Freizeitbereich findet man sie in Digitalkameras, Fahrzeugnavigationssystemen, Mobiltelefonen (95% der Deutschen besaßen in 2005
ein Mobiltelefon, BITCOM 2006b), MP3-Player, Harddisk-Rekorder,
Interaktivem Fernsehen, Radioweckern, programmierbaren Kochherden, Waschmaschinen, Hausautomatisierung, Kinderspielzeug, Fahrkartenautomaten, Informationskioske etc. Im professionellen Umfeld
finden sich Computer in Schweißmaschinen, Laserschneidegeräten,
Ultraschallgeräten, Motorenprüfsystemen, Sachbearbeitersoftware,
Content-Management-Systemen (CMS), Projektiersoftware für automatisierungstechnische Anlagen, betriebswirtschaftliche Software etc.
Computer halten Einzug in die unterschiedlichsten Bereiche des Lebens. Begleitend dazu sind immer wieder die gleichen Folgen festzustellen:
Computer als Bestandteil
alltäglicher Erfahrung
• Zunehmende Funktionalität
• Zunehmende Interaktionsmöglichkeiten zwischen Mensch und
Computer
• Zunahme der angebotenen Informationen
Der Mensch kommuniziert mit dem Computer über die Benutzungsschnittstelle. Jef Raskin, der Vater des Apple Macintosh User
5.1 Usability
Benutzungsschnittstelle ist
das eigentliche Produkt
■
■
■
245
Qualität der Nutzung
Interfaces, schreibt in seinem Buch „Das intelligente Interface“: „Soweit es den Verbraucher betrifft, ist die Oberfläche das eigentliche
Produkt“ (Raskin 2000, S. 22). Nur wenn die Benutzungsschnittstelle
optimal auf den Benutzer, seine Aufgaben und die Anwendungsumgebung abgestimmt ist, kann das Produkt mit einem angemessenen
Aufwand erfolgreich genutzt werden. Der komfortablen Nutzung in
unterschiedlichen Nutzungssituationen wird also eine entscheidende
Bedeutung zugeschrieben. Gesprochen wird von leichter Erlernbarkeit, Benutzungs- oder Benutzerfreundlichkeit, Ease of Use, Ease of
Learning, Gebrauchstauglichkeit, Usability, Nutzungsqualität.
Diese Qualitäten sind vor allem auch durch die Frage nach der richtigen Gestaltung von Websites und Web-Applikationen in die öffentliche Diskussion geraten. Internetnutzung unterscheidet sich in einem
ganz wesentlichen Aspekt von der Nutzung anderer computerbasierter Produkte. Im Internet werden die Benutzer zuerst mit der Qualität
der Nutzung konfrontiert. Kann der Benutzer die gewünschten Informationen nicht zügig finden, so wechselt er die Website einfach. Bei
anderen Produkten erfolgt zunächst der Kauf. Hier machen die Käufer
erst einmal keine Erfahrung mit der Nutzung der Geräte. Sie lassen
sich vielleicht eher durch umfangreiche Funktionslisten und Informationsangebote beeindrucken. Im professionellen Umfeld wird den
Benutzern beispielsweise der Bildschirmarbeitsplatz vom Arbeitgeber
eingerichtet. Von den Benutzern wird gefordert, mit den Applikationen zu arbeiten, die für ihre Aufgaben relevant sind. Erst wenn es an
die Nutzung geht, wird deutlich, wie gut oder schlecht der Bildschirmarbeitsplatz ist. So machen sich auch bei diesen Produkten mangelnde
Produktivität, geringe Akzeptanz, hohe Schulungskosten etc. negativ
bemerkbar (Bias & Mayhew 1994, 2005; Kalbach 2003; Marcus 2002).
5.1.2
Usability als Qualität der Nutzung
Aspekte von Usability
246
■
■
■
Nielsen (1993, S. 24 f.) sieht Usability als einen von zwei Aspekten der
„Usefullness“ (Brauchbarkeit) eines Produkts. Neben der sozialen
Akzeptanz wird sie als Bestandteil der praktischen Akzeptanz eines
Systems gesehen. Die „Usefullness“ beschreibt Nielsen (1993, S. 24 ff.)
als „Utility“ (Nützlichkeit) und „Usability“ (Bedienbarkeit). Bei Utility
stehen die Funktionen im Vordergrund, die für eine bestimmte Aufgabe notwendig sind. Als Usability bezeichnet er den Zugang zu diesen Funktionen. Somit wird Usability allein mit der Einfachheit der
Nutzung in Verbindung gebracht („Ease of use“). Damit einher geht
häufig das Missverständnis, dass durch genügend Wissen über die
Gestaltung von Benutzungsschnittstellen Usability erzeugt werden
könne. Usability wird also als Eigenschaft des Produkts gesehen und
5 Usability und Design
gilt als Qualitätsmerkmal des Zugangs zu vordefinierten Funktionen.
Dieser Sichtweise von Usability wird mit der Norm DIN EN ISO 9241
Teil 11 (1998) eine andere Sichtweise entgegengesetzt (Bevan 1995).
Usability oder Gebrauchstauglichkeit, wie es in der offiziellen deutschen Übersetzung der internationalen Norm ISO 9241 Teil 11 heißt,
wird definiert als „das Ausmaß, in dem ein Produkt durch bestimmte
Benutzer in einem bestimmten Nutzungskontext genutzt werden
kann, um bestimmte Ziele effektiv, effizient und zufrieden stellend zu
erreichen“ (DIN EN ISO 9241-11 1998, S. 4). Ganz wesentlich an dieser
Definition ist, dass über Usability nur etwas ausgesagt werden kann,
wenn der Nutzungskontext bekannt ist. Der Nutzungskontext umfasst
die Benutzer, die von ihnen zu erledigenden Aufgaben, die Arbeitsmittel sowie die physische und soziale Umgebung, in der das Produkt
genutzt wird.
Nigel Bevan, der Herausgeber von Teil 11 der ISO 9241, weist darauf hin, dass es sich bei Usability um eine Qualität der Nutzung handelt. Es lässt sich also nicht anhand der reinen Produkteigenschaften
entscheiden, ob ein Produkt gebrauchstauglich ist oder nicht. Das
Produkt muss immer in Bezug zum Nutzungskontext betrachtet werden. Bevan schreibt „[…] there is no such thing as a ‚usable product‘
or ‚unusable product‘. For instance a product which is unusable by
inexperienced users may be quite usable by trained users“ (Bevan
1995) und spricht von „Quality of use“. Er weist explizit darauf hin,
dass Qualität in der Softwarebranche häufig damit assoziiert wird, die
Spezifikation einzuhalten. Für die Qualität der Nutzung reicht das
allerdings nicht aus. Diese wird nur erkannt, wenn das Produkt in
dem jeweiligen Nutzungskontext genutzt werden kann. Bevan schreibt
dazu: „However this alone is rarely sufficient to ensure quality of use –
that the product can be used for its intended purpose in the real
world“ (Bevan 1995).
Die Usability-Definition wurde entwickelt, um die Evaluation von
Produkten zu ermöglichen. Somit sind die zentralen Kriterien für
Usability eben Effektivität, Effizienz und Zufriedenstellung (vgl.
Abb. 5.1). Aber auch die Gestaltung selbst profitiert von diesem Verständnis. Die Analyse des Nutzungskontextes ist daher zentraler Bestandteil des benutzerzentrierten Gestaltungsprozesses, wie er in der
DIN EN ISO 13407 (2000) beschrieben wird.
In der Usability-Definition findet sich ein Hinweis auf Zielorientierung. Der Definition liegt die Vorstellung zugrunde, dass Benutzer
Ziele erreichen wollen. Diese Ziele werden als das angestrebte Arbeitsergebnis verstanden. Die dafür notwendigen Aktivitäten werden in der
Norm als Aufgabe definiert. Das Produkt soll die Benutzer so unterstützen, dass sie ihre Ziele vollständig und genau, d. h. effektiv erreichen können. Der Aufwand, den die Benutzer dabei einsetzen müssen,
5.1 Usability
Usability-Definition
Zentrale Bedeutung des
Nutzungskontexts
Effektivität, Effizienz und
Zufriedenstellung
■
■
■
247
Abb. 5.1:
Einfluss des Nutzungskontextes auf die
Usability-Kriterien (nach Bevan 1995)
wird als Effizienz beschrieben. Er wird im Verhältnis zur Genauigkeit
und Vollständigkeit der Zielerreichung gesehen. Werden die Ziele mit
angemessenem Aufwand erreicht, führt dies zur Zufriedenstellung der
Benutzer. Damit ist gemeint, dass der Benutzer bei der Nutzung des
Produkts nicht beeinträchtigt wird (z. B. erhöhte Anstrengung durch
zu kleine Schriften oder missverständliche Interaktionen). Darüber
hinaus entwickelt der Benutzer eine positive Einstellung zum Produkt,
was eine wiederholte Nutzung fördert. Damit die Ziele auch wirklich
effektiv und effizient erreicht werden können, muss das Produkt an
die Bedingungen des Nutzungskontextes angepasst sein. Dazu gehört,
dass das Produkt über die Funktionen und Inhalte verfügt, die zur
Zielerreichung benötigt werden. Zudem muss der Zugang zu Funktionen und Inhalten leicht zu erlernen und zu handhaben sein.
248
■
■
■
5 Usability und Design
Die von Bevan (1995) und in der DIN EN ISO 9241-11 (1998) beschriebenen Zusammenhänge wurden für den Einsatz von computerisierten Produkten in der Arbeitswelt definiert. In der Praxis wird jedoch auch bei Produkten der Unterhaltungselektronik, wie z. B. einem
MP3-Player, von Usability gesprochen. Prinzipiell ist dies auch möglich. Wichtig ist nur zu verstehen, dass die Ziele nicht immer aus einer
Arbeitsorganisation generiert werden (siehe Abb. 5.1), sondern
durchaus auch von den Benutzern selbst (z. B. das Abspielen einer
bestimmten Playlist) oder aber aus anderen sozialen Kontexten als
den beruflichen. Ein Beispiel dafür ist das familiäre Betrachten des
Urlaubsfilms auf DVD: Dem „Fernbedienungsinhaber“ wird von der
Familie gesagt, dass eine Szene noch einmal gezeigt werden soll. In
diesem Fall generieren die Familienmitglieder ein Ziel, das der Benutzer übernehmen kann. Produkte werden aber auch ohne explizite
Zielstellung genutzt. Bei Computerspielen steht zwar das Ziel im
Raum, zu gewinnen. Im Vordergrund steht jedoch die Aktivität. Oft
dient aktivitätsorientiertes Verhalten auch der Zielfindung, wenn sich
der Benutzer beispielsweise durch das Angebot eines Online-Shops
anregen lässt.
Carroll plädiert für eine Erweiterung des Usability-Begriffs: „I would
urge that we construct a broader, more encompassing concept of „usability“, one that incorporates „fun“ and other significant aspects of the
experience of human interaction with technology, rather than settling
for the primitive caricature of usability as synonymous with simplicity
and ease, and regarding fun (and other aspects of the user experience)
as something beyond or aside of usability.“ (Carroll 2004, S. 39). Wie
auch später noch erläutert wird (siehe Kap. 5.2.5), spielt Spaß an der
Nutzung eine entscheidende Rolle bei der Benutzererfahrung mit einem Produkt. Carroll (2004) bezieht als weitere Qualitäten das Wohlbefinden der Person, das Erleben der Selbstwirksamkeit oder der kollektiven Wirksamkeit sowie das der kulturellen Identität mit ein.
Usability jenseits der Arbeitswelt
Erweiterung des Usability-Begriffs
5.1.3
Nutzen von Usability
Auch wenn Usability in Normen eingeflossen ist (s.o. sowie Norm zur
Softwarequalität DIN ISO/IEC 12119 1995), werden nach wie vor Diskussionen um den Nutzen von Usability geführt. Allerdings hat sich
die missionarische Haltung der Usability Professionals, wie sie in den
80er Jahren und Anfang der 90er noch vorherrschte, etwas gewandelt.
Schon 1994 rechneten Randolph G. Bias und Deborah J. Mayhew in
ihrer Aufsatzsammlung „Cost-Justifying Usability“ mit mehreren
Autoren vor, dass sich Usability auch ökonomisch auszahlt und rechtfertigen lässt. Im Nachfolgewerk aus dem Jahre 2005 „Cost Justifying
5.1 Usability
Cost-Justifying Usability
■
■
■
249
Return on Investment
Usability – An Update for the Internet Age“ wird dargelegt, dass sich
seit den 90ern Usability-Engineering-Methoden und benutzerzentrierte Gestaltung bei einigen Firmen etabliert haben. Allerdings wurde
bemerkt, dass dies nur teilweise zufriedenstellend geschieht und dass
immer noch zu viele Produkte mit eindeutigen Usability-Problemen
auf dem Markt sind. Die Notwendigkeit, Usability-Maßnahmen zu
rechtfertigen, besteht weiterhin (Bias & Mayhew 2005, S. 2).
Somit ist der Ruf nach Return on Investment (ROI) bzw. die „Rendite der Investition“ (Hinderberger 2003, S. 30) in Bezug auf UsabilityMaßnahmen deutlich. Hinderberger (2003, S. 31) präsentiert eine
einfache Formel, mit der grobe Rechnungen zum ROI angestellt werden können:
⎛ ∑ Einkünfte
⎞
⋅100 ⎟ − 100
ROI = ⎜
⎜ ∑ Kosten
⎟
⎝
⎠
Effekt von Usability-Maßnahmen
250
■
■
■
Einkünfte und Kosten werden auf einen bestimmten Zeitraum bezogen. So lassen sich einfache Abschätzungen über das Verhältnis von
Kosten (z. B. von Usability-Maßnahmen) und den erzielten Einkünften machen. Insgesamt ist die ROI-Berechnung nicht trivial. Weitere
Informationen finden sich bei Hinderberger (2003, S. 24 ff.).
Der Effekt von Usability-Maßnahmen lässt sich oft schon anhand
einfacher Hochrechnungen ermitteln. So fand Brodbeck (1991) heraus, dass für Fehlerbewältigung 10% der Terminalzeit verwendet wird.
Dies sind 6 Minuten pro Stunde. Nehmen wir nun ein kleines Unternehmen mit 200 Mitarbeitern. Diese arbeiten 300 Tage pro Jahr und
erzeugen Kosten von 200 Euro pro Tag und Mitarbeiter. Gehen wir
davon aus, dass die Mitarbeiter von ihren 8 Stunden Arbeitszeit nur
4 Stunden wirklich am Bildschirm sitzen, dann ergibt sich eine Summe von 600.000 Euro, die für Fehlerbewältigung bezahlt wird. Würde
durch Usability-Maßnahmen die Fehlerbewältigungszeit um die Hälfte reduziert, dann ergibt sich eine Reduktion der Kosten für unproduktive Fehlerbewältigung um 300.000 Euro pro Jahr. In dieser sehr
simplen Rechnung geht nur die Produktivitätsüberlegung ein. Es gibt
jedoch noch weitere Faktoren, die eine Rolle spielen.
Tabelle 5.1 zeigt, dass Usability-Maßnahmen aus Sicht von Herstellern (Software, Geräte etc.) oder Betreibern (z. B. von Websites) wichtige Vorteile mit sich bringen: Kosten- und Zeitersparnis während der
Entwicklung, Umsatz- und Gewinnpotenzial, die Möglichkeit, neue
Kunden zu generieren und bestehende Kunden zu behalten. Durch
hervorragende Usability können sich Hersteller und Betreiber auf dem
Markt differenzieren bzw. Usability-Maßnahmen auch als Quelle für
Innovationen nutzen. Für Anwender (z. B. Unternehmen, die eine
bestimmte Software für ihre Mitarbeiter einsetzen) und Benutzer (die
5 Usability und Design
Mitarbeiter, die mit der Software arbeiten) liegen die Vorteile ebenfalls in der Einsparung von Kosten, z. B. für Schulungen, und ganz
deutlich in der erhöhten Produktivität. Steigende Zufriedenheit unter
den Benutzern, geringere Risiken für Erkrankungen sowie die Einhaltung von Vorschriften sind deutliche Argumente für Usability-Maßnahmen. Tabelle 5.1 präsentiert zu jedem Nutzenargument exemplarisch Studien, die dieses Argument stützen (aus Bias & Mayhew
1994, 2005; Kalbach 2003 und Marcus 2002).
Nutzenargument
Tabelle 5.1:
Argumente zur Rechtfertigung
von Usability-Maßnahmen
Studie
für Hersteller und Betreiber
Kostenersparnis
Die Kostenersparnis in der Entwicklung ist umso deutlicher, je früher Usability-Maßnahmen im Entwicklungsprozess eingesetzt werden. Gilb (1988)* zeigt, dass 1 $, der
in frühen Phasen der Entwicklung für UsabilityMaßnahmen ausgegeben wurde, 10 $ für Fehlerkorrekturen in der Implementierung und bis 100 $ für Korrekturen
nach der Auslieferung spart.
Bei der Wartung von Systemen konnten Nachbesserungen, die auf Usability-Probleme zurückgehen, um 60−90%
reduziert werden (Harrison et al. 1994*).
Zeitersparnis
Die Anforderungen an ein Produkt genau zu erheben
spart Zeit: Zeiten für die Entwicklung nicht benötigter
Funktionen und Zeiten für die Nachbesserung übersehener Nutzeranforderungen. Ehrlich und Rohn (1994)*
errechnen 40% Ersparnis und Bosert (1991)* zwischen
30% und 50%.
Umsatz & Gewinne
Wixon und Jones (1995)* stellen fest, dass die Erlöse für
ein Softwareprodukt nach dem Einsatz von UsabilityMaßnahmen um 80% anstiegen.
Nach der benutzerfreundlichen Umgestaltung des IBMOnline-Shops stieg nach einer Studie von Battey (1999)*
die Nutzung um 120% und die Umsätze um 400%.
Neue Kunden
Eine größere Umgestaltung von staples.com nach Usability-Kriterien führte zu einer Reduktion der ‚drop off rates‘
um 31−45% und eine Erhöhung der wiederkehrenden
Kunden um 67%.
Eine Studie zeigt, dass 83% der Studienteilnehmer OnlineShopping als besonders einfach und komfortabel bewerten. Darauf weist Nielsen (1999)* hin. Schlechte Usability
sollte diese positive Einstellung nicht beeinträchtigen.
5.1 Usability
■
■
■
251
Nutzenargument
Studie
Kundenloyalität
Kalin (1999) weist darauf hin, dass schlechte Usability zu
einem Rückgang der wiederkehrenden Kunden um 40%
führte. Nielsen (1997)* zeigt, dass wiederkehrende Kunden doppelt so viel in einem Online-Shop ausgeben wie
Erstkunden.
Differenzierung
Usability ist mittlerweile Bestandteil von Software-, Produkt- und Site-Bewertungen in Zeitschriften, Magazinen
und Testorganisationen (Kalbach 2003). Nach Nielsen
(1993)* beschäftigen sich 15% von Technologiebeurteilungen in Zeitungen, Magazinen und Journalen mit Usability-Fragestellungen.
Häufig können Produkte nicht mehr über Funktionen auf
dem Markt differenziert werden, sondern eher über gute
Usability.
Innovationsfaktor
Ein bisher vernachlässigter, aber nicht zu unterschätzender Faktor bei Usability-Maßnahmen ist, dass nicht nur
technologische Innovationen gebrauchstauglich gemacht
werden können, sondern dass durch UsabilityMaßnahmen auch Produktinnovationen initiiert werden
(Burmester & Görner 2003; Kalbach 2003).
für Anwender und Benutzer
252
■
■
■
Kostenersparnis
Die Schulungszeit in einem Unternehmen konnte durch
die Verbesserung der Usability von einer Woche auf eine
Stunde reduziert werden (Marcus 2005). Die Firma AT&T
sparte durch ähnliche Maßnahmen 2,5 Mio. $ (Harrison
et al. 1994)*.
Produktivität
Die Produktivität steigt durch Reduktion der Aufgabenbearbeitungszeiten (Karat 1994)*, Reduktion der Fehlerhäufigkeit (Gallaway 1981)* und Steigerung der Erfolgsraten (Nielsen 1998)*.
Zufriedenheit
Die Gardener Group (1992) ermittelte nach Anwendung
von Usability-Methoden bei der Entwicklung einer Software eine erhöhte Zufriedenheit um 40% (Harrison et al.
1994)*.
Gesundheit
Fehlerbewältigung bei Bildschirmarbeiten erhöht die
mentale Beanspruchung (Brodbeck 1991). Studien zeigen,
dass bei Benutzern an Bildschirmarbeitsplätzen mehr
Schulter- und Nackenprobleme, Überanstrengung der
Augen, Abwesenheit von der Arbeit, geringere Arbeitszufriedenheit und höhere Fluktuation als an anderen Arbeitsplätzen auftreten (Schneider 1985)*.
5 Usability und Design
Nutzenargument
Studie
Gesetze
Die Verordnung über Sicherheit und Gesundheitsschutz
bei der Arbeit an Bildschirmgeräten (Bildschirmarbeitsverordnung (1996) ist seit dem 21. Dezember 1996 in Kraft
und stellt klare software-ergonomische Anforderungen an
die Gestaltung von Software an Bildschirmarbeitsplätzen.
Seit dem 17. Juli 2002 gilt die „Verordnung zur Schaffung
barrierefreier Informationstechnik nach dem Behindertengleichstellungsgesetz“ (BITV 2002). Demnach soll
Menschen mit Sinnes- und Körperbehinderungen die
Nutzung des Internets erleichtert werden.
*zitiert nach Marcus (2005)
5.2
Theoretische Grundlagen
5.2.1
Überblick
Usability-Engineering wird als eine angewandte Disziplin beschrieben,
die mit Hilfe systematischer Methoden versucht, Usability bei der
Gestaltung von Benutzungsschnittstellen zu erreichen (Mayhew 1999).
Benutzungsschnittstelle wird in der DIN EN ISO 9241-110 (2006) definiert als „alle Bestandteile eines interaktiven Systems (Software oder
Hardware), die Informationen und Steuerelemente zur Verfügung
stellen, die für den Benutzer notwendig sind, um eine bestimmte Arbeitsaufgabe mit dem interaktiven System zu erledigen.“ Ein interaktives System ist gekennzeichnet durch „die Kombination von Hardware- und Softwarekomponenten, die Eingaben von einem (einer)
Benutzer(in) empfangen und Ausgaben zu einem (einer) Benutzer(in)
übermitteln, um ihn (sie) bei der Ausführung einer Arbeitsaufgabe zu
unterstützen“ (DIN EN ISO 13407 2000, S. 3). Im Folgenden werden
interaktive Systeme auch einfach als Produkt bezeichnet.
Theoretische Grundlagen bilden den Rahmen für alle Maßnahmen,
die im Usability-Engineering angewandt werden. Human-Computer
Interaction (HCI, oder Mensch-Computer-Interaktion, MCI) gilt als
wissenschaftliche Disziplin, die sich damit beschäftigt, wie Menschen
Geräte und Systeme nutzen, die auf Computertechnologie basieren.
Beeinflusst von Psychologie, Soziologie, Kognitionswissenschaft, Arbeitswissenschaft, Ergonomie und Design auf der einen Seite und
Informatik auf der anderen Seite, geht es darum, wie solche Geräte
und Systeme nützlicher und nutzbarer gestaltet und entwickelt wer-
5.2 Theoretische Grundlagen
Usability-Engineering
Human-Computer Interaction
■
■
■
253
Theorien
254
■
■
■
den können. Dabei wurde eine Fülle theoretischer Grundlagen erarbeitet (Jacko & Sears 2003; Carroll 2003). Dazu gehören Grundlagen,
die sich um das Verständnis des Menschen drehen. Dies sind Theorien zur Wahrnehmung (Ware 2003), zu motorischem Verhalten
(MacKenzie 2003) und menschlicher Informationsverarbeitung (John
2003; Proctor & Vu 2003), mentale Modelle (Dutke 1994), Emotion
(Brave & Nass 2003), Informationssuche (Pirolli 2003), verteilte Kognition (Perry 2003) und Handlungstheorie (Bertelsen & Bødker 2003;
Frese & Zapf 1994). Theoretische Grundlagen bezogen auf den Computer beinhalten Themen wie Eingabegeräte (Hinkley 2003; Ziegler &
Burmester 1997) und Ausgabe von Information (Brewster 2003; Iwata
2003; Luczak, Rötting & Oehme 2003). Bei der Frage der Interaktion
geht es beispielsweise grundlegend um den Einsatz von Multimedia
(Sutcliffe 2003), Multimodalität (Oviatt 2003) oder Adaptivität (Jameson 2003). Zudem spielen Fragen zu Anforderungen spezieller Benutzergruppen eine Rolle, wie z. B. ältere Benutzer (Czaja & Lee 2003)
oder Menschen mit Behinderungen (Sears & Young 2003; Jacko, Vitense & Scott 2003). Ebenso werden Erkenntnisse zu unterschiedlichen Anwendungsformen entwickelt, wie beispielsweise Informationsvisualisierung (Bederson & Shneiderman 2003) oder ComputerSupported Cooperative Work (CSCW, Olson & Olson 2003).
Im Folgenden sollen vier ausgewählte Theoriebereiche erläutert
werden. Zunächst wird ein Modell der Interaktion von Mensch und
Computer beschrieben. In der Informations- und Wissensgesellschaft
spielt die Nutzung von Informationen eine wichtige Rolle. In diesem
Modell wird explizit das Spannungsverhältnis zwischen dem Informationsanbieter und dem Informationsnutzer angesprochen. In den zwei
folgenden theoretischen Ansätzen geht es um die Suche nach Informationen und die durch die Benutzer wahrgenommene Glaubwürdigkeit der Informationsquelle. Diese ist speziell für Anbieter von Informationen wichtig, da Glaubwürdigkeit eine Voraussetzung dafür ist,
seine Ziele durchzusetzen. Informationen werden von Benutzern im
Rahmen von Aufgabenstellungen und persönlichen Informationszielen gesucht und genutzt. Nur Informationen aus glaubwürdigen Quellen werden von Benutzern verwendet. Sie haben das Potenzial Wissen,
Einstellungen oder Verhalten von Benutzern zu ändern. Benutzer zu
beeinflussen kann im Rahmen der Ziele von Anbietern liegen, z. B.
wenn Personen durch eine Energiespar-Website von umweltfreundlichem Verhalten überzeugt werden sollen. Im letzten Ansatz wird das
Konzept der Usability als Qualität der Nutzung um hedonische Aspekte erweitert und zu einer Theorie der Attraktivität integriert.
5 Usability und Design
5.2.2
Ein Modell zur Nutzung interaktiver Systeme
5.2.2.1
Werkzeug oder Medium
Die Usability-Definition der DIN EN ISO 9241 Teil 11 (1998) wurde
ursprünglich für Software entwickelt, die Bürotätigkeiten unterstützt
(„ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten“, DIN EN ISO 9241 1996–1998). Bei diesen Anwendungen
steht die Manipulation von Daten und Informationen im Vordergrund, wie beispielsweise die Verwaltung von Kundendaten und
-verträgen in Versicherungsunternehmen. Solche Produkte lassen sich
als Werkzeuge bezeichnen. Mediale Aufbereitung von Informationen
wird immer wichtiger und ist integraler Bestandteil solcher Werkzeuge. Hierzu zählen beispielsweise Geschäftsgrafiken als Bestandteil von
betriebswirtschaftlicher Software (Enterprise-Software) oder Aufbereitung von Parametern in der Prozesskontrolle, beispielsweise in der
chemischen Industrie. Bei anderen interaktiven Systemen hingegen
steht die Informationsvermittlung im Vordergrund, wie beispielsweise
bei interaktiven Wissensmedien (Eibl et al. 2006). Diese Art von Systemen hat auf der einen Seite einen Werkzeugcharakter, denn Benutzer suchen Informationen, analysieren diese, eignen sie sich an, stellen
neues Wissen her, verteilen es, bewahren und nutzen es. Auf der anderen Seite haben Medien einen Kommunikationsaspekt. Bei Wissensmedien verfolgt der Anbieter von Informationen auch bestimmte
Ziele.
Andere Systeme, wie z. B. Computer-Spiele, fallen aus dem beschriebenen Raster heraus, denn bei ihnen steht weder die ziel- oder
aufgabenorientierte Manipulation von Informationen noch das Vermittlungsinteresse eines Informationsanbieters im Vordergrund.
Auch wenn Spieler natürlich das Ziel z. B. eines Highscores verfolgen,
so steht doch der Genuss der Aktivität selbst im Fokus. Spiele müssen
natürlich benutzbar sein (Jørgensen 2004), da sie sonst keine Freude
bringen. Zum anderen müssen Spiele auf den Genuss hin optimiert
werden (Pagulayan, Steury, Fulton & Romero 2003).
In der Norm zur Gestaltung multimedialer Produkte DIN EN ISO
14915 (2002) „Software-Ergonomie für Multimedia-Benutzungsschnittstellen“ wird im „Teil 1: Gestaltungsgrundsätze und Rahmenbedingungen“ zu den speziellen Gestaltungsgrundsätzen für Multimedia mit dem Grundsatz „Eignung für das Kommunikationsziel“
verdeutlicht, dass in der Gestaltung sowohl die Ziele des Anbieters
einer Information als auch die Ziele des Benutzers der Information
berücksichtigt werden müssen (DIN EN ISO 14915 2002, S. 9).
5.2 Theoretische Grundlagen
Computer als Werkzeug zur
Unterstützung von Arbeit
oder als Medium zur Vermittlung
von Informationen
Norm zur Gestaltung multimedialer
Produkte DIN EN ISO 14915
■
■
■
255
Bestandteile des Modells
5.2.2.2
Das Modell
Um die Komponenten zu identifizieren und zu beschreiben, die bei
der Erreichung einer hohen Nutzungsqualität bzw. Usability berücksichtigt werden müssen, wird ein Modell zur Nutzung interaktiver
Systeme vorgestellt (vgl. Burmester 2006).
Das Modell (vgl. Abb. 5.2) basiert auf folgenden Modellen und theoretischen Grundlagen: DIN EN ISO 9241-11 (1998) und DIN EN ISO
14915-1 (2002) sowie Donald Norman (1986) und Horst Oberquelle
(1994).
Zusätzlich zu den klassischen Modellansätzen der Mensch-Computer-Interaktion (wie das ABC-Modell, Frese & Zapf 1991 oder dem
IFIP-Modell, Dzida 1983) wurde der Anbieter von Informationen gemäß der DIN EN ISO14915-1 (2002) mit aufgenommen.
Aufgrund der Fokussierung auf Usability fehlen bestimmte Gestaltungsaspekte von interaktiven Systemen. Dazu gehören beispielsweise
didaktische Aspekte des Erlernens, Präsentierens, Abrufens und Nutzens von Wissen durch den Benutzer. Aspekte der Kommunikation
und Kollaboration von Benutzern, die bei Wissensmedien wie z. B.
E-Learning-Produkten recht häufig vorkommen, werden nur angedeutet.
Abb. 5.2:
Modell zur Nutzung interaktiver Systeme
(nach Burmester 2006)
Ziele von Anbietern
5.2.2.3
Anbieter
Anbieter von Informationen verfolgen u. a. folgende Ziele mit ihrem
Informationsangebot:
• Benutzer sollen über bestimmte Themen informiert werden, z. B.
zum Unternehmen.
• Informationen zu kommerziellen Zwecken anbieten, wie z. B. kostenpflichtig herunterladbare Produkttests.
• Produkte verkaufen, wie z. B. bei Online-Reisebüros.
256
■
■
■
5 Usability und Design
• Bestimmte Inhalte im Rahmen einer Online-Lehrveranstaltung
vermitteln
• Das Verhalten der Benutzer beeinflussen, z. B. Informationen über
den Klimawandel vermitteln, um Personen von einem bewussten
Umgang mit fossilen Brennstoffen zu überzeugen.
Die Gestaltung des jeweiligen interaktiven Systems wird vom Anbieter so beeinflusst, dass seine Ziele optimal erreicht werden. Auch
wenn der Anbieter die Gestaltung nicht selbst in die Hand nimmt, so
wird er doch Ziele und Anforderungen für einen externen Gestalter
formulieren.
Wie später noch genauer beschrieben wird, ist es notwendig, Informationen aus den verschiedenen Nutzungskontexten als Ausgangsmaterial zu sammeln und zu analysieren. Zudem können Anbieter zur Optimierung ihres interaktiven Systems Daten aus den Interaktionen der Benutzer (z. B. Log-Files) und direkte Rückmeldung oder
Fragen der Benutzer zu den angebotenen Informationen verwenden.
Diese Informationen können zur Folge haben, dass Inhalte und deren
Präsentation geändert oder aber neue Inhalte hinzugefügt werden
(Jameson 2003).
5.2.2.4
Benutzer
Bei der aktiven Nutzung eines interaktiven Systems verfolgen die Benutzer eigene Ziele bzw. bearbeiten Aufgaben. Diese werden von den
Benutzern selbst, durch die Arbeitsorganisation, andere soziale Kontexte oder durch das jeweilige interaktive System (z. B. bei E-LearningAngeboten) vorgegeben.
Eine einfache, aber nach wie vor verwendete Handlungstheorie zur
psychologischen Erklärung der Aktivitäten von Benutzern (Rosson &
Carroll 2002, S. 110 f.; Wandmacher 1993, S. 81 f.) wurde von Donald
Norman (1986) formuliert. In diesem theoretischen Modell wird davon ausgegangen, dass der Benutzer sich ein Ziel setzt. Ziele sind häufig allgemein formuliert und es gibt unterschiedliche Wege, diese zu
verwirklichen. Der Benutzer will beispielsweise ein Wort in einem
Text hervorheben, den er oder sie gerade mit einem Texteditor verfasst. Dieses Ziel ist zunächst nicht konkret, denn das Wort könnte
unterstrichen, fett gesetzt oder kursiv formatiert werden. Diese Auswahl muss im nächsten Schritt getroffen werden. Anschließend wird
ein Handlungsplan erstellt, d. h., Maus auf Menüleiste zu Option
„Format“ bewegen, klicken etc. Der Plan wird schließlich mit Hilfe der
Eingabegeräte ausgeführt. Die Konkretisierung des Ziels, die Handlungsplanerstellung und Ausführung dienten nach Norman zur Überbrückung des „Gulf of Execution“ (Norman 1985, S. 38 f.). Bei all die-
5.2 Theoretische Grundlagen
Nutzung von Informationen
durch die Anbieter
Benutzer verfolgen Ziele
Handlungstheorie zur Nutzung
interaktiver Systeme
■
■
■
257
sen Schritten kann das Produkt mehr oder weniger gut unterstützen,
womit der „Abgrund der Ausführung“ mehr oder weniger groß ist.
Veränderungen des interaktiven Systems werden als Informationen
mit Hilfe der Ausgabegeräte über die Modalitäten (vgl. Kap. 5.2.2.6)
wahrgenommen. Die wahrgenommenen Inhalte werden interpretiert,
d. h. mit bestehendem Wissen in Verbindung gebracht. Auf Basis der
dargebotenen Informationen wird in der Bewertungsphase geprüft, ob
das Ziel erreicht bzw. dem Ziel näher gekommen wurde. Diese psychologische Informationsverarbeitungsstrecke dient zur Überbrückung des „Gulf of Evaluation“ (Norman 1986, S. 38 f.). Auch hier
kann das Produkt mehr oder weniger Unterstützung anbieten.
Die sieben dargestellten Stufen (wahrnehmen, interpretieren, bewerten, Ziel formulieren, auswählen, planen und ausführen) sind keine starr getrennten Einheiten. Es entfallen ab und zu Stufen, in manchen Situationen entsprechen sich bestimmte Stufen oder werden
wiederholt (Norman 1986, S. 41 f.). Zudem weist Wandmacher (1993,
S. 82) darauf hin, dass wahrgenommene Ausgaben direkt auf die Stufe
„planen“ und „auswählen“ wirken bzw. sich Interpretationen ebenfalls ohne Bewertung direkt auf „planen“ und „auswählen“ auswirken.
Benutzer können häufig über das interaktive System miteinander
in Austausch treten. Dies ist beispielsweise bei computerunterstützten
kollaborativen Systemen (CSCW, Computer Supported Collaborative
Work) der Fall. Mehrere Benutzer werden in dem Modell durch mehrere Benutzerblöcke angedeutet.
Vereinfachte Darstellung
der Funktionsweise interaktiver Systeme
Ubiquitous Computing
258
■
■
■
5.2.2.5
Interaktives System
Das interaktive System wird vereinfacht als System dargestellt, das mit
Hilfe der Eingabegeräte Eingaben vom Benutzer aufnimmt, analysiert
und in Ausgaben umwandelt. Im Ausgabeprozess werden diese zunächst aufbereitet und dann dem Benutzer über die Ausgabegeräte
unter Nutzung unterschiedlicher Modalitäten präsentiert. Die Interaktionstechniken (oder auch Interaktionsmethoden oder Interaktionsformen) werden in der Gestaltung von Benutzungsschnittstellen als
regelhafte Verknüpfungen von Ein- und Ausgaben verstanden, die
wiederholt für bestimmte Nutzungsaufgaben eingesetzt werden
(Herczeg 1994, S. 85), wie beispielsweise Menüs, Formulare etc. Sie
verbinden Eingaben, Funktionen, Inhalte und Ausgaben. Durch die
Protokollierung der Interaktionen können personalisierte Interaktionen und personalisierte Inhalte präsentiert werden (vgl. Jameson
2003).
Bei allgegenwärtigen Computern (Ubiquitous Computing) sind Informationen auf unterschiedlichen interaktiven Systemen mit jeweils
5 Usability und Design
eigenen Benutzungsschnittstellen verteilt (in Abb. 5.2 angedeutet
durch mehrere Systemblöcke hintereinander). In einem interaktiven
Seminarraum beispielsweise werden Informationen auf mehreren
Laptops und interaktiven Präsentationswänden dargeboten (z. B.
Schwabe & Löber 2002). Mehrere Benutzer arbeiten zusammen und
nutzen unterschiedliche Geräte zur Ein- und Ausgabe mit eigenen
Interaktionstechniken.
5.2.2.6
Modalitäten
Ausgaben und Eingaben werden zunehmend über verschiedene Modalitäten vorgenommen.
So finden sich zur Ausgabe die klassischen visuellen Ausgabegeräte
wie Monitore, Displays in verschiedenen Größen, LEDs etc. (Luczak,
Rötting & Oehme 2003). Akustisch werden Sprachausgaben (Karat,
Vergo & Nahamoo 2003) oder Klänge und Geräusche (z. B. Earcons,
vgl. Brewster 2003) vorgenommen. Haptische Ausgaben bei VRSystemen oder bei Computerspielen werden mehr und mehr zum
Standard (vgl. Oakley et al. 2000). Mit Duft-Ausgabegeräten (Kaye
2004) wird nun auch die olfaktorische Modalität zur Informationsausgabe verwendet. An einer Ausgabemöglichkeit über die gustatorische
Modalität wird bereits gearbeitet. Der Food-Simulator von Iwata, Yano, Uemura und Moriya (2004) simuliert die Bissfestigkeit, den Klang
und Geschmack der Nahrung. Die vestibuläre Modalität wird beispielsweise in Fahrzeugsimulatoren angesprochen (Krüger & Neukun
2005).
Die klassischen Eingabegeräte an Bildschirmarbeitsplätzen sind
Tastatur und Maus. Hier wird vor allem die Motorik angesprochen,
wie auch bei berührungsempfindlichen Bildschirmen, Stifteingabe,
Trackball, Twiddler etc. (Ziegler & Burmester 1997). Motorische Eingaben im weiteren Sinne sind auch Blickregistrierung (Augenbewegungen, z. B. Duchowski 2003) oder Erkennung des emotionalen Zustands des Benutzers mit Hilfe des Gesichtsausdrucks (Wahlster
2003). Akustische Eingabe wird mit Spracheingabe verwirklicht, die
bei z. B. kleineren Systemen mit Einzelworterkennung und bei größeren Auskunftssystemen bereits mit natürlicher Sprache funktioniert.
Auch physiologische Daten werden verstärkt verwendet, wie z. B.
durch Messung des galvanischen Hautwiderstandes durch die Emotion Mouse von IBM (Crosby et al. 2001) oder durch Erfassung der
Hirnströme bei Gehirn-Computer-Schnittstellen (Neuper et al. 2003).
Übersichten zu Ein- und Ausgabegeräten finden sich bei Hinckley
(2003), Luczak, Roetting & Oehme (2003) und Iwata (2003, 2005).
5.2 Theoretische Grundlagen
Ausgabe
Eingabe
■
■
■
259
Nutzungskontexte
5.2.2.7
Nutzungskontexte
Um Usability zu erreichen oder zu evaluieren, ist es notwendig, den
jeweiligen Nutzungskontext eines interaktiven Systems zu kennen. Es
wird von mehreren Nutzungskontexten gesprochen, da unterschiedliche Benutzer mit unterschiedlichen Aufgaben verschiedene interaktive Systeme in unterschiedlichen Nutzungsumgebungen verwenden
können.
5.2.3
Information Foraging –
die Suche nach Informationen
Information-Foraging-Theorie
Wurzeln der
Information-Foraging-Theorie
zielorientierte Suche
nach Informationen
5.2.3.1
Suche nach Informationen als zentrale Aufgabe
Um die Exploration und das Finden von Informationen theoretisch
besser erklären zu können, wurde die Information-Foraging-Theorie
entwickelt (Pirolli 2003, S. 157–158).
Erklärt werden Strategien der Benutzer bei der Suche, der Sammlung und dem Verwenden von Informationen in Bezug zu dem Vorkommen der Informationen in der informationsanbietenden Umgebung. Pirolli fasst zusammen: „Information-foraging theory deals with
understanding how user strategies and technologies for information
seeking, gathering, and consumption are adapted to the flux of information in the environment“ (Pirolli 2003, S. 158).
Die Wurzeln dieser Theorie liegen in evolutionären und ökologischen Theorien zur Nahrungssuche (Pirolli & Card 1999). „[…] modern-day information foragers use perceptual and cognitive mechanisms that carry over from the evolution of food-foraging adaptations“
(Pirolli 2003, S. 164).
Wie auch bei der Usability-Definition wird von gegebenen Zielen
ausgegangen. Bei der Information-Foraging-Theorie ist hier die zielorientierte Suche nach Informationen gemeint. Vernachlässigt werden
Nutzungssituationen, bei denen die Benutzer sich erst anregen lassen,
um überhaupt Suchziele zu entwickeln.
5.2.3.2
Elemente der Information-Foraging-Theorie
Die Information-Foraging-Theorie ist eine stark formalisierte Theorie,
die auch mathematisch verfasst wurde. Hier sollen nur die wesentlichen Elemente dargestellt werden, da sie grundlegende Gedanken zur
Gestaltung von interaktiven Systemen enthalten, bei denen Informati-
260
■
■
■
5 Usability und Design
onssuche und -sammlung eine Rolle spielen. Umfassende Beschreibungen der Theorie finden sich bei Pirolli und Card (1999) und Pirolli
(2003).
Information-Scent: Auf der Suche nach Informationen kann der Informationssuchende aufgrund von Informationsspuren „Witterung“
nach von ihm gewünschten Informationen aufnehmen. Hinweise auf
weiterführende Informationen werden als „proximal cues“ bezeichnet.
Dies sind beispielsweise Linkbezeichnungen im Internet, die auf eine
Webseite mit vertiefenden Inhalten verweisen, oder Zusammenfassungen in einer Suchergebnisliste einer Datenbank. Auf der Basis der
Linkbezeichnung muss der Informationssuchende entscheiden, ob die
Informationen auf der dazugehörigen Webseite relevant für den Informationsbedarf sind und welche Kosten beim Aufsuchen der Seite
entstehen. „Information-Scent is the (imperfect) perception of the
value, cost, or access path of information sources obtained from
proximal cues, such as bibliographic citations, WWW links, or icons
representing the sources“ (Pirolli & Card 1999). Die Verständlichkeit
dieser Informationsspuren ist sehr entscheidend. Pirolli (2003, S. 185)
weist darauf hin, dass bei den meisten Aufgaben zur Informationssuche im Internet textuell formulierte Linkbezeichnungen besser sind
als reine grafische Darstellungen. Eine Kombination zwischen beiden
Darstellungsformen kann durchaus vorteilhaft sein. Tamborello und
Byrne (2005) konnten zeigen, dass der Erfolg der visuellen Suche neben der semantischen Qualität von dargestellten Informationen auch
durch die visuelle Hervorhebung beeinflusst wird. Beides zusammen
erleichtert es, Hinweise aufzufinden und zu interpretieren.
Kosten: Pirolli und Card (1999) unterscheiden drei Arten von Kosten für den Informationssuchenden, die beim Zugang zu Informationen, der Verarbeitung und Nutzung auftreten können:
Information-Scent
Kosten
1. Zeitkosten (time cost), d. h. der Zeitbedarf für die jeweilige Aktivität
(z. B. Zeitbedarf beim Navigieren durch eine Website auf der Suche
nach einer bestimmten Information).
2. Ressourcenverbrauch (resource costs), wie Anstrengung, Geld etc.
3. Kosten verpasster Alternativen (opportunity costs), d. h. die Kosten
dafür, dass sich der Informationssuchende nicht für ein Verhalten
entschieden hat, das ihm mehr Vorteile bringt als das derzeitig gewählte. Beispielsweise würde ein Informationssuchender mit einer
anderen Suchmaschine schneller ans Ziel kommen können als mit
der gerade gewählten.
Informationsraum: Der Informationsraum eines Informationssuchenden wird in unterschiedliche Suchgebiete aufgeteilt. Card et al.
(2001) konnten dies für die Suche im Internet in einer Studie zeigen.
5.2 Theoretische Grundlagen
Informationsraum
■
■
■
261
Optimale Informationssuche
Gestaltungsprinzipien
Für den Informationssuchenden ist die zentrale Frage, ob das Informationsangebot eines Suchgebietes (z. B. einer Suchmaschine) so gut
ist, dass sich eine weitere Informationssuche lohnt, oder ob es optimaler ist, in ein anderes Suchgebiet zu wechseln (z. B. zu einer anderen
Suchmaschine oder Informationsportal).
Optimale Informationssuche: Der Informationssuchende versucht
konsequent die Menge nützlicher Informationen für jede Einheit Kosten unter den Randbedingungen der Aufgabenumgebung zu optimieren, d. h., die meisten relevanten Informationen bei den niedrigsten
Kosten zu finden. Bei der Suche nach Informationen muss einbezogen
werden, dass der Informationssuchende manipulativ in die Informationsumgebung eingreifen kann. Der Aufwand, von einem Suchgebiet
in ein anderes zu wechseln, lässt sich so optimieren. Beispielsweise
kann der Aufwand eines Wechsels von einer bestimmten Suchmaschine zu einer alternativen Suchmaschine reduziert werden, indem
eine Linkliste für Suchmaschinen angelegt wird. Die Ausbeute eines
Suchgebiets lässt sich durch Anwendung von Filtern, durch Optimierung der Suchbegriffe oder durch die Verwendung von detaillierter
Suche (advanced search) verbessern (Pirolli & Card 1999).
5.2.3.3
Einfluss auf die Gestaltung
Für die Gestaltung lassen sich aus der Information-Foraging-Theorie
folgende Prinzipien extrahieren:
• Wechsel zwischen Informationsquellen erleichtern (z. B. Suchmaschinengestaltung).
• Information Scent unterstützen (gute Linkbeschreibungen, aussagekräftige Icons, klare Hervorhebungen für Hinweise, die zu den
häufigsten Suchzielen passen).
• Quellenverarbeitung unterstützen (verständliche Texte, gute Medienauswahl).
• Anzahl der Alternativen in Grenzen halten (Information Overload).
• Kosten schätzen können: Aufwand, Zeitbedarf (z. B. bei Downloads: Größe der Datei, Format, Namen, benötigte Software, Wartezeit, Preis).
5.2.4
Persuasive Aspekte
Beeinflussen der Einstellung
und des Verhaltens von Benutzern
262
■
■
■
Wie bereits erläutert, verfolgen Anbieter von Informationen bestimmte Ziele. Sie versuchen Einfluss auf die Benutzer ihres Angebotes zu
nehmen. Sie versuchen Einstellung oder Verhalten der Benutzer zu
5 Usability und Design
ändern; sie versuchen zu überzeugen, persuasiv zu sein. Um mit Informationen überzeugen zu können, ist es nach Fogg (2003a) wichtig,
dass die Informationsquelle als glaubwürdig wahrgenommen wird.
Nur Informationen aus glaubwürdigen Quellen werden zum einen
eher genutzt und sind zum anderen eher geeignet, den Benutzer zu
beeinflussen. Mit dem zweiten Aspekt treten die Anbieter von Informationen mit ihren eigenen Zielen auf den Plan. Chak (2002) beschreibt Glaubwürdigkeit als eine wesentliche Voraussetzung, damit
potenzielle Kunden von Online-Shops zu Transaktionen motiviert
werden.
Ob eine Informationsquelle bzw. die von ihr angebotenen Informationen als glaubwürdig eingeschätzt werden, hängt von dem Beurteiler
ab. Somit definiert Fogg (2003a, S. 122) Glaubwürdigkeit („credibility“) als eine wahrgenommene Qualität. Nach der „Prominence-Interpretation Theory“ (Fogg 2003b) entsteht Glaubwürdigkeit in einem
Prozess: (1) Darstellungselemente einer Informationsquelle müssen
von dem Benutzer entdeckt werden. (2) Anschließend werden die
Darstellungselemente interpretiert. (3) Auf der Basis der Interpretation trifft der Benutzer ein Urteil über die Glaubwürdigkeit des Mediums. Entdeckt der Benutzer beispielsweise einen Link, der nicht funktioniert, dann interpretiert er diese Tatsache möglicherweise als Indiz
dafür, dass die Website nicht sorgfältig gestaltet und gepflegt wurde.
Diese Interpretation kann die Glaubwürdigkeit senken, die der Benutzer der Website zuschreibt.
Wahrgenommene Glaubwürdigkeit resultiert aus wahrgenommener Vertrauenswürdigkeit („trustworthiness“) und wahrgenommener
Expertise („expertise“) (Fogg 2003a, S. 123–125). Vertrauenswürdigkeit wird einem Produkt dann zugeschrieben, wenn die dargebotenen
Informationen als wahr und objektiv beurteilt, d. h. nicht durch Interessen beeinflusst werden: „A computer that is ‚trustworthy‘ is one
that is perceived to be thruthful, fair and unbiased“ (Fogg 2003a,
S. 123). Hohe wahrgenommene Expertise stellt sich dann ein, wenn
Wissen, Fähigkeiten und Erfahrung einer Informationsquelle hoch
eingeschätzt werden. Hinweise auf die Expertise einer Quelle können
beispielsweise wissenschaftliche Anerkennungen wie Wissenschaftspreise sein.
Nun stellt sich die Frage, welche gestalterischen Elemente die
Glaubwürdigkeit einer Informationsquelle in den Augen der Benutzer
unterstützen bzw. verhindern. In Studien zur Glaubwürdigkeit von
Websites (Fogg 2002; 2003a, S. 147 ff.) wurde festgestellt, dass die Vertrauenswürdigkeit als eine Grunddimension der Glaubwürdigkeit
einer Website positiv durch bestimmte Informationen beeinflusst
wird. Dazu gehörten beispielsweise Informationen wie die Angabe der
tatsächlichen Adresse einer Organisation, deren Telefonnummer und
5.2 Theoretische Grundlagen
Prominence-Interpretation Theory
Komponenten wahrgenommer
Glaubwürdigkeit
Gestaltungselemente, die Glaubwürdigkeit fördern oder senken
■
■
■
263
Kontakt-E-Mail-Adresse sowie die Angabe von Referenzen zu Quellen
außerhalb der Website, die als respektabel wahrgenommen wurden.
Vertrauenswürdigkeit wird hingegen herabgesetzt durch z. B. schlechte Unterscheidbarkeit von Werbung und Inhalt sowie Verlinkung auf
als unglaubwürdig beurteilte Quellen. Die wahrgenommene Expertise
als zweite Grunddimension der Glaubwürdigkeit wird z. B. durch
schnelle Beantwortung von Anfragen, die Bestätigung von Transaktionen, die Angabe von Empfehlungen für die angebotenen Artikel
sowie durch eine professionell anmutende Gestaltung positiv verändert. Im Gegenzug verringern z. B. seltene Aktualisierung der Website,
nicht funktionierende Links, Schreibfehler und zeitweise eingeschränkte Zugänglichkeit der Website die wahrgenommene Expertise.
5.2.5
Attraktivität
Zufriedenstellung oder Freude
Emotional Design, Funology
264
■
■
■
Wenn ein Produkt in einem bestimmten Nutzungskontext effektiv
und effizient genutzt werden kann, dann stellt sich beim Benutzer die
Zufriedenstellung ein, so die Norm DIN EN ISO 9241-11 (1998). Zufriedenstellung wird als „Freiheit von Beeinträchtigung und positive
Einstellung gegenüber der Nutzung des Produkts“ definiert (DIN EN
ISO 9241-11 1998, S. 4). Somit steht im Vordergrund, dass die Nutzung eines interaktiven Produkts nicht zu körperlichen und psychischen Beeinträchtigungen führen darf. Tatsächlich ist bei mangelnder
Effektivität und Effizienz dieser Zusammenhang nachgewiesen (siehe
Tab. 5.1). Freiheit von Beeinträchtigung gehört zu den zentralen Zielen der Arbeitswissenschaft. „Arbeitsfreude, die auf einer tiefbegründeten Bejahung der Arbeit durch die Persönlichkeit beruht“ (Friedmann 1953 zitiert nach Ulich 1994, S. 118) spielt in der Arbeitspsychologie als Begriff keine große Rolle mehr (Ulich 1994, S. 118).
In der wissenschaftlichen Human-Computer Interaction Community wird seit gut 10 Jahren die Diskussion um positive Qualitäten der
Produktnutzung mit zunehmender Intensität geführt (Hassenzahl &
Tractinsky 2006). Selbst Donald Norman, der 1988 mit seinem Buch
„Design of Everyday Things“ (quasi das Referenzwerk ergonomischer
Produktgestaltung) die gute Handhabung von Produkten als zentrales
Kriterium gepriesen hatte, schreibt 2004 in seinem Buch „Emotional
Design“ (Norman 2004), dass Usability nicht das einzige Kriterium
guter Produktgestaltung sein kann. Blythe, Overbeeke, Monk und
Wright (2003) brachten mit „Funology“ eine Sammlung wissenschaftlicher Arbeiten zum Spaß und Freude an der Nutzung heraus. Mit
„More Funology“ legten Blythe, Hassenzahl und Wright im Jahre 2004
nach. Bereits 1987 forderten Carroll und Thomas, dass der UsabilityBegriff erweitert werden müsse, welches Carroll 2004 noch einmal
5 Usability und Design
bekräftigte (Carroll & Thomas 1987; Carroll 2004). Logan wies 1994
darauf hin, dass positive Emotionen eine wichtige Rolle bei der Gestaltung von Unterhaltungselektronik spielen. Igbaria, Schiffman und
Wieckowski stellten in einer breit angelegten Studie unter Managern
fest, dass die Akzeptanz technischer Systeme in hohem Maße mit dem
Spaß an der Nutzung zusammenhing: „fun has its greatest value as
a means of accepting the new technology and making individuals
more adaptable and satisfied with quality of the system“ (Igbaria,
Schiffman & Wieckowski 1994, S. 358).
5.2.5.1
Pragmatische und hedonische Qualität
Hassenzahl und Kollegen (Hassenzahl 2003b, 2004; Hassenzahl, Burmester & Koller 2003; Hassenzahl et al. 2000) erforschten die Frage,
was die Attraktivität eines Produkts aus der Sicht der Benutzer ausmacht. Aus diesen Arbeiten wurde ein wissenschaftliches Modell
wahrgenommener Produktqualitäten abgeleitet (Hassenzahl 2003b,
2004).
Die zentrale Aussage ist, dass Usability als eine Qualität der Nutzung nicht ausreicht, damit ein Produkt als attraktiv durch die Benutzer bewertet wird. Hinzu kommen weitere Qualitäten, die vor allem
auf den Grad der Anregung durch das Produkt und den Grad der Identifikation mit dem Produkt abzielen.
Abbildung 5.3 zeigt ein Modell der Wahrnehmung und Bewertung
von Produktqualitäten (nach Burmester & Dufner 2006). Die Grundannahme dieses Modells ist, dass ein Gestalter bestimmte Qualitäten
durch Gestaltungsentscheidungen zu den Eigenschaften eines Produkts erreichen möchte. Er beeinflusst auf unterschiedlichen Gestaltungsebenen die Eigenschaften des Produkts. Der Benutzer nimmt
diese Eigenschaften wahr und bewertet sie. Das Ergebnis der Bewertung hat Konsequenzen auf seine Emotionen und sein Verhalten. Im
Folgenden werden die zentralen Komponenten des Modells und deren
Zusammenwirken erläutert (vgl. Hassenzahl 2003b, 2004):
Wahrgenommene Produktqualitäten
Usability und Attraktivität
Modell der Wahrnehmung
und Bewertung von Produktqualitäten
1. Wahrgenommene pragmatische Qualität (PQ)
Benutzer wollen ihr Umfeld unter der Prämisse bestimmter Ziele
manipulieren. Um dies tun zu können, müssen bestimmte Funktionen und Inhalte vorhanden sein, sie müssen in effektiver und effizienter Form genutzt werden können. Somit entspricht die wahrgenommene pragmatische Qualität der wahrgenommenen Usability
eines Produkts.
2. Wahrgenommene hedonische Qualität (HQ)
Unterschieden wird die wahrgenommene hedonische Qualität in
5.2 Theoretische Grundlagen
■
■
■
265
drei Subdimensionen. Diese sind Stimulation, Identität und Evokation (bzw. Symbolismus):
a. Wahrgenommene hedonische Qualität – Stimulation (HQ-S):
Dieser Qualität liegt das Bestreben von Menschen zugrunde, in
ihrem Wissen und ihrer Persönlichkeit zu wachsen und besser
zu werden. Das darunter liegende Motiv ist Neugier. Bei einem
Produkt können dies interessante Funktionen sein, durch die eine Aufgabe anders gelöst werden kann, neue Aspekte der Aufgabe entdeckt oder gänzlich neue Aktivitäten ausgeführt werden
können. Neuartige Interaktionsformen oder ungewöhnliches
Design können Benutzer anregen, sich jenseits ihrer Aufgabenbearbeitung mit dem Produkt zu beschäftigen.
b. Wahrgenommene hedonische Qualität – Identität (HQ-I): Das
Produkt kann die Persönlichkeit des Benutzers nach außen unterstreichen und komplettieren. Der Benutzer drückt durch das
Produkt aus, dass er zu einer bestimmten Gruppe von Menschen
gehört (z. B. die i-pod-User). Oder der Benutzer zeichnet sich als
besonders klug und vernünftig aus, da er sich durch ein intelligentes Beratungssystem (recommender system) bei einem Online-Shop immer die neuesten technischen Entwicklungen und die
günstigsten Preise anzeigen lässt.
c. Wahrgenommene hedonische Qualität – Evokation/Symbolismus (HQ-E): Das Produkt kann positive Erinnerungen des Benutzers anregen, indem das Produkt wie ein Symbol für eine bestimmte Erfahrung des Benutzers steht. Eine Branche, die im
Wesentlichen von dieser Qualität lebt, ist die Souvenirbranche.
3. Attraktivität (ATT)
Basierend auf den wahrgenommenen Qualitäten bilden sich die
Benutzer ein Gesamturteil über das Produkt. Sie bewerten es, d. h.
das Produkt ist „gut“ oder „schlecht“ bzw. „schön“ oder „hässlich“.
Dieses Gesamturteil wird als „Attraktivität“ bezeichnet.
4. Konsequenzen
Die Einschätzung der Attraktivität eines Produkts hat Konsequenzen. Zunächst wirkt sich diese Einschätzung auf das Verhalten aus.
Wenn beispielsweise die Attraktivität gering ist, dann wird die Nutzungsfrequenz niedrig sein. Es gibt aber auch emotionale Konsequenzen. Bei einer hohen Attraktivität empfindet der Benutzer
Freude und vielleicht sogar Stolz, dass er das Produkt besitzt und
nutzt.
Prozess der Wahrnehmung
und Bewertung von Produktqualitäten
266
■
■
■
Das Modell in Abb. 5.3 sagt nun folgendes aus. Ein Gestaltungsteam
setzt sich selbst Ziele und legt fest, welche Qualitäten in welcher Form
adressiert werden sollen. Die Kombination der verschiedenen Gestal-
5 Usability und Design
Abb. 5.3:
Modell der Attraktivität
(nach Burmester & Dufner 2006,
Erläuterung im Text)
tungsziele ergibt einen intendierten Produktcharakter (Hassenzahl
2003b, Jordan 2000). Die Gestalter können ihre Gestaltungsziele auf
vier verschiedenen Ebenen in ein Artefakt umsetzen. Dies ist zunächst
die Auswahl der benötigten Funktionen und der Inhalte. Dann kommt
die Präsentation der Informationen hinzu. Hier kann typischerweise
an den Farbpaletten, der Formensprache, dem Layout, der Typografie
etc. gearbeitet werden. Schließlich können die Interaktionsformen
gestaltet werden. Dazu gehören Interaktionstechniken wie Menüs,
Formulardialoge, Schaltflächen etc. Die Gestaltungsentscheidungen
werden mit Hilfe eines Prototyps oder in Form des Produkts für den
Benutzer erfahrbar gemacht. Durch diese Nutzungserfahrung nimmt
der Benutzer einen bestimmten Grad der verschiedenen Qualitäten
wahr. Die Ausprägung der wahrgenommenen Qualitäten kann sich
von der Ausprägung der Qualitäten unterscheiden, die vom Gestaltungsteam intendiert wurden. Beispielsweise könnte das Gestaltungsteam ein Produkt beabsichtigt haben, das einfach zu erlernen ist. Tatsächlich aber bereitet die Nutzung des Produkts in der Wahrnehmung
der Benutzer erhebliche Schwierigkeiten. Dieser Zusammenhang gilt
selbstverständlich auch für hedonische Qualitäten, denn auch dort
können die intendierten Qualitäten im Umgang mit dem Produkt
ganz anders wahrgenommen werden (Burmester, Hassenzahl & Koller
2003). Auf der Basis der wahrgenommenen Qualitäten eines Produkts
bildet der Benutzer das Attraktivitätsurteil, welches sich dann auf sein
Verhalten und auf seine Emotionalität auswirkt.
Wesentlich ist, dass Gestaltungsprozesse die Unterschiede zwischen
intendierten und wahrgenommenen Qualitäten berücksichtigen. Der
im Folgenden dargestellte benutzerzentrierte Gestaltungsprozess adressiert genau diese Problematik, indem Gestaltungsentscheidungen
durch Evaluationsmaßnahmen immer wieder überprüft werden.
Nach dem oben dargestellten Modell wurde ein Evaluationsinstrument entwickelt (Hassenzahl, Burmester & Koller 2003), mit dem die
wahrgenommene pragmatische Qualität, die hedonischen Qualitäten
Stimulation und Identität sowie die Attraktivität gemessen werden
5.2 Theoretische Grundlagen
Instrument zur Messung
von Attraktivität interaktiver Systeme
■
■
■
267
kann. Es handelt sich dabei um ein semantisches Differential von Eigenschaftswortpaaren, wie z. B. „kompliziert“ – „einfach“ für pragmatische Qualität oder „konservativ“ – „innovativ“ für hedonische Qualität Stimulation. Dieses kann im Rahmen der Evaluation (vgl. Kap. 5.3.5
Evaluation – Prüfung und Inspiration) von Produkten eingesetzt werden (AttrakDiff 2005, Burmester, Hassenzahl & Koller, 2007).
5.3
Design
5.3.1
User Centred Design
Usability-Engineering
Benutzerzentrierte Gestaltung
Eigenschaften
benutzerzentrierter Gestaltung
In den vorausgegangenen Abschnitten wurde erläutert, was Usability
ist, welche Bedeutung sie hat, welche benachbarten Themengebiete es
gibt und welche theoretischen Grundlagen zur Verfügung stehen. Die
entscheidende Frage ist nun, wie Usability als Qualität der Nutzung
erreicht werden kann.
Die Disziplin, die sich dem Ziel verschrieben hat, Usability bei der
Gestaltung von Benutzungsschnittstellen zu erreichen, ist das Usability-Engineering. „Engineering“ verweist darauf, dass sich diese Disziplin als ein ingenieurwissenschaftlicher Ansatz versteht. Somit wird
eine Systematik und Methodik bei der Gestaltungstätigkeit gefordert.
Deborah J. Mayhew definiert Usability-Engineering als „a discipline
that provides structured methods for achieving usability in user interface design during product development“ (1999, S. 2).
Das zentrale Vorgehen im Usability-Engineering wird als benutzerzentrierte Gestaltung oder „User Centred Design“ (UCD) bezeichnet.
Darunter wird ein fundierter, praktikabler und bewährter Gestaltungsprozess für Benutzungsschnittstellen interaktiver Produkte verstanden (vgl. Burmester & Görner 2003, S. 47). Über die Eckpunkte des
Gestaltungsprozesses und des methodischen Vorgehens herrscht in
Forschung und Praxis international eine weitgehende Einigkeit (z. B.
Beyer & Holtzblatt 1998; Burmester & Görner 2003; Gould & Lewis
1985; Hix & Hartson 1993; Mayhew 1999; Nielsen 1993; Rosson & Carroll 2002). Zudem ist die benutzerzentrierte Gestaltung als internationale Norm ISO 13407 (1999) festgeschrieben worden: Diese Norm ist
als DIN EN ISO 13407 (2000) in die deutsche Normung eingegangen.
Benutzerzentrierte Gestaltung weist folgende Eigenschaften auf:
1. Benutzer im Zentrum
Benutzer werden mit ihren Bedürfnissen, Interessen, Zielen und Aufgaben in ihren sozialen, organisatorischen, physischen und techni-
268
■
■
■
5 Usability und Design
schen Umgebungen als Maßstab für Gestaltungsentscheidungen gesehen und in den Gestaltungsprozess einbezogen. Somit wird der gesamte Nutzungskontext berücksichtigt. Maßstab ist der Benutzer.
2. Interdisziplinäre Zusammenarbeit
Gestaltungsarbeit kann nur in einem Team unterschiedlicher, am
Gestaltungsprozess beteiligter Disziplinen gesehen werden (DIN EN
ISO 13407 2000). Teams setzen sich zusammen aus Produktmanagern, Produktanalytikern, Designexperten, Usability-EngineeringFachleuten, Systemarchitekten, Softwareentwicklern, Marketing
und Verkaufspersonal, Fachexperten etc. Die Zusammensetzung eines Gestaltungsteams hängt stark von dem jeweiligen Produkt ab. So
werden bei einer Lernsoftware beispielsweise auch Pädagogen und
Didaktiker mit dabei sein. Die Benutzer werden systematisch konsultiert und sind so phasenweise ebenfalls Mitglieder des Teams.
3. Gestaltung als Prozess
Der benutzerzentrierte Gestaltungsprozess besteht aus unterschiedlichen Phasen (in Abb. 5.4 durch Rechtecke mit abgerundeten
Ecken dargestellt). Nachdem die Gültigkeit des benutzerzentrierten
Gestaltungsprozesses festgestellt wurde, muss in der ersten Phase
der Nutzungskontext analysiert werden. Ist dieser verstanden, werden Anforderungen aus dem Nutzungskontext abgeleitet und Usability-Ziele aufgestellt. Usability-Ziele geben an, welche Ausprägung
an Usability im Rahmen der Gestaltung erreicht werden soll. Beispielsweise könnte das Ziel sein, dass sich 95% aller Benutzer spontan ihr erstes Musikstück fehlerfrei von einem Musikportal herunterladen können. Die Informationen aus dem Nutzungskontext und
die Anforderungen leiten dann in der zweiten Phase die Entwurfsarbeit der Benutzungsschnittstelle ein. Die Gestaltungsideen müssen im interdisziplinären Team und gegenüber den Benutzern
Abb. 5.4:
Benutzerzentrierter Gestaltungsprozess
(Erläuterung im Text)
5.3 Design
■
■
■
269
kommunizierbar und erfahrbar gemacht werden. Spezifikationen
und Dokumentationen bieten oft nicht die notwendige Anschaulichkeit und führen zu Missverständnissen. Daher werden Gestaltungsideen in der dritten Phase in Prototypen umgesetzt. Ein Ziel
der Erfahrbarmachung von Gestaltungsideen ist deren Bewertung
bzw. deren Evaluation in der vierten Phase.
4. Methodische Unterstützung
Die in jeder Phase stattfindenden Aktivitäten, wie Analysieren, Gestalten, Prototyping und Evaluieren, werden durch fundierte Methoden unterstützt (vgl. auch Norm zu Methoden im benutzerzentrierten Gestaltungsprozess ISO/TR 16982 2002). So kann beispielsweise
in der Nutzungskontextanalyse eine spezielle Form des Interviews
angewandt werden: das Contextual Inquiry (Beyer & Holtzblatt
1998). Diese Interviewform koppelt in Feldstudien die Beobachtung
mit der Befragung von Benutzern im „Kontext“ ihres Arbeitsplatzes, ihrer realen Aufgabenbearbeitung und ihrer tatsächlichen organisatorischen und sozialen Bezüge am Arbeitsplatz. Für die Phase
des Prototypings und der Evaluation kann beispielsweise die Methode des „Paperprototypings“ von Carolyn Snyder (2003) genutzt
werden. Die Methoden zeichnen sich durch eine Beschreibung der
Arbeitsschritte und Durchführungsregeln sowie eine wissenschaftliche Fundierung oder zumindest praktische Bewährung aus. Die
Aktivitäten einer Phase resultieren in verschiedene Formen der Ergebnisrepräsentation. In Abb. 5.4 werden die Arbeitsergebnisse jeder Aktivität als Quadrate mit jeweils beispielhaften Arbeitsergebnissen dargestellt. Dies können je nach Phase und eingesetzter
Methode unterschiedliche Formen von Artefakten sein, z. B. Anforderungsliste, Liste der Usability-Ziele, Nutzungsszenarien, Papierprototypen, Evaluationsbericht als Ergebnis eines Usability-Tests.
5. Iterative Gestaltung
Bevor der Gestaltungsprozess beginnen kann, steht die Entscheidung
für oder gegen einen benutzerzentrierten Gestaltungsprozess an (vgl.
Raute „Benutzerzentrierte Gestaltung?“ in Abb. 5.4). Bei Produkten,
die einen hohen Anteil von Benutzerinteraktionen aufweisen, ist ein
benutzerzentrierter Gestaltungsprozess zu empfehlen. Der grundlegende Gedanke der benutzerzentrierten Gestaltung ist, dass Gestaltungsideen überprüft bzw. evaluiert werden. Denn trotz der vielen
Informationen aus der Nutzungskontextanalyse können Gestaltungsentscheidungen getroffen werden, die mit dem Nutzungskontext nicht kompatibel sind (z. B. aufgrund von Fehlinterpretation der
Daten oder unzureichender Umsetzung der Erkenntnisse aus dem
Nutzungskontext in Entwürfe). Evaluation hat die Aufgabe, dies zu
ermitteln. In der Evaluationsphase werden als formative Evaluation
270
■
■
■
5 Usability und Design
Anhaltspunkte gesammelt, um Usability-Probleme zu verstehen und
schließlich das Design zu verbessern. Zudem wird das Erreichen der
Usability-Ziele überprüft. Auf der Basis der Evaluationsergebnisse
muss dann die Entscheidung getroffen werden, ob es eine weitere Iteration gibt (Raute „Weitere Interation?“ in Abb. 5.4). Die vier Phasen
der benutzerzentrierten Gestaltung werden so lange wiederholt, bis
die Usability-Ziele erreicht werden. Sind diese erreicht, werden die
Ergebnisse des Gestaltungsprozesses als Benutzungsschnittstellenspezifikation und Style-Guide dokumentiert.
5.3.2
Nutzungskontextanalyse
5.3.2.1
Die Analyse des Nutzungskontextes
Die Nutzungskontextanalyse ist der Ausgangspunkt für die Arbeiten im
benutzerzentrierten Gestaltungsprozess. Wie die Usability-Definition
besagt, ist es nicht möglich, Aussagen über die Usability zu treffen, wenn
der Nutzungskontext nicht bekannt ist. Auch wenn kein vollständiger
benutzerzentrierter Prozess durchlaufen wird (z. B. nur Evaluation), ist
es notwendig zu wissen, welche Eigenschaften die Benutzer haben, welche Ziele und Aufgaben sie verfolgen und schließlich in welcher organisatorischen und sozialen sowie technischen und physischen Umgebung
das Produkt genutzt wird. Nur durch die Kenntnis dieser Informationen
kann beispielsweise ein sinnvoller Usability-Test geplant werden (vgl.
Kap. 5.3.5). Denn nur so ist bekannt, welche Testteilnehmer eingeladen
werden sollen, welche Testaufgaben sie machen sollen und wie die Testumgebung und das zu testende Produkt eingerichtet werden soll.
Die Nutzungskontextanalyse trägt der Tatsache Rechnung, dass die
Nutzungskontexte, für die Produkte entwickelt werden sollen, sehr
unterschiedlich sind. Die zu erhebenden und zu analysierenden Eigenschaften des jeweiligen Nutzungskontexts sind spezifisch für das
jeweilige Produkt. Angelehnt an die Norm DIN EN ISO 9241 Teil 11
(1998) und an die Arbeiten von Beu (2003), Shneiderman und Plaisant
(2004) sowie Thomas und Bevan (1996), beschreibt Tabelle 5.2 Eigenschaften, die bei der Analyse des Nutzungskontextes von Bedeutung
sind. Bei der Analyse der Aufgaben muss darauf geachtet werden, dass
diese pro Benutzergruppe bzw. Benutzerrolle beschrieben werden
müssen. Zudem ist wichtig, dass sich Nutzungskontexte von Kultur zu
Kultur unterscheiden (Honold 2000) und daher auch kulturspezifisch
analysiert werden müssen.
In der Phase der Nutzungskontextanalyse ist es gemäß der DIN EN
ISO 14915 (2002) auch angemessen, die Ziele des Anbieters zu be-
5.3 Design
Nutzungskontextanalyse
als Ausgangspunkt für die Arbeiten im
benutzerzentrierten Gestaltungsprozess
Zu erhebende und zu analysierende
Eigenschaften des Nutzungskontexts
■
■
■
271
Tabelle 5.2:
Ausgewählte Eigenschaften
des Nutzungskontextes
Produkt
Benutzergruppen
Fähigkeiten, Vorerfahrungen, Wissen
demografische Daten wie Alter, Geschlecht,
körperliche Einschränkungen und spezielle
Anforderungen
mentale Eigenschaften, wie Motivation, Einstellung zum Produkt, zur Aufgabe, zur Informationstechnologie, Lernstile
Stellenbeschreibung, z. B. Position, Verantwortung, Arbeitszeiten
Aufgaben
Aufgabenziel
Einbettung der Aufgabe in einen Arbeitsablauf
bzw. Workflow
Wahlfreiheit
Beschreibung der Vorgaben und des Aufgabenergebnisses
Häufigkeit
Bearbeitungsdauer
physische und mentale Anforderungen
Sicherheit
Organisatorisches
Umfeld
Struktur: Gruppenarbeit, Unterbrechungen,
Benutzerunterstützung, Management, Kommunikationsstruktur
Organisationskultur
Leistungsüberprüfung
weitere Medien und Arbeitsmittel
Technisches Umfeld
Hardware (z. B. Peripheriegeräte)
Software (z. B. Betriebssystem)
Handbücher, Anleitungen etc.
Name, Version
Beschreibung, Zweck
Anwendungsfelder
Funktionen
Hardware mit Ein- und Ausgabegeräten
Physikalisches Umfeld Arbeitsplatzumgebung (z. B. Lichteinstrahlung,
Temperatur, Lärm)
Arbeitsplatzausstattung (z. B. Nutzungshaltung
im Stehen oder Sitzen)
Gesundheit und Sicherheit
272
■
■
■
5 Usability und Design
schreiben. Wenn neben Usability auch hedonische Qualitäten bei der
Produktgestaltung verwirklicht werden sollen, so müssen entsprechende Anforderungen auch in dieser Phase mit erhoben werden.
5.3.2.2
Datenerhebung und Dokumentation
Bei der Nutzungskontextanalyse muss unterschieden werden, ob ein
neues Produkt entwickelt oder ein bereits bestehendes erneuert werden soll. Wird ein bestehendes Produkt überarbeitet, kann in der Nutzungskontextanalyse auf vorhandenes Wissen aus vorherigen Nutzungskontextanalysen oder auf Ergebnisse bereits durchgeführter
Evaluationsstudien der Vorgängerversion zurückgegriffen werden. Bei
neuen Entwicklungen oder bei Entwicklungen, die bestehende Produkte komplett ersetzen sollen, muss der Nutzungskontext vollständig
untersucht werden.
Die Nutzungskontextanalyse ist in der Regel durch zwei aufeinanderfolgende Aktivitäten gekennzeichnet. Zunächst werden Daten zum
Nutzungskontext erhoben. Die Datenerhebung kann sich auf bestehende Dokumente stützen oder in empirischer Form ausgeführt werden. Anschließend werden die erhobenen Daten analysiert und dokumentiert.
Werden Dokumente als Grundlage verwendet, so werden typischerweise Dokumente verwendet wie z. B. Marktforschungsberichte, wissenschaftliche Literatur, Konkurrenzanalysen, Beschreibungen vergleichbarer Produkte, Dokumentationen von Vorgängerversionen,
Arbeitsplatzbeschreibungen, Beschreibungen technischer und ökonomischer Randbedingungen, White Papers sowie Expertenevaluationen,
Usability-Test-Berichte oder Hotline-Reports von Vorgängerversionen. Je nachdem wie weit der Informationsbedarf zum Nutzungskontext mit den Dokumenten gedeckt werden kann und wie gut die Inhalte
der Dokumente abgesichert sind, werden empirische Untersuchungen
des Nutzungskontextes vorgenommen. Während Informationen zu
Zielgruppenstruktur und Zielgruppeneigenschaften sowie technische
und formale organisatorische Randbedingungen oft gut dokumentiert
sind, fehlen meist Informationen über die Anforderungen der Benutzer, deren tatsächliche Arbeitsweisen sowie deren Einbettung in die
informelle Organisation. Auch die konkreten Nutzungsumgebungsbedingungen sind oft erst durch Feldstudien genau zu eruieren. Um die
Dokumentenanalyse zu vervollständigen, sind empirische Untersuchungen notwendig.
Tabelle 5.3 zeigt typische Methoden der Datenerhebung im Nutzungskontext. Im Anschluss an die Erhebung müssen die Daten analysiert werden. Dazu stehen ebenfalls verschiedene Methoden zur
5.3 Design
Nutzungskontextanalyse
für neue oder bestehende Produkte
Datenerhebung und -analyse
Nutzungskontextanalyse
auf der Basis bestehender Dokumente
Methoden der Datenerhebung
■
■
■
273
Verfügung. So werden im Rahmen des Contextual Design von Hugh
Beyer und Karen Holtzblatt (1998) verschiedene Modelle zu wichtigen
Aspekten des Nutzungskontextes erstellt. Dazu gehören das Modell
der Arbeitsorganisation und des Workflows (Flow Model), Arbeitsabläufe (Sequence Model), Beschreibungen der Gegenstände, mit denen
Benutzer umgehen (Artifact Model), das Modell der Unternehmensorganisation und -kultur (Cultural Model) und eine Darstellung der
Arbeitsumgebung, in der der Benutzer arbeitet (Physical Model).
Tabelle 5.3:
Beispiele für Datenerhebungsund Datenanalysemethoden
Methode
Beschreibung
Datenerhebung
Kontextsitzung
Sitzung mit repräsentativen Benutzern oder Benutzervertretern, Produktmanagern, Entwicklern und UsabilityExperten (Thomas & Bevan 1996).
Kontextinterview
Contextual Inquiry (Beyer & Holtzblatt 1998, Erläuterung
im Text; ethnografische Verfahren z. B. bei Kantner et al.
2003).
Fokusgruppe
Gruppenbefragung, in der die Teilnehmer nach Eigenschaften des Nutzungskontextes und persönlichen Bedürfnissen und Meinungen zum Produkt befragt werden
(z. B. Krueger & Casey 2000; Hassenzahl 2003a).
Datenanalyse und -dokumentation
274
■
■
■
Aufgabenanalyse
Aufgaben werden in Unteraufgaben zerlegt und mit
verschiedenen Beschreibungsformalismen dargestellt,
z. B. mit Hilfe der HTA, der Hierarchical Task Analysis
(z. B. Kirwan & Ainsworth 1992; Hackos & Redish 1998).
Contextual Design
Analysemodelle von Beyer & Holtzblatt (1998), Beschreibung im Text
Problem Scenario
Sehr anschauliche und gut kommunizierbare Form der
Ergebnisdokumentation einer Nutzungskontextanalyse.
Im Rahmen des Scenario Based Design (Rosson & Carrol
2002) wird der Nutzungskontext als narrative Beschreibung der derzeitigen Situation des Nutzungskontextes
dokumentiert.
Benutzerprofile
Beschreibung der Benutzereigenschaften als einfache
Liste oder als konkrete „Persona“ (Cooper 1999)
Anforderungen
Die Anforderungen an ein System, die aus dem Nutzungskontext abgeleitet werden, werden mehr oder
weniger formell erfasst (Sutcliffe 2002).
Kontext-Checklist
Berichtsvorlage für Nutzungskontextanalysen von Thomas und Bevan (1996)
5 Usability und Design
5.3.2.3
Definition von Usability-Zielen
Auf der Basis der Ergebnisse der Nutzungskontextanalyse werden
Usability-Ziele formuliert (DIN EN ISO 13407 2000; Mayhew 1999).
Ein typisches Usability-Ziel der Effizienz wäre beispielsweise, dass
Benutzer die Bestellung in dem zu testenden Online-Shop in höchstens zwei Minuten abschließen können. Bei der Formulierung von
Zielen spielen häufig auch andere Aspekte der Benutzererfahrung eine
wichtige Rolle. So lassen sich Beeinflussungsziele für persuasive Systeme oder Ziele hinsichtlich hedonischer Qualitäten formulieren.
Die Formulierung von Zielen hat den Vorteil, dass bei der Evaluation der Gestaltung überprüft werden kann, ob die Ziele erreicht werden. Das Ergebnis dieser Überprüfung bildet die Grundlage für die
Entscheidung, ob eine weitere Iteration durchlaufen werden muss.
Sobald die Usability-Ziele erreicht sind, wird keine weitere Iteration
benötigt.
Das Definieren eines harten Kriteriums macht aus der Logik eines
iterativen Prozesses durchaus Sinn, da so eine klare Entscheidung
über das Fortsetzen der Iterationen getroffen werden kann. Die praktische Handhabung von Usability-Zielen ist aus folgenden Gründen
meist nicht so einfach (vgl. auch Burmester & Görner 2003):
Usability-Ziele formulieren
Usability-Ziele
als Entscheidungsgrundlage
Schwierigkeiten der Definition
„harter“ Usability-Ziele
• Oftmals liegen keine Vergleichsdaten vor und die Festsetzung von
Kriterien ist allzu willkürlich. Einfacher ist es, wenn aktuelle Produkte mit Vorgängerversionen verglichen werden.
• Der Nutzungskontext ist meist komplex und es ist nicht möglich,
diesen von Beginn des Projektes vollständig zu erfassen und zu dokumentieren. Somit passiert es, dass sich im Prozess aufgrund neuer Erkenntnisse Ziele ändern können oder neue hinzukommen.
• Iterationen werden häufig nicht durch das Erreichen von Zielkriterien beendet, sondern durch Zeit- und Budgetgrenzen im Projekt.
Allerdings sind oft der Erkenntnisgewinn und damit der Qualitätssprung in der Gestaltung nach der ersten Evaluation am größten.
• Es ist fraglich, ob das knappe Verfehlen eines Usability-Ziels notwendigerweise zu einer neuen Iteration führen muss.
Die Entscheidung über eine weitere Iteration wird in der Praxis
häufig durch die gesamten zur Verfügung stehenden Informationen
und Randbedingungen beeinflusst. Wurde das Usability-Ziel wirklich
deutlich verfehlt? Lässt sich im bestehenden Zeit- und Kostenrahmen
noch eine weitere Iteration rechtfertigen? Solche Fragen gilt es bei der
Entscheidung über eine weitere Iteration im interdisziplinären Team
zu klären.
5.3 Design
Entscheidungsgrundlagen
über Iterationen in der Praxis
■
■
■
275
5.3.3
Entwurf und Gestaltung
Informationen der
Nutzungskontextanalyse
in Gestaltung überführen
Scenario-Based Design
276
■
■
■
5.3.3.1
„Bridging the gap“
Nach der Nutzungskontextanalyse liegen viele Informationen vor, die
in eine Gestaltung werden einfließen sollen. In seinem Buch „Bridging
the gap“ schreibt Larry E. Wood (1998, S. 3): „[…] while there are
some excellent sources of information on user interface design, none
contains specific descriptions of how a designer transforms the information gathered about users and their work into an effective user
interface design.“ Der Übergang von den Informationen aus dem
Nutzungskontext zum Entwurf und der Gestaltung ist schwierig. Der
Schritt wird umso schwieriger, je mehr Freiheitsgrade die Gestaltung
hat. Bei grafischen Benutzungsschnittstellen (graphical user interface,
GUI) werden durch die technischen Plattformen, die standardisierten
Dialogbausteine und die gültigen Style-Guides die möglichen Varianten der Gestaltung beschränkt. Versuche, den Entwurfs- und Gestaltungsprozess hochgradig zu strukturieren oder gar zu automatisieren
(z. B. Weisbecker 1995), haben nicht den gewünschten Erfolg erbracht.
Vielmehr muss anerkannt werden, dass der Entwurfsprozess eher
einen Diskurs im Gestaltungsteam erfordert als frühzeitige Festlegungen auf der Basis von Formalisierungen (Rosson & Carroll 2002).
5.3.3.2
Design
Um den Übergang methodisch zu unterfüttern und zu erleichtern,
wurden verschiedene Entwurfsverfahren entwickelt, wie z. B. der objektorientierte Entwurf grafischer Benutzungsschnittstellen (Janssen &
Ziegler 1996) bzw. OVID (Robert et al. 1998).
Kurz vorgestellt werden soll Scenario-Based Design von Rosson
und Carroll (2002), eine der am häufigsten verwendeten UsabilityEngineering-Methoden (Hudson 2000, zitiert nach Vredenburg, Mao,
Smith & Carey 2002). Dieser Ansatz widmet sich nicht der formalen
Analyse von Aufgaben oder der formalen Darstellung von Interaktionen, sondern „unlike approaches that consider human behavior
and experience through formal analysis and modeling of wellspecified tasks, scenario-based design is a relatively lightweight
method for envisioning future use possibilities“ (Rosson & Carroll
2003, S. 1033). Dieses Verfahren soll die Kreativität während der Entwurfsphase durch Förderung der Reflexion über die jeweiligen Gestaltungsideen unterstützen. Die Basis dieses Ansatzes ist das Kreieren
von Nutzungsgeschichten. Sie enthalten die relevanten Aspekte des
5 Usability und Design
Nutzungskontextes (beteiligte Personen, Aufgaben, soziale Umgebung
etc.) als Abfolge von Handlungen und Ereignissen, die zu einem Ergebnis führen.
Im Rahmen von Scenario-Based Design wird die Analysephase mit
einem sogenannten Problemszenario abgeschlossen. Dabei handelt es
sich um eine narrative Darstellung der derzeitigen Situation, d. h. so
wie die Nutzung ohne das neu zu entwickelnde Produkt aussieht (Rosson & Carroll 2002, S. 64 f.). Die eigentliche Entwurfs- und Gestaltungsphase baut darauf auf und verläuft in drei Arbeitsschritten. Im
ersten Schritt wird entwickelt, wie ein zu gestaltendes Produkt die
Tätigkeiten von Benutzern optimal unterstützen kann. Dabei werden
Szenarien als narrative Beschreibungen entworfen, die zeigen, welche
Funktionen den Benutzer unterstützen. Es wird entschieden, welche
Aspekte einer Aufgabe automatisiert werden und welche Aspekte
unter Kontrolle des Benutzers stehen sollen. Zudem werden Metaphern für die Tätigkeiten gesucht, um diese dann in der Benutzungsschnittstelle umzusetzen. Dieser Arbeitsschritt wird als „Activity Design“ (Rosson & Carroll 2002, S. 79 f.) bezeichnet. In einem zweiten
Schritt werden entlang der „Activity Scenarios“ die zentralen Informationsdarstellungen im Aufgabenfluss gestaltet. Dieser Gestaltungsschritt wird als „Information Design“ (Rosson & Carroll 2002,
S. 109 f.) bezeichnet. Hier wird an der Informationsarchitektur gearbeitet, so dass die unterschiedlichen Informationen, die für die Aufgabe benötigt werden, vorhanden sind und in einer angemessenen
Struktur präsentiert werden. Zudem wird die Grobnavigation zwischen Informationsbereichen entwickelt (vgl. auch Rosenfeld & Morville 2002). Der dritte und letzte Schritt ist das „Interaction Design“
(Rosson & Carroll 2002, S. 159 f.). Hier werden die notwendigen Interaktionen entworfen. Dialogelemente werden im Hinblick auf ihre
grafische Gestaltung und ihr Interaktionsverhalten bis ins Detail ausgearbeitet und spezifiziert.
Die Szenarien werden zunächst textuell und dann beim Information
Design und Interaction Design zusätzlich grafisch ausgearbeitet. Szenarien bieten eine Reihe von Vorteilen (nach Rosson & Carroll 2003):
Typen von Szenarien
Vorteile von Szenarien
• Die Szenarien sind hoch konkret und dennoch grob. Beide Fakto-
ren fördern Reflexion und Diskussion im Gestaltungsteam, was eine vorschnelle Fokussierung auf eine Lösung verhindert.
• Die Szenarien fokussieren klar auf Benutzerziele und Benutzeraufgaben, was beim Erreichen von Usability von entscheidender Bedeutung ist.
• Sie können schnell verworfen und geändert werden. Dahinter steht
die Erkenntnis, dass Gestaltungsideen mehrfach revidiert werden
müssen, bevor ein tragbarer Entwurf entsteht.
5.3 Design
■
■
■
277
• Gestaltungsideen in Form von Szenarien lassen sich außerordent-
lich gut kommunizieren, was schnelles Verständnis der Gestaltungsideen im Team fördert.
Formen des Gestaltungswissens
Angaben zu Gestaltungswissen
5.3.3.3
Gestaltungswissen
In der benutzerzentrierten Gestaltung werden die jeweiligen Eigenheiten des Nutzungskontextes in den Vordergrund gestellt. Ergänzend zu
dieser Betrachtungsweise stehen wissenschaftlich gesicherte oder in
der Praxis bewährte Erkenntnisse zur Gestaltung von Informationen
und Interaktionen zur Verfügung. Dieses Wissen liegt in Form wissenschaftlicher Arbeiten und in Form von Prinzipien, Regeln, Normen, Standards und Interaction Patterns (Entwurfsmuster von bewährten Gestaltungslösungen) für die Gestaltung vor.
Gestalter können auf dieses Wissen zurückgreifen. Allerdings muss
sich jede Regel und jedes Prinzip im Zyklus der Gestaltung beweisen.
Regeln und Prinzipien müssen auch gebrochen und verändert werden
können, wenn sich diese in der Evaluation nicht als anwendbar oder
vorteilhaft erweisen für die Benutzer, deren Aufgaben oder die Nutzungsumgebungen (Burmester & Machate 2003).
Im Folgenden werden ausgewählte Angaben zu Gestaltungswissen
für verschiedene Gestaltungsthemen gemacht:
• Dialoge für grafische Benutzungsschnittstellen
− DIN EN ISO 9241 Teil 12 bis 17 (1996–1998) enthält ca. 500 Gestaltungsregeln
− DIN EN ISO 9241 Teil 10 (1996) bzw. die überarbeitete Version
DIN EN ISO 9241-110 (2006) beschreiben die sieben zentralen Dialogprinzipien (Aufgabenangemessenheit, Selbstbeschreibungsfähigkeit, Erwartungskonformität, Lernförderlichkeit, Steuerbarkeit, Fehlertoleranz, Individualisierbarkeit)
− Görner, Beu & Koller (1999) geben eine Hilfestellung zur konkreten Umsetzung der DIN EN ISO 9241 Teil 10, 12 bis 17 (1996–
1998) in grafische Benutzungsschnittstellen
− Industriestandards wie Microsoft Windows XP – Guidelines for
Applications (2003)
− Entwurfsmuster bzw. Interaction Patterns für grafische Benutzungsschnittstellen: van Welje (2002)
• Multimediale Produkte
− Prinzipien zum Multimedia-Design und spezielle Hinweise zu
Navigation, Steuerungselementen, Auswahl und Kombination
von Medien sowie Medienintegration und Aufmerksamkeitssteuerung: DIN EN ISO 14915 Teil 1–3 (2002, 2003)
278
■
■
■
5 Usability und Design
•
•
•
•
− Hinweise für Icons für Multimedia-Applikationen: ISO/IEC
18035 (2003)
− Spezielle Hinweise zur Gestaltung multimedialer Lernsysteme:
Issing & Klimsa (1997)
Geräte, mobile Produkte
− Wissen zur Gestaltung elektronischer Geräte: Baumann & Thomas (2001)
− Regeln zur Gestaltung von Interaktionen bei Haushalts- und Unterhaltungselektronikgeräten: Burmester (1997)
− Usability für Handhelds: Weiss (2002)
− Usability für Mobiltelefone: Lindholm (2003)
− Richtlinien für Geräte des täglichen Gebrauchs: ISO/FDIS 202821 (2006)
− Gestaltungswissen für Systeme im Fahrzeug (z. B. Navigationssystem): DIN EN ISO 15008
− Entwurfsmuster bzw. Interaction Patterns für mobile Geräte: van
Welje (2002)
Interfaces fürs Web
− Hinweise für Icons zur Verwendung in Browser-Applikationen:
ISO/IEC 18036 (2003)
− Hinweise zur Web-Usability: z. B. Nielsen (2000) und Balzert
(2004)
− Screen-Design: Thissen (2003)
− Entwurfsmuster für Web-Benutzungsschnittstellen: van Welje
(2002)
− Entwurfsmuster für Websites mit Schwerpunkt E-Commerce:
van Duyne, Landay & Hong (2003)
Interaction Patterns generell: Tidwell (2006)
Visualisierung komplexer Daten: z. B. Bederson & Shneiderman
(2003)
5.3.3.4
Partizipatives Gestalten
Benutzer können auch in der Gestaltungsphase direkt mit in die Entwurfsarbeiten einbezogen werden (Muller & Kuhn 1993). Mit der Methode CARD (Collaborative Anaysis of Requirements and Design;
Tudor 1993) können Benutzer den Ablauf von zentralen Informationssichten, dargestellt auf Karten, im Fluss ihrer Aufgaben legen.
PICTIVE (Plastic Interface for Collaborative Technology Initiatives
through Video Exploration; Muller 1991) dagegen eignet sich zum
detaillierten Ausarbeiten von Benutzungsoberflächen. Benutzer ent-
5.3 Design
Methoden CARD und PICTIVE
■
■
■
279
Überlegungen der Benutzer
bei der Gestaltung sind wichtig
Dokumentation der Grundlagen
von Gestaltungsentscheidungen
280
■
■
■
werfen Oberflächen mit auf Papier vorgefertigten Interaktionselementen (z. B. Schaltflächen) und erläutern ihre Gestaltungsentscheidungen
in Gruppenarbeit. Mit Hilfe der Card-Sorting-Technik (z. B. Kuniavky
2003, S. 192 f.) können Benutzer nach ihren eigenen Kriterien Informationen strukturieren. Die Benutzer erhalten die Aufgabe Informationseinheiten, die auf Karten bezeichnet sind, nach ihrem persönlichen Verständnis und ihren Vorlieben zu gruppieren.
Bei der Anwendung partizipativer Methoden ist es wichtig zu bedenken, dass Benutzer meist nicht in Gestaltung ausgebildet sind. Sie
sind Experten für ihre Bedürfnisse, Ziele und Aufgaben. Moderatoren
von Gestaltungsworkshops mit Benutzern müssen die Anforderungen
und Überlegungen der Nutzer verstehen, die zu den Gestaltungsvarianten geführt haben.
Neuere Ansätze der Benutzerpartizipation binden Benutzer und
Entwickler in Form von Rollenspielen in die Gestaltung ein. Nutzungssituationen werden mit einfachen Prototypen aus Papier oder Holz gespielt (Svanæs & Seland 2004). So können Abläufe, Informationsbedarf
etc. direkt in gespielten Situationen erprobt und untersucht werden.
5.3.3.5
Transparenz in der Gestaltung
Trotz Einhaltung des benutzerzentrierten Gestaltungsprozesses, Einbindung von fundiertem Gestaltungswissen und Arbeit von UsabilityExperten gibt es immer wieder Gestaltungsentscheidungen, bei denen
die Argumentationslage zwischen unterschiedlichen Experten im Patt
sein kann. In diesen Fällen lohnen sich Verfahren, um Argumente
transparent zu machen. Dazu lässt sich beispielsweise die Methode
QOC einsetzen (Bellotti 1993), bei der es um eine Gestaltungsfrage
(Q = question), um mögliche Gestaltungsvarianten (O = options) und
Entscheidungskriterien (C = criteria) geht. Die Entscheidungskriterien
sprechen für oder gegen eine Gestaltungsvariante. Wenn dies für die
zur Diskussion stehenden Gestaltungsvarianten dargestellt wird, ist
die Entscheidungssituation für alle Beteiligten deutlicher (Überblick
bei Louridas & Loucopoulos 2000). Auch mit einem transparenten
Verfahren gibt es Situationen, die nicht eindeutig entscheidbar sind.
Die strittigen Themen, z. B. welche der fraglichen Gestaltungsvarianten besser sind, können als Evaluationsziele formuliert werden, so
dass dann in der Evaluationsphase eine Klärung herbeigeführt werden
kann.
5 Usability und Design
5.3.4
Prototyping
5.3.4.1
Taxonomie des Prototyping
Prototypen dienen der Kommunikation von Gestaltungsideen. Das
Designteam muss sich über Gestaltungsideen verständigen und diese
bewerten. Produkt- und Projektmanagement sowie Marketing müssen
verstehen, in welche Richtung sich das Produkt entwickelt. Und „last
but not least“ müssen Gestaltungsideen potenziellen Benutzern kommuniziert und erfahrbar gemacht werden.
Beaudouin-Lafon und Mackay (2003, S. 1007) definieren einen Prototyp „[…] as a concrete representation of part or all of an interaction
system. A prototype is a tangible artefact, not an abstract description
that requires interpretation.“ Ferner unterscheiden Beaudouin-Lafon
und Mackay (2003, S. 1007 ff.) Prototypen in vier Dimensionen: Repräsentation (Form des Prototyps, z. B. Papierprototyp oder Softwaresimulation), Präzision (Detaillierungsgrad, z. B. Ausarbeitung grober
Skizzen bis hin zu vollständigen Bildschirmgestaltungen), Interaktivität (Umfang der Interaktionsmöglichkeiten, z. B. Aufgabenabläufe mit
Papierskizzen bis hin zu bedienbaren Eingaben in einer Softwaresimulation) und Evolution (Verortung im Lebenszyklus des Produkts).
Im Hinblick auf die Evolution lassen sich folgende Prototypen unterscheiden: rapid prototypes (für einen bestimmten Zweck entwickelt,
z. B. für einen Usability-Test hergestellt und dann weggeworfen), iterative prototypes (werden im Laufe des Gestaltungsprozesses weiter
ausgearbeitet und verfeinert) und schließlich evolutionary prototypes
(werden Schritt für Schritt Teil des Zielsystems).
Angelehnt an Rosson & Carroll (2002, S. 199) werden folgende
Formen von Prototypen exemplarisch beschrieben:
Erfahrbar und kommunizierbar machen
von Gestaltung
Definition von Prototyp
Formen von Prototypen
• Papierprototypen sind auf Papier skizzierte Benutzungsschnittstel-
len. Aus Serien von Informationssichten können ganze Aufgabenabläufe mit dem Produkt simuliert werden. Sogar Interaktionen
lassen sich mit Hilfe einfacher Hilfsmittel wie Post-Its darstellen
(vgl. auch Snyder 2003)
• Papier, Karton oder Holz eignen sich vor allem für mobile Geräte, die
durch Modelle aus unterschiedlichen Materialen simuliert werden.
• Storyboard sind Skizzen oder Bildschirmabzüge, an denen die Nutzung eines Produkts erläutert wird.
• Wizard-of-Oz-Prototypen dienen zur Simulation komplexer Systemreaktionen durch einen menschlichen Agenten. Beispielsweise
5.3 Design
■
■
■
281
•
•
•
•
•
Zweck eines Prototypen
muss beachtet werden
Horizontale und vertikale Prototypen
282
■
■
■
können so Sprachdialoge evaluiert werden, bevor überhaupt ein
Sprache erkennendes System implementiert wird.
Video Prototyp soll zeigen, wie ein System zukünftig genutzt werden kann.
Computeranimationen zeigen Bildschirmanzeigen und Eingaben
als laufenden Prozess.
Scenario Machine demonstriert Ein- und Ausgaben eines Nutzungsszenarios.
Rapid Prototype ist ein interaktives System, das einen bestimmten
Produktaspekt simuliert. Hierfür werden häufig spezielle Prototyping-Werkzeuge eingesetzt.
Systemteil ist ein Teil des Zielsystems.
5.3.4.2
Zielgerichtetes Prototyping
Prototyping im benutzerzentrierten Gestaltungsprozess muss zielgerichtet sein. Es geht nicht darum, das Produkt im Kleinen zu entwickeln. So kann es passieren, dass die Prototypentwicklung dann alle
typischen und arbeitsaufwendigen Arbeitsschritte der Entwicklung
von ganzen Systemen aufweist, wie Integration, Softwaretests, Debugging etc. (Burmester & Görner 2003, S. 51).
Der Zweck eines Prototyps muss zuvor bestimmt werden. Soll das
Management von dem zukünftigen Produkt beeindruckt werden, so
kann ein gut ausgearbeiteter Video-Prototyp angemessen sein. Sollen
die Informationsdarstellungen eines Wartungsunterstützungssystems
untersucht werden, so können Screenshots auf Papier reichen. Die
Navigation durch eine Informations-Website kann durch eine Reihe
von groben Papierskizzen verdeutlicht werden. Die in der Gestaltungsphase erhobenen Evaluationsziele steuern ebenfalls die Auswahl
der Art des Prototyps und seine Ausgestaltung. Die jeweilige Fragestellung, die in einem Evaluationsziel zum Tragen kommt, muss
durch die Prototypen abgedeckt werden können. Wenn ein Evaluationsziel existiert, bei dem zwei Gestaltungsideen gegeneinander getestet werden sollen, dann muss es jeweils einen Prototyp geben, der ein
vergleichbares Szenario abdeckt. Weitere Ausgangsinformationen für
die Gestaltung und Entwicklung von Prototypen sind die im Nutzungskontext definierten Aufgaben und die in der Entwurfs- und Gestaltungsphase entwickelten Szenarien.
Nielsen (1993, 93 f.) unterscheidet zwischen horizontalen und vertikalen Prototypen. Horizontale Prototypen veranschaulichen das zu
gestaltende Produkt in der Breite. Viele Sichten und Funktionen werden gezeigt, sind aber nicht oder nur teilweise ausgearbeitet. Diese
Art von Prototypen eignet sich beispielsweise, um einen ganzen Auf-
5 Usability und Design
gabenablauf zu demonstrieren. Details, wie einzelne Interaktionen,
werden weggelassen. In die Tiefe gehen die vertikalen Prototypen.
Mit ihnen werden einzelne Funktionen oder Interaktionen sehr detailliert erfahrbar gemacht. Wird bei einem Produkt beispielsweise
eine neue Eingabe-Interaktion erprobt, wie z. B. das Auswählen von
Informationen durch Fokussieren mit dem Blick des Benutzers, so
könnte dies durch eine Softwaresimulation speziell für die Auswahl
von Informationen auf einem Bildschirm mit einem Eye-TrackingSystem als Eingabeinstrument erfahrbar gemacht werden. Die innovative Eingabe-Interaktion ließe sich so in einem Usability-Test untersuchen. Der Rest des Produkts wäre durch diesen Prototyp dann
nicht abgedeckt.
5.3.5
Evaluation – Prüfung und Inspiration
5.3.5.1
Evaluation im benutzerzentrierten Gestaltungsprozess
Evaluation bedeutet zunächst einfach Bewertung oder Beurteilung.
Das kann ein fertiges Produkt sein oder, was im Prozess der benutzerzentrierten Gestaltung häufiger der Fall ist, ein Prototyp. Lawson
(2002, S. 47) untersuchte die Psychologie des Gestaltens und ermittelte, dass Evaluation eines Gestaltungsergebnisses integraler Bestandteil
jeglicher Form von Gestaltungsprozessen ist. Rauterberg et al. (1994,
S. 83–84) weisen darauf hin, dass Projekte zur Softwaregestaltung auf
der Basis eines „Test-Aktivitäts-Zyklus“ ablaufen sollten. In der Aktivitätsphase werden beispielsweise Entwürfe von Benutzungsschnittstellen als Prototypen erstellt und dann in der Testphase gemeinsam
mit Benutzern bewertet. So wird von einem „Optimierungszyklus“
gesprochen. Evaluation kann systematisch, aber auch unsystematisch
sein bzw. auf Daten beruhen oder auch ohne Daten erfolgen (Wottawa
& Thierau 2003, S. 13). Wie Lawson (2002) feststellte, beurteilen Gestalter ein Gestaltungsergebnis oft unsystematisch auf der Basis ihres
eigenen Wissens. Werden Evaluationsmethoden angewandt, wird der
Prozess der Bewertung stärker systematisiert und die Evaluationsergebnisse sind zuverlässiger und genauer. Zudem können Daten erhoben werden, indem man Benutzer hinzuzieht. Dies kann die Güte der
Evaluation weiter steigern.
In der benutzerzentrierten Gestaltung werden mit der Evaluation
zwei wesentliche Ziele verfolgt. Das erste Ziel ist, zu prüfen, ob die in
der Nutzungskontextanalyse erstellten Usability-Ziele erreicht wurden. Dieses Urteil bildet dann die Grundlage für die Entscheidung, ob
eine weitere Iteration erforderlich ist (vgl. Abb. 5.4).
5.3 Design
Evaluation als Bewertung
oder Beurteilung von Gestaltung
Ziele der Evaluation
■
■
■
283
Summative Evaluation
Formative Evaluation
Experten- und benutzerorientierte
Evaluation
284
■
■
■
Wenn es um die Frage geht, ob ein fertiges Produkt abschließend
den Anforderungen beispielsweise der Bildschirmarbeitsverordnung
(1996), einer Norm (z. B. der DIN EN ISO 9241 1996–1998; Dzida, et al.
2001) oder eines Industriestandards (z. B. Microsoft 2003) entspricht,
so wird von summativer Evaluation gesprochen. Ferner werden Evaluationsstudien eingesetzt, um zwischen Produkten (Preece 1994,
S. 604–605) oder zwischen alternativen Gestaltungsideen (vgl. Parallel
Design, Nielsen 1993, S. 85) Entscheidungen zu treffen.
Nach dem zweiten Ziel der Evaluation im benutzerzentrierten Gestaltungsprozess sollen Informationen gesammelt werden, um die Gestaltung zu optimieren. In diesem Fall wird von formativer Evaluation
gesprochen. Bei der Analyse der Häufigkeit von summativen und
formativen Usability-Tests ermittelten Hassenzahl und Burmester
(1999), dass formative Tests am häufigsten verwendet wurden. Im
Sinne einer Gestaltungsoptimierung können beispielsweise Fragen
untersucht werden, wie die Navigation verbessert werden kann, um
bestimmte Produkte in einem Online-Shop besser zu finden. Oder:
Welche Nutzungsprobleme treten im Prozess der Registrierung in
einem Online-Diskussionsforum auf?
5.3.5.2
Evaluationsmethoden
Um Evaluation möglichst systematisch auszuführen, kommen Evaluationsmethoden zum Einsatz. Diese lassen sich in expertenorientierte
und nutzerorientierte Verfahren einteilen. Bei expertenorientierten
Evaluationsmethoden bewerten Usability-Experten eine Benutzungsschnittstelle auf der Basis bestimmter Kriterien und Durchführungsregeln. Dies können Usability-Heuristiken (wie bei der Heuristischen
Evaluation von Nielsen 1994) oder theoretische Grundannahmen (wie
bei dem Cognitive Walkthrough von Wharton et al. 1994 oder der
Evaluation mit GOMS-Modellen bei Kieras 2003) sein. Bei der benutzerorientierten Evaluation werden repräsentative Benutzer bei der
Ausführung von realistischen Aufgaben befragt oder beobachtet. Befragungen können mittels Interviews und Fragebögen stattfinden. Bei
Beobachtungen wird die Interaktion eines Benutzers mit einem Produkt erfasst und protokolliert. Das Verhalten der Benutzer kann
durch einen Evaluator beobachtet oder die Interaktionen in Log-Files
vom System aufgezeichnet und anschließend ausgewertet werden.
Beim User-Testing werden die Benutzer zudem aufgefordert, laut zu
denken, d. h., ihre Gedanken während der Aufgabenbearbeitung auszusprechen. Die Analyse dieser verbalen Protokolle gibt Einblick in
die Erwartungen, Handlungsstrategien, Vorstellungen und Bewertungen der Benutzer.
5 Usability und Design
Formativ
Summativ
In den letzten Jahren sind weitere Beobachtungsmethoden hinzugekommen. Dazu gehört beispielsweise das Eye-Tracking (Scheier &
Heinsen 2003; Seifert & Rötting 2003), Erhebung physiologischer Daten (z. B. Hazlett 2003) oder Beobachtung der Gesichtsmimik zur Erfassung der emotionalen Reaktionen eines Benutzers (Mangold et al.
2000).
Eine Sammlung ausgewählter Evaluationsmethoden wird in Tabelle 5.4 präsentiert. Die verschiedenen Methoden werden grob nach den
Kategorien expertenorientiert versus benutzerorientiert und summativ versus formativ eingeteilt. Die Zuordnung zu den Kategorien ist
nicht immer eindeutig, denn einzelne Verfahren weisen Aspekte verschiedener Kategorien auf. Die Einteilung soll eher eine Tendenz aufzeigen. Für vertiefende Darstellungen wird auf die Fachliteratur verwiesen: Burmester (2003), Dumas (2003), Dumas und Redish (1999),
Hamborg, Gediga und Hassenzahl (2003), Kuniavsky (2003), Nielsen
(1993) Nielsen und Mack (1994), Sarodnick und Brau (2006) sowie
Schweibenz und Thissen (2003).
E
Expertenleitfäden für grafische Benutzungsschnittstellen: EVADIS II
(Oppermann et al. 1992) und SHIVA (Ziegler & Burmester 1995)
E
B
ErgoNorm: systematische Evaluation nach DIN EN ISO 9241 Teil 10
und 11 (Dzida et al. 2001)
B
Fragebögen wie z.B. ISONORM10, AttrakDiff 2 (Überblick bei Hamborg, Gediga & Hassenzahl 2003)
Log-File-Analyse (Kuniavsky 2003, S. 395 f.; Wessler, Geier & Koller
2002)
E
Heuristische Evaluation (Nielsen 1994; Tekom 2001), Cognitive
Walkthrough (Wharton et al. 1994), GOMS als modellbasiertes Evaluationsverfahren (Kieras 2003)
B
Pluralistic Usability Walkthrough (Bias 1994), IsoMetricsL (Hamborg
2002), Formatives Usability-Testing (Dumas & Redish 1995), EyeTracking (Scheier & Heinsen 2003)
5.3.5.3
Güte der Evaluation
Methoden, die im Rahmen der benutzerzentrierten Gestaltung in der
Evaluationsphase eingesetzt werden, müssen sich den Anforderungen
der Zeit- und Budgetbeschränkungen von Gestaltungs- und Entwicklungsprojekten anpassen. Zunächst wurden Methoden aus der Wissenschaft, z. B. experimentelle Verfahren der psychologischen Grundlagenforschung, einfach im Rahmen von industriellen Projekten
angewandt. Dabei wurde beklagt, dass diese Methoden nicht ausrei-
5.3 Design
Eye-Tracking, physiologische Daten,
Gesichtsmimik
Sammlung ausgewählter
Evaluationsmethoden
Tabelle 5.4:
Ausgewählte Evaluationsmethoden
(E = expertenorientiert;
B = benutzerorientiert)
Kriterien für den Einsatz
von Evaluationsmethoden
■
■
■
285
chend auf die dort existierenden Fragestellungen passten und einfach
viel zu aufwendig waren. Nielsen (1989) entwarf als Reaktion darauf
die sogenannten „discount usability methods“. Das waren Benutzerund Aufgabenbeobachtungen, Szenarios, einfaches lautes Denken und
heuristische Evaluation. Diese Methoden eigneten sich dazu, Benutzungsschnittstellen zu entwerfen, die den Anforderungen der Usability genügten und dabei realistisch in die meist knappen Zeit- und Budgetvorstellungen von Projektleitern passten. Tatsächlich sind
leichtgewichtige und eher „informelle“ Methoden in Projekten mit
benutzerzentrierter Gestaltung weit verbreitet (Vredenburg et al.
2002). Allerdings zeigen Studien zur Güte dieser Methoden, dass es
erhebliche Mängel in der wissenschaftlichen Fundierung und der korrekten praktischen Anwendung gibt (Gray & Salzmann 1998; Molich
et al. 1998, 1999). In Anlehnung an Cockton, Lavery & Woolrych
(2003) und Dumas (2003) und aus den oben beschriebenen Sachverhalten lassen sich folgende Erfolgskriterien der Planung und Durchführung formativer Evaluation nennen:
• Nutzungskontextanalyse ist unbedingt erforderlich, da Usability
sich aus dem Zusammenwirken des Produkts mit dem Nutzungskontext definiert.
• Evaluationsziele ergeben sich aus den Usability-Zielen und aus den
Fragestellungen, die aus anderen Studien oder aus der Gestaltungsphase stammen.
• Analyse des Produkts ist notwendig, da die Evaluatoren die relevanten Funktionen und Inhalte, die Navigations- und Dialogstrukturen
sowie die Informationsdarstellungen kennen müssen, um die Evaluation richtig planen und durchführen sowie auftretende Usability-Probleme richtig interpretieren zu können.
• Die Auswahl der Evaluatoren/Testnutzer spielt eine wichtige Rolle.
Bei expertenorientierter Evaluation müssen erfahrene UsabilityExperten ausgewählt werden, welche die Methoden beherrschen
und im optimalen Fall auch Experten im Nutzungskontext sind.
Letzteres ist selten der Fall. Bei benutzerorientierten Methoden
müssen die Zielgruppen für das jeweilige Produkt bekannt sein und
die Benutzer für die Evaluation entsprechend repräsentativ aus diesen Zielgruppen ausgewählt werden.
• Evaluationsplan enthält Informationen zu den Evaluationszielen,
zum Nutzungskontext, zu den zu prüfenden Produktbereichen, zu
den Evaluatoren und/oder Testbenutzern, zu den Aufgabenszenarien, zu den eingesetzten Methoden, zum Durchführungsplan sowie zur Ergebnisanalyse und Ergebnisdokumentation. Ein solcher
Evaluationsplan ist eine Art Vertrag zwischen den Evaluatoren und
286
■
■
■
5 Usability und Design
•
•
•
•
dem Auftraggeber. Der Evaluationsplan stellt sicher, wie die Evaluation ablaufen soll.
Einhaltung von Ausführungsregeln des Evaluationsverfahrens und
des Evaluationsplans ist notwendig.
Datenauswertung und -interpretation muss nach den Regeln der
jeweiligen Verfahren ausgeführt werden. Qualitative Daten aus Befragungen, lautem Denken oder Beobachtungen werden nach inhaltsanalytischen Verfahren qualitativer Forschung ausgewertet.
Severity-Rating ist die Einschätzung der Schwere eines UsabilityProblems durch Usability-Experten und ermöglicht eine Priorisierung aus Usability-Sicht. Nielsen (1994) hat eine Einschätzskala für
das Severity-Rating entwickelt.
Ergebnisdarstellung von Evaluationen werden in Berichtsform oder
als Präsentation niedergelegt. Für Usability-Tests wurde in der
Norm ANSI NCITS 354 (2001) ein „Common Industry Format for
Usability-Test Reports“ ein Standardberichtsformat festgelegt
(bzw. ISO/IEC 25062 2006). Obwohl dieser Standard für summative
Tests entwickelt wurde, können viele Anforderungen an die Informationen im Bericht formativer Tests übernommen werden. Es ist
sehr sinnvoll, dass die Evaluatoren die Ergebnisse präsentieren, da
sie die Usability-Probleme am genauesten kennen. Bei Rückfragen
und Gestaltungsideen zur Behebung der Usability-Probleme können sie somit fundierte und detailreiche Antworten geben.
5.3.6
Dokumentation
Sobald die Usability-Ziele erreicht wurden, kann eine Entscheidung
gegen eine weitere Iteration getroffen werden (vgl. Abb. 5.4). Das Ergebnis der Benutzungsschnittstellengestaltung muss nun für die weiteren Bearbeitungsschritte dokumentiert werden. Häufig folgen eine
komplette Ausarbeitung der grafischen Anmutung und der Start der
Entwicklung. Das Aussehen und Verhalten der Benutzungsschnittstelle wird in Form von Spezifikationen oder Prototypen als sogenannte
Live-Specification festgehalten. Begleitend dazu werden häufig StyleGuides geschrieben (Görner 2003), in denen neben den Layoutfragen
und der Informationspräsentation (pixelgenaue Bemaßung der Benutzungsschnittstellenelemente) vor allem Beschreibungen der für
das Produkt definierten Interaktionsformen enthalten sind (auch
Dialogbausteine genannt, vgl. Görner, Burmester & Kaja 1997).
5.3 Design
Sichern des Gestaltungsergebnisses
■
■
■
287
5.4
Integration von Usability-Engineering
und Software-Engineering
Notwendigkeit der Integration
Frühzeitiger Einsatz
von Usability-Engineering-Maßnahmen
Integration am Beispiel des Rational
Unified Process
Frühzeitige Einbindung und
Durchführung von UsabilityEngineering-Maßnahmen
Nutzungskontextanalyse in die
Anforderungserhebung integrieren
288
■
■
■
Benutzerzentrierte Gestaltung kann nur dann Erfolg haben, wenn sie
in Softwareentwicklungsprozesse integriert wird. Allerdings werden
häufig Software-Engineering-Prozesse unabhängig von UsabilityEngineering-Maßnahmen geplant und durchlaufen. Dies führt zu
Situationen, bei denen Zeit, Budget und Ressourcen für UsabilityMaßnahmen oder die Integration eines vollständigen benutzerzentrierten Gestaltungsprozesses im Rahmen der Softwareentwicklung
nicht oder nur unzureichend vorgesehen werden. So kommt es leicht
zu einer mangelnden Integration der Arbeitsergebnisse.
Den größten Nutzen aus dem Einsatz von Usability-EngineeringMethoden ziehen Projekte, die bereits in der Anforderungserhebung
und während des Systementwurfs konsequent auf deren Einsatz setzen. Obwohl das Durchlaufen einer Requirementsphase zum Standardablauf eines jeden Softwareentwicklungsprojekts zählt, bleibt eine
fundierte Auseinandersetzung mit den Anforderungen der Produktnutzer oftmals außen vor. Das erfolgreiche Einbinden von Benutzern
in die Requirementsphase, so wie es die DIN EN ISO 13407 (2000)
fordert, ist in der praktischen Anwendung vieler Software-Engineering-Prozesse noch nicht konsequent genug etabliert (Gulliksen, Göransson & Lif 2001).
Wie Usability-Maßnahmen und benutzerzentrierte Gestaltung in
Software-Engineering-Prozesse erfolgreich integriert werden können,
soll am Beispiel des Rational Unified Process (Kruchten 2000; RUP
IBM 2006) in den folgenden sechs Punkten erläutert werden (Burmester, Machate & Sandweg 2006):
1. Frühzeitige Einbindung und Durchführung von Usability-Engineering-Maßnahmen sind unbedingt notwendig. Überlegungen zu
Usability haben Einfluss auf Entscheidungen, die direkt die Softwareentwicklung betreffen. So weisen John, Bass und Adams (2003)
darauf hin, „usability requirements have an impact on architecture
design and […] architectural decisions can preclude delivery of a
usable system“.
2. Die Nutzungskontextanalyse muss in die Phase der Anforderungserhebung integriert werden. Im RUP würde die Nutzungskontextanalyse in der Prozessdisziplin „Geschäftsprozessmodellierung“
stattfinden.
5 Usability und Design
3. Die Gestaltung der Benutzungsschnittstelle wird im RUP bis hin zur
Spezifikation und zum Style-Guide dem Requirements-Workflow
zugeordnet (Kruchten, Ahlquist & Bylund 2001). Wichtig ist, dass
die Iterationen der benutzerzentrierten Gestaltung vor Beginn der
iterativen Softwareentwicklung abgeschlossen sind, da sonst mitten
in Entwicklungsaktivitäten Änderungen der Benutzungsschnittstelle zusätzliche Kosten verursachen können (vgl. Tab. 5.1).
4. Wird benutzerzentrierte Gestaltung in einen Software-EngineeringProzess integriert, so müssen die Rollen innerhalb des Prozesses
erweitert werden. Der RUP sieht im Requirements-Workflow folgende Rollen vor:
− Systemanalytiker (erarbeitet was das System leisten soll),
− Use Case Specifier (detailliert die Use Cases bzw. Anwendungsfälle des zu entwickelnden Systems),
− User Interface Designer (erarbeitet Use Case Storyboards und
User-Interface-Prototypen) und
− Architekt (definiert die Softwarearchitektur).
Um benutzerzentriert arbeiten zu können, muss die Rolle des Nutzungskontextanalytikers hinzugefügt werden. Die Rolle des User
Interface Designer muss aufgeteilt werden in:
− den Information-Architekten (definiert die Informationsarchitektur, legt Navigation fest)
− Interaction-Designer (Dialoge, Interaktion und Informationspräsentationen),
− Grafikdesigner (entwirft grafische Elemente, Layout, Typografie,
Anmutung etc.),
− Prototyper (entwickelt Prototypen),
− Usability Evaluator (evaluiert im Rahmen der Iterationen) sowie
− den Spezifikations- und Style-Guide-Redakteur (dokumentiert
die Gestaltung der Benutzungsschnittstelle).
5. Nachdem die Ergebnisse des benutzerzentrierten Gestaltungsprozesses dokumentiert sind, beginnt die Softwareentwicklung mit der
Konstruktionsphase des RUP. Spezifikationen der Benutzungsschnittstelle und des Style-Guides sind meist nicht ganz vollständig.
Bei der Implementierung tauchen spezielle Fragen auf, die erst
durch die Umsetzung in Software deutlich werden (z. B. Definition
seltener Interaktionssituationen). Die hier zu treffenden Gestaltungsentscheidungen sollten von den Inhabern der entsprechenden
Rollen (z. B. Interaction-Designer) getroffen werden. Änderungen
werden vom Spezifikations- und Style-Guide-Redakteur aufgenommen und dokumentiert.
5.4 Integration von Usability-Engineering und Software-Engineering
Gestaltung im
Requirements-Workflow
Erweiterung der Rollen im Prozess
Begleitung der Konstruktionsphase
■
■
■
289
Summative Evaluation in der Testphase
6. Zur Testphase des RUP gehört auch der Akzeptanztest. Im Sinne
der Qualitätskontrolle kann dieser nach Vorgaben des summativen
Evaluierens entworfen und die Einhaltung u. A. der typischen Usability-Kriterien Effektivität, Effizienz und Zufriedenstellung bestimmt werden (vgl. Dzida et al. 2001).
Anpassung Entwicklungsprozesses
an das jeweilige Projekt
Software-Engineering-Prozesse wie der Rational Unified Process
sind sehr komplexe Rahmenwerke, die auf die Bedingungen der jeweiligen Entwicklung angepasst werden müssen. Dies gilt insbesondere
für die Planung der Integration von benutzerzentrierter Gestaltung.
Gulliksen, Göransson und Lif untersuchten verschiedene Projekte, in
denen RUP eingesetzt wurde, und bemerkten: „The person responsible for applying RUP to user interface design thought that the model
contained answers to all problems and stopped acting as a thinking
person“ (Gulliksen, Göransson & Lif 2001, S. 294). Aktive Gestaltung
und Definition des für das jeweilige Projekt angemessenen Gestaltungs- und Entwicklungsprozesses bleibt bei aller methodischen Unterstützung des Usability-Engineering und Software-Engineerings unabdingbar.
Als Gegenbewegung gegen allzu überladene und starre SoftwareEngineering-Prozesse wurden agile Softwareentwicklungsansätze wie
z. B. Extreme Programming (Beck 1999) entwickelt. Dabei wird ein
Softwareprojekt in kleine Inkremente zerlegt und iterativ entwickelt.
Einfache und dynamische Methoden, die wenig Dokumentationsaufwand erfordern, kommen zum Einsatz. Aus diesen Ansätzen erwuchs
die Anforderung, dass Usability-Engineering an diese Prozesse angepasst werden sollte. Tatsächlich gibt es einige Parallelen zwischen
Extreme Programming und Usability-Engineering-Methoden, wie z. B.
„On-Site Customer“-Beteiligung auf Seiten des Extreme Programming
und partizipative Gestaltung auf Seiten des Usability-Engineering
(Gundelsweiler, Memmel & Reiterer 2004, S. 34). Allerdings gibt es
auch Konflikte zwischen den Ansätzen, denn beim Extreme Programming steht das schnelle Erstellen von Code im Vordergrund und
beim Usability-Engineering wird zunächst eine ausführliche Nutzungskontextanalyse vorgenommen. Gundelsweiler et al. (2004,
S. 36 ff.) schlagen einen agilen Usage-Centred Software Lifecycle vor,
bei dem in einer ersten Phase, der „Initial Requirements Usablity UpFront“, eine agile Anforderungsermittlung vorgenommen wird. Dort
werden mit empirischen Verfahren, wie z. B. Focus Groups (vgl.
Kap. 5.3.2.2), die notwendigen Informationen erhoben und in einfacher Form, z. B. auf Karten, dokumentiert. In der zweiten Phase, der
„Initial Conceptual Phase“, werden Entwurf der Benutzungsschnittstelle und Entwurf der Systemarchitektur getrennt. Gestaltungsideen
werden in unterschiedlich aufwendige Prototypen (Papier bis Flash-
Agile Softwareentwicklungsansätze
290
■
■
■
5 Usability und Design
Prototypen) umgesetzt und Benutzer- und Expertenreviews unterzogen. So können schwerwiegende Usability-Probleme, noch bevor eine
umfangreiche Softwareentwicklung stattgefunden hat, entdeckt werden. Die Programmierung findet in der dritten Phase statt, der
„Construction Phase“. Mit den ersten Inkrementen werden dann Reviews oder einfache Usability-Tests durchgeführt. So können weitere
Optimierungen vorgenommen werden. Mit der „Deployment und
Production Phase“ endet der agile Prozess.
Das Team besteht hier allerdings, anders als beim Extreme Programming, nicht nur aus Softwareentwicklern, sondern auch aus Usability Engineers, Grafikdesigner und Stakeholder (Auftraggeber, Manager, Benutzer) sowie einem „Tracker“, der auf die Einhaltung der
Usability-Ziele achtet.
Gerade für agile Softwareentwicklung eignen sich partizipative Gestaltungsmethoden (vgl. Kap. 5.3.3.4) oder einfache Evaluationsmethoden wie Pluralistic Walkthrough (Bias 1994, vgl. Kap. 5.3.5.2), da das
Gestaltungs- und Entwicklungsteam unmittelbar mit den Benutzern
zusammenarbeitet und so deren Feedback ohne Umwege aufnehmen
kann. Diese Form kurzzyklischer Anpassungen unterstützt auch die
Usability-Test-Methode RITE (Rapid Iterative Test and Evaluation)
von Medlock et al. (2005), bei der sofort Änderungen am Produkt bzw.
Prototyp vorgenommen werden, nachdem die ersten UsabilityProbleme im Test entdeckt wurden. Prinzipiell lassen sich UsabilityEngineering-Methoden auf die jeweiligen Projekt- und Prozesseigenschaften anpassen. Wichtig ist jedoch, dass nicht fundamentale
Durchführungsregeln der verschiedenen Methoden missachtet werden (vgl. Kap. 5.3.5.3).
Agile Gestaltungs- und Entwicklungsvorgehensweisen erfordern
ein hohes Maß an Kommunikation und direkter Zusammenarbeit im
Team. Die Dokumentation wird so gering wie möglich gehalten und
durch direkte Kommunikation ersetzt.
Team
Usability-Engineering-Methoden
für agile Prozesse
Kommunikation im Team ist vital
5.5
Abschlussüberlegungen
Zur Verwirklichung von Usability als Qualität der Nutzung liegen
nach dem geschilderten benutzerzentrierten Gestaltungsprozess und
der dazugehörenden Methodenunterstützung ausreichend Hilfsmittel
vor. Sie müssen in Projekte integriert werden, was zu vielfältigen positiven Konsequenzen führt, wie ebenfalls gezeigt wurde. Sicher sind
Weiterentwicklung und Ergänzung des Methoden- und Wissensfundus notwendig. Mit der angesprochenen Erweiterung des UsabilityKonzepts muss die Integration der Ziele von Informationsanbietern,
5.5 Abschlussüberlegungen
■
■
■
291
„user driven innovation“
die systematische Integration von persuasiven Aspekten und die explizite Berücksichtigung hedonischer Qualitäten bei der Gestaltung
von Benutzungsschnittstellen noch verbessert werden.
Usability-Engineering wird nach wie vor meist im Zusammenhang
mit Qualitätssicherung, Qualitätskontrolle und der Akzeptanz diskutiert. Ein unterschätzter Aspekt des Usability-Engineering ist, dass so
auch neue Ideen für Produkte oder Produkteigenschaften entstehen
können (Burmester & Görner 2003). Holmquist (2004) spricht von
„user driven innovation“. Die bisherige Strategie des „Technology
Push“, d. h., technische Neuerungen führen zu Innovationen, wurde
im Projekt InterLiving systematisch umgedreht. In diesem Projekt
ging es um Technologie für Familien. Hier wurde zunächst das Zusammenleben in Familien und deren Nutzungskontext empirisch
untersucht und dann im Rahmen partizipativer Gestaltung neue Produkte entworfen und beforscht (Westerlund 2006). Mit solchen Vorgehen entsteht Innovation im Rahmen eines „Technology Pull“.
Literatur
ANSI NCITS 354: Common Industry Format for Usability Test Reports. American
National Standards Institute, Inc. 2001
AttrakDiff: Online-Service. Letzter Zugriff am 15.09.2006 unter
http://www.attrakdiff.de (2005)
Balzert, H.: Webdesign & Web-Ergonomie – Websites professionell gestalten.
Dortmund: Herdecke 2004
Baumann, K. & Thomas, B.: User interface design of electronic appliances. London: Taylor & Francis 2001
Beaudouin-Lafon, M. & Mackay, W.: Evolution of Human-Computer Interaction:
From Memex to Bluetooth and beyond. In J.A. Jacko & A. Sears (Eds.), The
Human-Computer Interaction Handbook (pp. 1006–1031). Mahwah: Lawrence Erlbaum Associates 2003
Beck, K.: Extreme Programming Explained. Addison-Wesley 1999
Bederson, B.B. & Shneiderman, B.: The Craft of Information Visualization: Readings and Reflections. San Francisco: Morgan Kaufmann 2003
Bellotti, V.: Integrating theoreticians’ and practitioners’ perspectives with design
rationale. In: Proceedings of Interchi ’93 (pp. 101–106). New York: ACM 1993
Bertelsen, O.W. & Bødker, S.: Activity Theory. In: J.M. Carroll (Ed.), HCI Models,
Theories, and Frameworks – Toward a Multidisciplinary Science (pp. 291–
324). Amsterdam: Morgan Kaufmann 2003
Beu, A.: Analyse des Nutzungskontextes. In: J. Machate & M. Burmester (Hrsg.),
User Interface Tuning – Benutzungsschnittstellen menschlich gestalten
(S. 67–82). Frankfurt: Software und Support 2003
Bevan, N.: Usability is Quality of Use. In: Y.Anzai, H. Mori & K. Ogawa, (Eds.),
Proceedings of the Sixth International Conference on Human-Computer Interaction (pp. 349–354). Amsterdam: Elsevier 1995
292
■
■
■
5 Usability und Design
Beyer, H. & Holtzblatt, K.: Contextual design: defining customer-centered systems.
San Francisco, CA: Morgan Kaufmann 1998
Bias, R.: The Pluralistic Usability Walkthrough: Coordinated Empathies. In:
J. Nielsen & R.L. Mack (Eds.), Usability Inspection Methods (pp. 63–76).
New York: John Wiley 1994
Bias, R.G. & Mayhew, D.J.: Cost Justifying Usability, New York: Academic Press 1994
Bias, R. & Mayhew, D.: Cost Justifying Usability – An Update for the Internet Age.
Amsterdam: Morgan Kaufmann 2005
Bildschirmarbeitsverordnung: Verordnung über Sicherheit und Gesundheitsschutz bei der Arbeit an Bildschirmgeräten (BildscharbV) 1996
BITKOM: Internet. Letzter Zugriff am 5.09.2006 unter
http://www.bitkom.org/de/markt_statistik/38511_38547.aspx (2006a)
BITKOM: Mobilkommunikation. Letzter Zugriff am 5.09.2006 unter
http://www.bitkom.org/de/markt_statistik/38511_38545.aspx (2006b)
BITKOM: Technologische Modernisierung. Letzter Zugriff am 5.09.2006 unter
http://www.bitkom.org/41273_41261.aspx (2006c)
BITV: Verordnung zur Schaffung barrierefreier Informationstechnik nach dem
Behindertengleichstellungsgesetz (barrierefreie Informationstechnik-Verordnung – BITV) vom 17. Juli 2002
Blythe, M. A.; Overbeeke, K.; Monk, A. F.; Wright, P. C. (Eds.).: Funology. From
Usability to Enjoyment. Human-Computer Interaction Series. Volume 3.
Dordrecht: Kluwer Academic Publishers 2003
Brave, S. & Nass, C.: Emotion in Human-Computer Interaction. In: J.A. Jacko &
A. Sears (Eds.), The Human-Computer Interaction Handbook (pp. 81–97).
Mahwah: Lawrence Erlbaum Associates 2003
Brewster, S.: Non-Speech Auditory Output. In: J.A. Jacko & A. Sears (Eds.), The
Human-Computer Interaction Handbook (pp. 220–240). Mahwah: Lawrence Erlbaum Associates 2003
Brodbeck, F.C.: Fehlerbewältigungszeiten und die Nutzung von Unterstützungsmöglichkeiten (S. 80–94). In: M. Frese & D. Zapf (Hrsg.), Fehler bei der Arbeit mit dem Computer – Ergebnisse von Beobachtungen und Befragungen
im Bürobereich. Bern: Hans Huber 1991
Burmester, M. (Ed.): Guidelines and Rules for Design of User Interfaces for Electronic Home Devices. Stuttgart: IRB 1997
Burmester, M.: Ist das wirklich gut? Bedeutung der Evaluation für die benutzerzentrierte Gestaltung. In: J. Machate & M. Burmester (Hrsg.), User Interface
Tuning – Benutzungsschnittstellen menschlich gestalten (S. 97–119). Frankfurt: Software und Support 2003
Burmester, M.: Usability-Engineering für interaktive Wissensmedien. In: M. Eibl,
H. Reiterer, P.F. Stephan & F. Thissen (Hrsg.), Knowledge Media Design –
Grundlagen und Perspektiven einer neuen Gestaltungsdisziplin (S. 175–
210). München: Oldenbourg 2006
Burmester, M. & Dufner, A.: Designing the stimulation aspect of hedonic quality –
an exploratory study. In: M. Pivec (Ed.), Affective and Emotional Aspects of
Human-Computer Interaction: Emphasis on Game-Based and Innovative
Learning Approaches. The Netherlands: IOS Press 2006
Burmester, M. & Görner, C.: Das Wesen benutzerzentrierten Gestaltens. In: J.
Machate & M. Burmester (Hrsg.), User Interface Tuning – Benutzungs-
5.5 Literatur
■
■
■
293
schnittstellen menschlich gestalten (S. 47–66). Frankfurt: Software und Support 2003
Burmester, M. Hassenzahl, M. & Koller, F.: Usability ist nicht alles – Wege zu
attraktiven interaktiven Produkten. I-Com, 1 (2003)
Burmester, M., Hassenzahl, M., Koller, F.: Engineering attraktiver Produkte
AttrakDiff. In: J. Ziegler & W. Beinhauer (Hrsg.), Interaktion mit komplexen
Informationsräumen (S. 127–141). München: Oldenburg 2007
Burmester, M. & Machate, J.: Creative Design of Interactive Products and Use of
Usability Guidelines – a Contradiction? In: Proceedings of HCI international
2003. Mahwah: Lawrence Erlbaum Associates 2003
Burmester, M., Machate, J. & Sandweg, N.: Integration benutzerzentrierter Methoden in die Software-Entwicklung – Anregungen für die Projektpraxis.
I-COM, 3, 31–40 (2006)
Card, S.K., Pirolli, P., van der Wege, M., Morrison, J.B., Reeder, R.W., Schraedley,
P.K. & Boshart, J.: Information Scent as a Driver of Web Behavior Graphs:
Results of a Protocol Analysis Method for Web Usability. Chi Letters, Vol. 3
(1), 498–505 (2001)
Carroll, J.M.: HCI Models, Theories, and Frameworks – Toward a Multidisciplinary Science. Amsterdam: Morgan Kaufmann 2003
Carroll, J.M.: Beyond Fun. Interaction, Vol. XI.5, 38–40 (2004)
Carroll, J.M. & Thomas, J.C.: Fun. ACM SIGCHI Bulletin, 19(3), 21–24 (1987)
Chak, A.: Submit Now – Designing Persuasive Web Site. Boston: New Riders 2002
Cockton, G, Lavery, D. & Woolrych, A.: Inspection-based Evaluations. In: J.A.
Jacko & A. Sears (Eds.), The Human-Computer Interaction Handbook
(pp. 1118–1137). Mahwah: Lawrence Erlbaum Associates 2003
Cooper, A.: The Inmates Are Running the Asylum, Why High Tech Products Drive
Us Crazy and How To Restore The Sanity. Boston: Pearson Professional
Education 1999
Crosby M. E., Auernheimer, B., Aschwanden, C. & Ikehara, C.: Physiological Data
Feedback for Application in Distance Education. In: Proceedings of PUI
2001, Orlando FL, USA. New York: ACM 2001
Czaja, S.J. & Lee, C.C.: Designing Computer Systems for Older Adults. In: J.A.
Jacko & A. Sears (Eds.), The Human-Computer Interaction Handbook
(pp. 413–427). Mahwah: Lawrence Erlbaum Associates 2003
DIN EN ISO 9241: Ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten. Berlin: Beuth 1996–1998
DIN EN ISO 9241-11: Ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten – Teil 11: Anforderungen an die Gebrauchstauglichkeit; Leitsätze (ISO 9241-11:1998). Berlin: Beuth 1998
DIN EN ISO 9241-110: Ergonomie der Mensch-System-Interaktion – Teil 110:
Grundsätze der Dialoggestaltung. Berlin: Beuth 2006
DIN EN ISO 13407: Benutzer-orientierte Gestaltung interaktiver Systeme (ISO
13407:1999). Berlin: Beuth 2000
DIN EN ISO 14915: Software-Ergonomie für Multimedia-Benutzungsschnittstellen
– Teil 1-3. Berlin: Beuth 2002, 2003
DIN EN ISO 15008: Straßenfahrzeuge – Ergonomische Aspekte von Fahrerinformations- und Assistenzsystemen – Anforderungen und Bewertungsmethoden der visuellen Informationsdarstellung im Fahrzeug. Berlin: Beuth 2003
294
■
■
■
5 Usability und Design
DIN ISO/IEC 12119: Informationstechnik – Software-Erzeugnisse – Qualitätsanforderungen und Prüfbestimmungen. Berlin: Beuth 1995
Duchowski, A.T.: Eye-Tracking Methodology: Theory and Practice. London:
Springer-Verlag 2003
Dumas, J.C.: User-Based Evaluations. In: J.A. Jacko & A. Sears (Eds.), The Handbook of Human Computer Interaction (1093–1116). Mahwah: Lawrence Erlbaum Associates 2003
Dumas, J.C. & Redish, J.C.: A practical guide to usability testing. Exeter: Intellect 1999
Dutke, S.: Aufbau Mentaler Modelle durch Metaphern und konzeptuelle Modelle.
In: S. Dutke, Mentale Modelle: Konstrukte des Wissens und Verstehens
(Kap. 5). Göttingen: Verlag für Angewandte Psychologie 1994
Dzida, W.: Das IFIP-Modell für Benutzungsschnittstellen. Office Management, 6–8
(1983)
Dzida, W., Hoffmann, B., Freitag, R., Redtenbacher, W., Baggen, R., Geis, T., Beimel, J., Zurheiden, C., Hampe-Neteler, W., Hartwig, R. & Peters, H.:
Gebrauchstauglichkeit von Software. ErgoNorm: Ein Verfahren zur Konformitätsprüfung von Software auf der Grundlage von DIN EN ISO 9241
Teile 10 und 11. Dortmund: Wirtschaftsverlag NW 2001
Eibl, M., Reiterer, H., Stephan, P.F. & Thissen, F. (Hrsg.), Knowledge Media Design
– Grundlagen und Perspektiven einer neuen Gestaltungsdisziplin. München:
Oldenbourg 2006
Fogg, B.J.: „Stanford Guidelines for Web Credibility.“ A Research Summary from
the Stanford Persuasive Technology Lab. Stanford University.
www.webcredibility.org/guidelines (2002)
Fogg, B. J.: Persuasive Technology, Using Computers to Change What We Think
and Do. San Francisco, USA: Morgan Kaufmann 2003a
Fogg, B. J.: Prominence-Interpretation Theory: Explaining how people assess
credibility online. In: Proceedings of CHI 2003 Conference (pp. 722–723),
April 5–10, 2003, Ft. Lauderdale, Florida, USA. New York: ACM 2003b
Frese, M. & Zapf, D. (Hrsg.): Fehlersystematik und Fehlerentstehung: Eine theoretische Einführung. In: M. Frese. & D. Zapf (Hrsg.), Fehler bei der Arbeit mit
dem Computer: Ergebnisse von Beobachtungen und Befragungen im Bürobereich (S. 14–31). Reihe „Schriften zur Arbeitspsychologie“, Band 52. Bern:
Hans Huber 1991
Frese, M. & Zapf, D.: Action as the core of work psychology: A German approach.
In: H.C. Triandis, M.D. Dunnette & L.M. Hough (Eds.), Handbook of Industrial and Organizational Psychology, Vol. 4 (pp. 271–340). Palo Alto, CA:
Consulting Psychologists Press (2nd ed.) 1994
Görner, C.: Styleguides – Vom Ladenhüter zum Steuerungsinstrument. In: J. Machate & M. Burmester (Hrsg.), User Interface Tuning – Benutzungsschnittstellen
menschlich gestalten (S. 139–164). Frankfurt: Software und Support 2003
Görner, C., Beu, A. & Koller, F.: Der Bildschirmarbeitsplatz: Soft-wareentwicklung
mit DIN EN ISO 9241. Berlin: Beuth 1999
Görner, C., Burmester, M. & Kaja, M.: Dialogbausteine. Ein Konzept zur Verbesserung der Konformität von Benutzungsschnittstellen mit internationalen
Standards. In: R. Liskowsky, B.M. Velichkovsky & W. Wünschmann (Hrsg.),
Software-Ergonomie ’97. Usability-Engineering: Integration von MenschComputer-Interaktion und Software-Entwicklung. Stuttgart: B.G. Teubner
1997
5.5 Literatur
■
■
■
295
Gould, J.D.; Lewis, C.H.: Designing for usability: key principles and what designers
think. Communications of the ACM 28[3] 300–311 (1985)
Gray, W. & Salzmann, M.: Damaged merchandise? A review of experiments that
compare usability methods [special issue]. Human-Computer Interaction,
13, 203–261 (1998)
Gulliksen, J., Göransson, B. & Lif, M.: A User Centred Approach to ObjectOriented User Interface Design. In: M. van Harmelen (Ed.), Object Modeling and User Interface Design (pp. 283–312). Boston: Addison-Wesley 2001
Gundelsweiler, F., Memmel, T. & Reiterer, H.: Agile Usability-Engineering. In:
R. Keil-Slawik, H. Selke, G. Szwillus (Hrsg.): Mensch & Computer 2004: Allgegenwärtige Interaktion (S. 33–42). München: Oldenbourg 2004
Hackos, J. & Redish, J.: User and Task Analysis for Interface Design. New York:
Wiley & Sons 1998
Hamborg, K.-C.: Gestaltungsunterstützende Evaluation von Software: Zur Effektivität und Effizienz des IsoMetricsL Verfahrens. In: M. Herczeg, W. Prinz &
H. Oberquelle (Hrsg.), Mensch & Computer 2002 – Vom interaktiven Werkzeug zu kooperativen Arbeits- und Lernwelten (S. 303–312). Stuttgart: B.G.
Teubner 2002
Hamborg, K.-C., Gediga, G. & Hassenzahl, M.: Fragebogen zur Evaluation. In:
S. Heinsen & P. Vogt (Hrsg.), Usability praktisch umsetzen (S. 172–187).
München: Hanser 2003
Hassenzahl, M.: Focusgruppen. In: S. Heinsen; P. Vogt (Hrsg.), Usability praktisch
umsetzen (S. 138–153). München: Hanser 2003a
Hassenzahl, M.: The thing and I: Understanding the Relationship between User
and Product. In: M. A. Blythe, C.J. Overbeeke, A.F. Monk & P. C. Wright
(Eds.), Funology. From Usability to Enjoyment (pp. 3–42). HumanComputer Interaction Series. Volume 3. Dordrecht: Kluwer Academic Publishers 2003b
Hassenzahl, M.: The interplay of beauty, goodness and usability in interactive
products. Human Computer Interaction, 19, 319–349 (2004)
Hassenzahl, M. & Burmester, M.: Zur Diagnose von Nutzungsproblemen: Praktikable Ansätze aus der qualitativen Forschungspraxis. Konferenzband der
ZMMS Konferenz 5.10 – 8.10.1999 in Berlin 1999
Hassenzahl, M., Burmester, M. & Koller, F.: AttrakDiff: Ein Fragebogen zur Messung wahrgenommener hedonischer und pragmatischer Qualität. In:
J. Ziegler & G. Szwillus (Hrsg.), Mensch & Computer 2003. Interaktion in
Bewegung (S. 187–196). Stuttgart: Teubner 2003
Hassenzahl, M., Platz, A., Burmester, M. & Lehner, K.: Hedonic and Ergonomic
Quality Aspects Determine a Software's Appeal (pp. 201–208). In: Proceedings of the CHI 2000 Conference on Human Factors in Computing. New
York: ACM 2000
Hassenzahl, M.& Tractinsky, N.: User experience – a research agenda. Behaviour &
Information Technology. Volume 25, Number 2, 91–97 (2006)
Hazlett, R.: Measurement of User Frustration: A Biologic Approach. In: Proceedings of CHI 2003 Conference on Human Factors in Computing Systems
(pp. 734–735). New York ACM 2003
Herczeg, M.: Software-Ergonomie. Bonn: Addison-Wesley 1994
296
■
■
■
5 Usability und Design
Hinckley, K.: Input Technologies and Techniques. In: J.A. Jacko & A. Sears (Eds.),
The Human-Computer Interaction Handbook (pp. 151–169). Mahwah Lawrence Erlbaum Associates 2003
Hinderberger, R.: Usability als Investition. In: S. Heinsen; P. Vogt (Hrsg.), Usability praktisch umsetzen (S. 23–40). München: Hanser 2003
Hix, D. & Hartson, H.R.: Developing user interfaces: ensuring usability through
product and process. New York: John Wiley 1993
Holmquist, L.E.: User-Driven Innovation in the Future Applications Lab. In: Proceedings of CHI 2004, April 24–29, 2004, Vienna, Austria. New York: ACM 2004
Honold, P.: Interkulturelles Usability-Engineering. Eine Untersuchung zu kulturellen Einflüssen auf die Gestaltung und Nutzung technischer Produkte
Fortschritt-Berichte. Fortschritt-Berichte, Band Nr. 647. Düsseldorf: VDIVerlag 2000
Igbaria, M.; Schiffman, S.J.; Wieckowski, T.J.: The respective roles of perceived
usefulness and perceived fun in the acceptance of microcomputer technology. Behaviour & Information Technology 13[6], 349–361 (1994)
IBM RUP: Rational Method Composer and RUP. Letzter Zugriff am 20.09.2006
unter
http://www-128.ibm.com/developerworks/rational/products/rup (2006)
ISO 13407: Human-centred design processes for interactive systems. Berlin: Beuth
1999
ISO/IEC 18035: Information Technology – Icon symbols and functions for controling multimedia applications. Berlin: Beuth 2003
ISO/IEC 18036: Information Technology – Icon symbols and functions for web
browser toolbars: Beuth 2003
ISO/IEC 25062: Software-Engineering – Qualitätskriterien und Bewertung von
Softwareprodukten (SQuaRE) – Gemeinsames Industrieformat (CIF) für
Berichte über Gebrauchstauglichkeitsprüfungen. Berlin: Beuth 2006
ISO/FDIS 20282-1: Ease of operation of everyday products – Part 1: Design requirements for context of use and user characteristics. Berlin: Beuth 2006
ISO/TR 16982: Ergonomics of human-system interaction – Usability methods
supporting human-centred design. Berlin: Beuth 2002
Issing, L.J. & Klimsa, P.: Information und Lernen mit Multimedia. Weinheim:
Beltz / Psychologie Verlags Union 1997
Iwata, H.: Haptic Interfaces. In: J.A. Jacko & A. Sears (Eds.), The HumanComputer Interaction Handbook (pp. 206–219). Mahwah: Lawrence Erlbaum Associates 2003
Iwata, H.: Art and Technology in Interface Devices. VRST’05, November 7–9
(pp. 1–7). Monterey, California, USA. ACM 2005
Iwata, H., Yano, H., Uemura, T. & Moriya, T.: Food Simulator: A Haptic Interface
for Biting, vr, p. 51, IEEE Virtual Reality Conference (VR'04) 2004
Jacko, J.A. & Sears, A. (Eds.): The Human-Computer Interaction Handbook.
Mahwah: Lawrence Erlbaum Associates 2003
Jacko, J.A., Vitense, H.S. & Scott, I.U.: Perceptual Impairments and Computing
Technologies. In: J.A. Jacko & A. Sears (Eds.), The Human-Computer Interaction Handbook (pp. 504–522). Mahwah: Lawrence Erlbaum Associates 2003
Jameson, A.: Adaptive Interfaces and Agents. In: J.A. Jacko & A. Sears (Eds.), The
Human-Computer Interaction Handbook (pp. 306–310). Mahwah: Lawrence Erlbaum Associates 2003
5.5 Literatur
■
■
■
297
Janssen, C., Ziegler, J.: Objektorientierter Entwurf graphischer Benutzerschnittstellen. In: K.-P. Fähnrich, C. Janssen & G. Groh. (Hrsg.), Werkzeuge zur
Entwicklung graphischer Benutzerschnittstellen: Grundlagen und Beispiele
(S. 111–122). Handbuch der Informatik. München: Oldenbourg 1996
John, B.E.: Information Procession and Skilled Behavior. In: J.M. Carroll (Ed.),
HCI Models, Theories, and Frameworks – Toward a Multidisciplinary Science (pp. 55–102). Amsterdam: Morgan Kaufmann 2003
John, B.E., Bass, L., Adams, R.J.: Communication across the HCI/SE divide: ISO
13407 and the Rational Unified Process®. In: Proceedings of HCI International, June 2003
Jordan, P.: Designing pleasurable products. An introduction to the new human
factors. London, New York: Taylor & Francis 2000
Jørgensen, A.H.: Marrying HCI/Usability and Computer Games: A Preliminary
Look. In: NordiCHI '04, October 23–27, 2004 Tampere, Finland. New York:
ACM 2004
Kalbach, J.: Von Usability überzeugen. In: S. Heinsen; P. Vogt (Hrsg.), Usability
praktisch umsetzen (S. 8–23). München: Hanser 2003
Kalin, S.: Mazed and confused. CIO Web Business Magazine, April 1, 1999. Retrieved September 5, 2006, from
http://www.cio.com/archive/webbusiness/040199_use.html (1999)
Kantner, L., Hinderer Sova, D. & Rosenbaum, S.: Alternative Methods for Field
Usability Research. In: SIGDOC’03, October 12–15, 2003, San Francisco,
California, USA (pp. 68–72). New York: ACM 2003
Karat, C.M., Vergo, J. & Nahamoo, D.: Conversational Interface Technologies. In:
J.A. Jacko & A. Sears (Eds.), The Human-Computer Interaction Handbook
(pp. 169–186). Mahwah: Lawrence Erlbaum Associates 2003
Kaye, J.: Making Scents: aromatic output for HCI. interactions, Vol. 11 (1). 48–61
(2004)
Kieras, D.: Model-based Evaluation. In: J.A. Jacko & A. Sears (Eds.), The HumanComputer Interaction Handbook (pp. 1139–1151). Mahwah: Lawrence Erlbaum Associates 2003
Kirwan, B & Ainsworth, L.K.: A guide to task analysis. London: Tailor & Francis 1992
Kruchten, P.: The Rational Unified Process – An Introduction, Second Edition,
Addison Wesley Longman 2000
Kruchten, P., Ahlquist, S., Bylund, S.: User Interface Design in the Rational Unified
Process. In: M. van Harmelen (Ed.), Object Modelling and User Interface
Design (pp. 161–198). Boston: Addison-Wesley 2001
Krueger, R. A. & Casey, M. A.: Focus Groups. A practical guide for applied research. Thousand Oaks: Sage 2000
Krüger, H. & Neukun, A.: Der Fahrimulator als Herausforderung für Entwicklung
und Anwender. Zur Forderung nach der Realitätstreue von Fahrsimulation.
In: 1. Motion Simulator Conference, Braunschweig 2005
Kuniavky, M.: Observing the User Experience. San Francisco: Morgan Kaufmann
2003
Lawson, B.: How Designers Think. The design process demystified. 3rd Ed. Oxford: Architectural Press 2002
Lindholm, C.: Mobile usability: how Nokia changed the face of the mobile phone.
New York: McGraw-Hill 2003
298
■
■
■
5 Usability und Design
Logan, R.J.: Behavioral and emotional usability: Thomson Consumer Electronics. In:
M. Wiklund (Ed.) Usability in Practice. Cambridge, MA: Academic Press 1994
Louridas, P. & Loucopoulos, P.: A Generic Model for Reflective Design. ACM
Transactions on Software-Engineering and Methodology, Vol. 9, No. 2, 199–
237 (2000)
Luczak, H., Roetting, M. & Oehme, O.: Visual Displays. In: J.A. Jacko & A. Sears
(Eds.), The Human-Computer Interaction Handbook (pp. 187–205). Mahwah: Lawrence Erlbaum Associates 2003
MacKenzie, I.S.: Motor Behavior Models for Human-Computer Interaction. In:
J.M. Carroll (Ed.), HCI Models, Theories, and Frameworks – Toward a Multidisciplinary Science (pp. 27–54). Amsterdam: Morgan Kaufmann 2003
Mangold, R., Reese, F., Klauck, T. & Stanulla, S.: „Designed for emotions“? Mimikbasierte Mikroevaluation von Onlineangeboten. planung & analyse, 58–81
(2000)
Marcus, A.: Return of Investment for usable UI Design, User Experience, 1(3), 25–
31 (2002)
Marcus, A.: User Interface Design’s Return of Investment: Examples and Statistics.
In: R.G. Bias, & D.J. Mayhew, (Eds.), Cost Justifying Usability – An Update
for the Internet Age (S.18–39). Amsterdam: Morgan Kaufmann 2005
Mayhew, D.L: The Usability-Engineering lifecycle. A practitioner's handbook for
user interface design. San Francisco, CA: Morgan Kaufmann 1999
Medlock, M.C., Wixon, D., McGee, M. & Welsh, D.: The Rapid Iterative Test and
Evlauation Method: Better Products in Less Time. In: R.G. Bias, & D.J.
Mayhew, (Eds.), Cost Justifying Usability – An Update for the Internet Age
(S. 489–517). Amsterdam: Morgan Kaufmann 2005
Microsoft: Windows XP – Guidelines for Applications. Letzer Zugriff am 02. Jan.
2003 unter
http://www.microsoft.com/hwdev/windowsxp/downloads/ (2003)
Molich, R., Bevan, N., Curson, I, Butler, S. Kindlung, E. Miller, D. & Kirakowski, J.:
Comparative evaluation of usability tests. Pro-ceedings of the Usability Professionals’ Association 1998
Molich, R. Thomsen, D.A., Karyukina, B., Schmidt, L., Ede, M., van Oel, W. &
Arcuri, M.: Comparative Usability Evaluation. Letzter Zugriff am 21.03.2003
unter http://www.dialogdesign.dk/tekster/cue2/abstract.doc (1999)
Muller, M.J.: PICTIVE – An Exploration in Participatory Design. In: Proceedings
of the SIGCHI conference on Human factors in computing systems: Reaching through technology (pp. 225–231). New York: ACM 1991
Muller, M.J. & Kuhn, S.: Partcipatory design. Communications of the ACM, 36[24],
p. 28 (1993)
Neuper C., Müller G., Kübler A., Birbaumer N., Pfurtscheller G.: Clinical application
of an EEG-based Brain-Computer Interface: a case study in a patient with severe motor impairment. Clinical Neurophysiology, 114(3), 399–409 (2003)
Nielsen, J.: Usability-Engineering at a discount. In: G. Salvendy & M.J. Smith
(Eds.), Designing and Using Human-Computer Interfaces and Knowledge
Based Systems. Amsterdam: Elsevier Science 1989
Nielsen,J.: Usability-Engineering. Boston, San Diego: Academic Press 1993
Nielsen, J.: Heuristic Evaluation. In: J. Nielsen & R.L. Mack (Eds.), Usability Inspection Methods (pp. 25–62). New York: John Wiley 1994
Nielsen, J.: Web Design – Erfolg des Einfachen. München: Markt & Technik 2000
5.5 Literatur
■
■
■
299
Nielsen, J. & Mack, R.L. (Eds.): Usability Inspection Methods. New York: John
Wiley 1994
Norman, D.: Cognitive Engineering. In: D.A. Norman & S.D. Draper (Eds.), User
Centered System Design (pp. 31–61). Hillsdale, NJ: Lawrence Erlbaum Associates 1986
Norman, D.: The Psychology of Everyday Things. New York: Basic Books 1988
Norman, D.: Emotional Design. New York: Basic Books 2004
Oakley, I., McGee, M.R., Brewster, S. & Gray, P.: Putting the feel in ‚look and feel‘.
In: Proceedings of the SIGCHI conference on Human factors in computing
systems table of contents, The Hague, The Netherlands (pp. 415–422). New
York: ACM Press 2000
Oberquelle, H.: Formen der Mensch-Computer-Interaktion. In: H. Balzert (Hrsg.),
Einführung in die Software Ergonomie (S. 95–144). Berlin: Walter De
Gruyter 1994
Olson, G.M. & Olson, J.S.: Groupware and Computer-Supported Cooperative
Work. In: J.A. Jacko & A. Sears (Eds.), The Human-Computer Interaction
Handbook (pp. 583–595). Mahwah: Lawrence Erlbaum Associates 2003
Oppermann, R., Murchner, B., Reiterer, H. & Koch, M.: Software-ergonomische
Evaluation. Der Leitfaden EVADIS II. Berlin: Walter de Gruyter 1992
Oviatt, S.: Multimodal Interfaces. In: J.A. Jacko & A. Sears (Eds.), The HumanComputer Interaction Handbook (pp. 286–304). Mahwah: Lawrence Erlbaum Associates 2003
Pagulayan, R.J., Steury, K.R., Fulton, B. & Romero, R.L.: Designing for fun: user
testing case studies. In: M.A. Blythe, K. Overbeeke, A.F. Monk & P.C. Wright
(Eds.), Funology – From Usability to Enjoyment (pp. 137–150). Dordrecht:
Kluwer 2003
Perry, M.: Distributed Cognition. In: J.M. Carroll (Ed.), HCI Models, Theories, and
Frameworks – Toward a Multidisciplinary Science (pp. 193–224). Amsterdam: Morgan Kaufmann 2003
Pettersson, R.: Information design: an introduction. Philadelphia: Benjamins 2002
Pirolli, P.: Exploring and Finding Information. In: J.M. Carroll (Ed.), HCI Models,
Theories, and Frameworks – Toward a Multidisciplinary Science (pp. 157–
192). Amsterdam: Morgan Kaufmann 2003
Pirolli, P. & Card, S.K.: Information Foraging. Psychological Review, 106, 643–675
(1999)
Preece, J.: Human-Computer Interaction. Wokingham: Addison-Wesley 1994
Proctor, R.W. & Vu, K.-P L.: Human Information Procession: An overview for
Human-Computer Interaction. In: J.A. Jacko & A. Sears (Eds.), The HumanComputer Interaction Handbook (pp. 36–51). Mahwah: Lawrence Erlbaum
Associates 2003
Raskin, J.: Das intelligente Interface. München: Addison-Wesley 2000
Rauterberg, M., Spinas, P., Strohm, O., Ulich, E. & Waeber, D.: Benutzerorientierte
Software-Entwicklung. Zürich: Hochschulverlag a. d. ETH Zürich; Stuttgart:
B.G. Teubner 1994
Robert, D., Berry, D., Mullaly, J. & Isensee, S.: Designing for the User with OVID.
Macmillan Technical Publishers 1998
Rosenfeld, L. & Morville, P.: Information Archtecture (2nd Edition). Sebastopol:
O’Reilly 2002
300
■
■
■
5 Usability und Design
Rosson, M.B. & Carroll, J.M.: Usability-Engineering – Scenario-based development
of human-computer interaction. San Francisco: Morgan Kaufmann 2002
Rosson, M.B. & Carroll, J.M.: Scenario-Based Design. In: J.A. Jacko & A. Sears
(Eds.), The Human-Computer Interaction Handbook (pp. 1032–1050).
Mahwah: Lawrence Erlbaum Associates 2003
Sarodnick, F. & Brau, H.: Methoden der Usability Evaluation: wissenschaftliche
Grundlagen und praktische Anwendung. 1. Aufl. Bern: Hans Huber 2006
Scheier, C & Heinsen, S.: Aufmerksamkeitsanalyse. In: S. Heinsen & P. Vogt
(Hrsg.), Usability praktisch umsetzen (S. 172–187). München: Hanser 2003
Schwabe, G. & Löber, A.: Personalisierbare elektronische Gruppenräume. In:
M. Herczeg, W. Prinz & H. Oberquelle (Hrsg.), Mensch & Computer 2002:
Vom Werkzeug zu Kooperativen Arbeits- und Lernwelten (S. 65–74). Stuttgart: B.G. Teubner 2002
Schweibenz, W. & Thissen, F.: Qualität im Web: benutzerfreundliche Webseiten
durch Usability Evaluation.Berlin: Springer-Verlag 2003
Sears, A. & Young, M.: Physical Disabilities and Computing Technologies: An
Analysis of Impairments. In: J.A. Jacko & A. Sears (Eds.), The HumanComputer Interaction Handbook (pp. 482–503). Mahwah: Lawrence Erlbaum Associates 2003
Seifert, K. & Rötting, M.: Sonderheft: Blickbewegung. MMI-interaktiv Journal.
Zugriff am 23.02.2004 unter
http://www.useworld.net/servlet/handleiss?obj_id=558&cat_id=40&vie=tru
(2003)
Shneiderman, B. & Plaisant, C.: Designing the User Interface. Bosten: Pearson 2004
Snyder, C.: Paper Prototyping. Amsterdam: Morgan Kaufmann 2003
Sutcliffe, A.: User centred requirements engineering.1. Publ. London: SpringerVerlag 2002
Sutcliffe, A.: Multimedia Interfaces. In: J.A. Jacko & A. Sears (Eds.), The HumanComputer Interaction Handbook (pp. 245–262). Mahwah: Lawrence Erlbaum Associates 2003
Svanæs, D. & Seland, G.: Putting the Users Center Stage: Role Playing and Low-Fi
Prototyping Enabled End Users to Design Mobile Systems. In: Proceedings
of CHI Conference (pp. 479–486), April 24–29, 2004 in Vienna 2004
Tamborello II, F.P. & Byrne, M.D.: Information Search: The Intersection of Visual
and Semantic Space (1821–1824). In: Proceedings of CHI 2005, April 2–7,
2005, Portland, Oregon, USA. New York: ACM 2005
Tekom: Heuristiken zur Webkommunikation. Zugriff am 6.09.2006 unter
http://www.tekom.de/index_neu.jsp?url=/servlet/
ControllerGUI?action=voll&id=289 (2001)
Tidwell, J.: Designing Interfaces – Patterns for Effective Interaction Design. Beijing: O’Reilly 2006
Thissen, F: Kompendium Screen-Design. Berlin: Springer-Verlag 2003
Thomas, C. & Bevan, N.: Usability Context Analysis – A Practical Guide, Version
4.04. Letzter Zugriff am 15.09.06 unter
http://www.usabilitynet.org/papers/UCA_V4.04.doc. (1996)
Tudor, L.-G.: A participatory design technique for high-level task analysis, critique
and redesign: The CARD method. In: Proceedings of the Human Factors
and Ergonomics Society (pp. 295–299). Meeting, Seattle, October 1993
5.5 Literatur
■
■
■
301
Tullis, T. & Wood, L.: How Many Users Are Enough for a Card-Sorting Study?
Proceedings UPA’2004 (Minneapolis, MN, June 7–11, 2004) 2004
Ulich, E.: Arbeitspsychologie. 3. Aufl. Stuttgart: Schäffer-Poeschel 1994
van Duyne, D.K., Landay, J.A. & Hong, J.I.: The design of sites. Boston: AddisonWesley 2003
van Welie: Interaction Design Patterns. Letzter Zugriff am 26.09.2006 unter
http://www.welie.com/patterns (2002)
Vredenburg, K., Mao, J.Y., Smith, P.W. & Carey, T.: A Survey of User-Centered
Design Practice. In: Proceedings of CHI 2002, April 20–25, 2002, Minneapolis, Minnesota, USA. New York: ACM 2002
Wahlster, W.: SmartKom: Symmetric Multimodality in an Adaptive and Reusable
Dialogue Shell. In: R. Krahl & D. Günther (Eds), Proceedings of the Human
Computer Interaction Status Conference 03.06.2003 (S. 47–62). Berlin: DLR
2003
Wandmacher, J.: Software-Ergonomie. Berlin: Walter de Gruyter 1993
Ware, C.: Design as Applied Perception. In: J.M. Carroll (Ed.), HCI Models, Theories, and Frameworks – Toward a Multidisciplinary Science (pp. 11–26).
Amsterdam: Morgan Kaufmann 2003
Weisbecker, A.: Ein Verfahren zur automatischen Generierung von softwareergonomisch gestalteten Benutzungsoberflächen. Berlin: Springer-Verlag
1995
Weiss, S.: Handheld Usability. New York, Chichester: Wiley 2002
Wessler, R., Geier, J. & Koller, F.: Using Server Log files to Assess a Web Site’s
Usability: The ErgoMind Indices. In: H. Luczak, A.E. Çakir & G. Çakir
(Eds.), WWDU 2002 Work With Display Units World Wide Work (pp. 305–
306). Berlin: Ergonomic 2002
Westerlund, B.: Design of Communication Interface Together with Family Members in interLiving. I-COM, 1, 54–58 (2006)
Wharton, C., Rieman, J., Lewis, C. & Polson, P.: The Cognitive Walkthrough
Method: A Practitioners’s Guide. In: J. Nielsen & R.L. Mack (Eds), Usability
Inspection Methods (pp. 105–140). New York: John Wiley 1994
Wood, L.E.: User interface design: bridging the gap from user requirements to
design. Boca Raton: CRC Press 1998
Wottawa, H. & Thierau, H.: Lehrbuch Evaluation. 3. Aufl. Bern: Hans Huber 2003
Ziegler, J. & Burmester, M.: Structured Human Interface Validation Technique –
SHIVA. In: Y. Anai, K. Ogawa & H. Mori (Eds.), Symbiosis of Human and
Artifact (pp. 899–906). Proceedings of the 6th International Conference on
Human-Computer-Interaction. Tokio, Japan, 9.–14. July 1995, Volume 2.
Amsterdam: Elsevier 1995
Ziegler, J. & Burmester, M.: Besondere EDV-Eingabegeräte. In: H. Luczak &
W. Volpert (Hrsg.), Handbuch Arbeitswissenschaft (S. 567–572). Stuttgart:
Schäffer – Poeschel 1997.
302
■
■
■
5 Usability und Design
Autorenverzeichnis
Prof. Dr. Roland Schmitz (Herausgeber)
Prof. Schmitz studierte von 1986 bis 1991 Mathematik an der TU Braunschweig und war danach wissenschaftlicher Mitarbeiter am Institut für
Analysis der TU Braunschweig.
Nach der 1994 erfolgten Promotion zum Dr. rer. nat. ging er als
wissenschaftlicher Mitarbeiter an das Technologiezentrum der Deutschen Telekom in Darmstadt (heute ein Teil der T-Systems). Dort war
er zunächst in der Abteilung für Software-Engineering tätig und wechselte 1997 in die Abteilung Sicherheitskonzepte und Kryptologie, mit
den Hauptarbeitsgebieten Sicherheit mobiler Kommunikation sowie
Standardisierung digitaler Signaturen. Seit 2000 ist er Professor für
Internet – Security an der Hochschule für Druck und Medien in Stuttgart, wo er auch das Amt des Datenschutzbeauftragten wahrnimmt.
Im Februar 2007 wurde Prof. Schmitz zum Studiendekan des Studienbereichs Medieninformatik an der Hochschule der Medien gewählt.
Prof. Dr. Michael Burmester
studierte Psychologie an der Süddeutschen Universität Regensburg. Er
begann seine Karriere als Wissenschaftler am Fraunhofer-Institut für
Arbeitswirtschaft und Organisation (IAO) in Stuttgart. 1997 wechselte
er zu Siemens Corporate Technology als Usability Consultant und
Forscher für Usability Engineering. Ab März 2000 leitete er das
Münchner Büro ebenso wie den Bereich Usability Engineering der
User Interface Design GmbH, eines beratenden Software- und Usability-Unternehmens. Seit September 2002 hat Michael Burmester die
Professur für Ergonomie und Usability im Studiengang Informationsdesign an der Hochschule der Medien in Stuttgart übernommen und
leitet das Usability Labor der Hochschule der Medien. Neben der Arbeit als Usability Consultant war Herr Burmester in mehreren nationalen und europäischen Forschungsprojekten als Projektmanager
Autorenverzeichnis
■
■
■
303
beteiligt. Ergebnisse und Erfahrungen seiner Forschungsarbeit und
Arbeit als Usability Consultant sind in über 70 wissenschaftlichen
Veröffentlichungen dokumentiert. Seine Forschungsinteressen liegen
in der Weiterentwicklung des Usability Engineerings in Richtung auf
eine umfassende Gestaltungsdisziplin, die die Mensch-Technik- Interaktion zu einem für den Menschen positiven Erlebnis macht. Er ist
Mitglied der European Association for Cognitive Ergonomics (EACE),
Mitglied der Deutschen Gesellschaft für Informatik (GI), der Usability
Professionals Association (UPA) und der Association for Computing
Machinery (ACM).
Prof. Dr. Bernhard Eberhardt
studierte von 1984 bis 1991 Mathematik an der Eberhard-Karls-Universität in Tübingen und an der University of Massachusetts in Amherst. 1994 promovierte er an der Eberhard-Karls-Universität in Tübingen. Anschließend arbeitete er als Postdoc am WSI/GRIS an der
Universität Tübingen und am iMAGIS an der Université Joseph Fourier in Grenoble. Seit 2000 ist er Professor im Fachbereich Elektronische Medien an der Hochschule der Medien in Stuttgart. Seine Lehrund Forschungsgebiete sind Computeranimation und Medieninformatik.
Ansgar Gerlicher
Dipl.-Ing. (FH) Ansgar Gerlicher studierte Medieninformatik an der
Hochschule der Medien (HdM) in Stuttgart. Während und nach seinem Studium war er bei verschiedenen Firmen als Softwareentwickler,
Projektleiter und Lehrbeauftragter tätig.
Von 2002 bis 2005 war er Assistent und Doktorand im Studiengang
Medieninformatik an der HdM. Seit Oktober 2005 arbeitet er als Berater und Softwarearchitekt für die Automobilbranche. Ein Schwerpunkt seiner Arbeit und das Forschungsgebiet seiner Dissertation ist
die computerunterstützte Zusammenarbeit, engl. Computer Supported Cooperative Work (CSCW).
Prof. Dr. Martin Goik
Dr. Martin Goik studierte theoretische Physik an der Universität
Karlsruhe und promovierte am Institut für angewandte Informatik
am Forschungszentrum Karlsruhe im Bereich Mustererkennung. Im
Anschluss an eine mehrjährige Industrietätigkeit im Bereich ERP Sys-
304
■
■
■
Autorenverzeichnis
teme nahm er eine Professur an der Hochschule der Medien an. Zu
seinen Interessen zählt die Entwicklung von Applikationen zur Verarbeitung strukturierter Dokumente.
Prof. Dr. Jens-Uwe Hahn
studierte von 1989 bis 1995 Mathematik an der Eberhard-KarlsUniversität in Tübingen und an der Louisiana State University in Baton
Rouge. Anschließend arbeitete er als Wissenschaftlicher Mitarbeiter am
WSI/GRIS an der Universität Tübingen, wo er im Jahre 2000 im Bereich
Computergrafik promovierte. Nach mehrjähriger Industrietätigkeit ist
er seit 2004 Professor im Studiengang Medieninformatik an der Hochschule der Medien in Stuttgart. Seine Lehr- und Forschungsgebiete sind
Softwareentwicklung, Computergrafik und Virtual Reality.
Dipl.-Ing.(FH) Marko Hedler, MInfTech
Der gelernte Schriftsetzer Marko Hedler studierte von 1998 bis 2002
Medieninformatik an der Stuttgarter Hochschule der Medien (HdM).
An der Swinburne University in Melbourne, Australien, erwarb er im
Anschluss den Master of Information Technology. Nach seinem Studium war er als Assistent im Studiengang Medieninformatik sowie als
Berater und Projektingenieur im Bereich Satzherstellung und XMLLösungen tätig. Seit 2006 ist er Professurvertreter für Publishing und
Cross-Media-Systeme an der HdM. Seine Schwerpunkte liegen dabei
auf den Bereichen automatisierte Satzherstellung und XML-Technologien. Neben seiner Lehrtätigkeit promoviert Marko Hedler an der
Bergischen Universität Wuppertal im Bereich „XML-Sprachen“.
Prof. Dr.-Ing. Oliver Kretzschmar
Dr.-Ing. Oliver Kretzschmar studierte von 1983 bis 1990 an der Universität Stuttgart Maschinenbau mit den Schwerpunkten Steuerungstechnik und Angewandte Informatik. Danach arbeitete er als Stipendiat am Institut IKE der Universität Stuttgart und promovierte 1994.
Im Zeitraum von 1994 bis 2004 war Dr.-Ing. Oliver Kretzschmar als
Unternehmer in leitenden Positionen wie Vorstandsvorsitzender,
Produkt- und Projekt-Manager im Umfeld der Medien-Logistik und
des Content-Management tätig. Seit 2001 war Dr.-Ing. Oliver Kretzschmar als Lehrbeauftragter in der Medieninformatik engagiert. Seit
2004 lehrt Dr.-Ing. Oliver Kretzschmar als Professor an der Hochschule der Medien in Stuttgart im Studiengang Medieninformatik. Seine
Autorenverzeichnis
■
■
■
305
Lehr- und Forschungsgebiete sind Mediendatenbanken, MedienLogistik-Systeme sowie Content-, Produkt- und Dokumenten-Management-Systeme.
Email: kretzsch@hdm-stuttgart.de
Prof. Dr. Jörg Westbomke
Jörg Westbomke studierte von 1991 bis 1996 Informatik mit Nebenfach Betriebswirtschaftslehre an der Universität Dortmund. Nach
seinem Studium war er als wiss. Mitarbeiter am Lehrstuhl Informatik I
der Universität Dortmund in verschiedenen Projekten zu der Thematik „Digital Libraries“ tätig. Nach der Promotion im Bereich der XMLbasierten Implementierung strukturierter Hypermedia-Dokumente
wechselte er als stv. Bereichsleiter zu dem Forschungsinstitut für anwendungsorientierte Wissenverarbeitung nach Ulm. Seit 2003 hat er
die Professur “Werkzeuge für Inter-, Intranet und Multimedia“ im
Studiengang Informationsdesign der Hochschule der Medien inne.
Seine Schwerpunkte liegen im Bereich Internettechnologien, barrierefreies Webdesign, Datenbanken, XML und Multimedia.
306
■
■
■
Autorenverzeichnis
Index
3
3D-Maus 94
A
Abtastfehler 66
activity scenario 277
Ad-hoc-Workflows 225
AIIM (Association for Information
and Image Management) 209
Ajax 153
Ambientes Licht 54
Anaglyphen-Verfahren 87
Analysing 233
Anforderungen 251, 253–255, 257,
269, 272–274, 280, 284, 285, 287,
288, 294
Annodex
Continuous Media Web 154
Anschlußbedingungen 45
ANSI NCITS 354 287
AO (Allgemeine Abgabenordnung)
236
Application Sharing 155
Arbeitsmittel 247
Archivierung 234
Assets 199
Asynchrone Groupware 150
Asynchrone Systeme 143
AttrakDiff 2 285
Attraktivität 249, 254, 264–267
Aufgabe 247, 272
Aufgabenanalyse 274
Ausgabegeräte 91
Austauschformate 117
Autorensysteme 210
Autostereoskopische Displays 90
Awareness 144, 186
Awareness-Mechanismen 188
B
Backup 234
Barizentrische Koordinaten 47
Beleuchtungsgleichung 50
Beleuchtungsmodell 52
Benutzer 247, 257, 268
Benutzerfreundlichkeit 246
Benutzergruppen 272
Benutzerprofile 274
Benutzerzentrierte Gestaltung
250, 268, 288, 289
Benutzerzentrierter
Gestaltungsprozess 247, 269
Benutzungsschnittstelle 246, 253,
255, 258, 259, 268, 276, 278, 279,
281, 283, 285, 286, 292–295
Berechtigungskonzepte 240
Bernsteinpolynom 19
Bewußtheit Siehe Awareness
Beziehungsmodelle 222
Bézierkurve 19
Bézierpflaster 42
Bézierspline 27
Bézier-Tensorproduktfläche 42
Bidirektionale Reflexionsfunktion 51
Bilddatenbanken 209
Bildpaar 86
Bildschirmarbeitsplatz 245
Binäre Formatierung 200
BMEcat 237
Index
■
■
■
307
Branching 161
BRDF 51
Bridging the gap 276
B-Spline-Basisfunktionen 29
B-Splines 29
Bump-Mapping 63
Bündelung 206
Business Process Execution Language
(BPEL) 225
Business Process Modeling Language
(BPML) 225
Business-Process-ManagementSysteme (BPM) 211
C
CARD 279, 301
Card-Sorting 280, 302
Catmull-Rom-Spline 19
Cg 84
Change-Management 152
Channeling 233
Chat 157
Check-In-Vorgang 214
Check-Out-Vorgang 214
CI 217
CIELAB-Farbraum 218
Cocoon 229
Cognitive Walkthrough 284, 285, 302
COLD-Verfahren (Computer Output
to Laser Disk) 217
Collaboration 213
Collaborative Anaysis of
Requirements and Design Siehe
CARD
Collaborative Filtering 233
Common Industry Format for
Usability Test Reports 287
Composing-Objekte 223
Computer 245
Computer Supported Cooperative
Work
CSCW 143, 145, 146, 191
Computer-Supported-CooperativeLearning 153
concurrency control 170
Content 198
Content-Aggregation 226
308
■
■
■
Index
Content-based Filtering 233
Content-based-Image-Retrieval 221
Content-Broking 216
Content-Delivery 226
Content-Management-Systeme
(CMS) 210
Content-Personalisierung 232
Content-Publishing 227
Content-Related-Technologien 197
Content-Rendering 228
Content-Repository 217
Content-Rotation 240
Content-Strategie 205
Content-Syndication 216
Content-Templating 227
Contextual Design 274
Cooperation
Collaboration 146, 147
Copy-Merge 159, 170, 171
Credibility Siehe Glaubwürdigkeit
Cross-Media-Publishing 241
D
Daten 198
Datenhandschuh 94
Deadlock 173
De-Boor-Algorithmus 32
De-Boor-Punkte 31
De-Casteljau-Algorithmus 22
Dialogbaustein 276, 287, 295
Diffuse Reflexion 54
DIN EN ISO 13407 247, 253, 268, 269,
275, 288, 294
DIN EN ISO 14915 255
DIN EN ISO 14915 Teil 1-3 278
DIN EN ISO 9241 Teil 10 278
DIN EN ISO 9241 Teil 11 247
DIN EN ISO 9241 Teil 12 bis 17 278
DIN EN ISO 9241-11 249, 256,
264, 294
DIN EN ISO 9241-110 253
DIN ISO/IEC 12119 249
Direct3D 82
dirty-reads 175
dirty-writes 175
discount usability methods 286
Distribution 206
Divergenz 165–167, 179
Dokument 201
Dokumenten-Management-Systeme
(DMS) 210
Dokumenttyp-Definition 119
DublinCore 220
Dynamischer Content 230
Dynamisches Publishing 231
E
Ease of Learning 246
Ease of Use 246
ebXML (Electronic Business using
eXtensible Markup Language) 237
eCl@ss 238
ECM-Modell 211
E-Learning 156
Electronic Whiteboard 154
Elektromagnetisches Tracking 93
E-Mail 150
Enabling-Technologien 215
Enterprise-Content-ManagementSysteme (ECMS) 211
Entscheidungsfindung 158
Entwurf und Gestaltung 276
Entwurfsmuster 278, 279
ErgoNorm 285
Erlernbarkeit 246
ETIM 238
Evaluation 247, 258, 268, 270, 271,
275, 278, 283–287, 291, 293, 296,
298–302
Erfolgskriterien 286
formativ 284
Güte 285
summativ 284
Evaluationsmethoden 283–285, 291
Evaluationsziele 280, 282, 286
Expertenleitfäden 285
Expertise 263
Explizites Profilieren 232
Extreme Programming 290–292
F
Farben 52
Fehlerbewältigung 250
Fernnäherung 74
Fläche 38
Flat-Shading 57
Fokusgruppe 274
Footprint 66
Footprint Assembly 67
Formfaktor 72
Fragebögen 285
Fragmentierung von Content 219
Fragment-Prozessor 82
Fragment-Shader 83
Full-Winged-Edge 7
G
GDPdU (Grundsätze des Datenzugriffs und der Prüfbarkeit
digitaler Unterlagen) 236
Gebrauchstauglichkeit 246, 247
Definition 247
Geometrische Stetigkeit 11
Geschäftsprozess 203
Gestaltung als Prozess 269
Gestaltungswissen 278–280
Gewichte 37
Glaubwürdigkeit 263
Globale Beleuchtung 68
GLSL 84
GoBS (Grundsätze ordnungsmäßiger
DV-gestützter Buchführungssysteme) 236
Gouraud-Shading 58
GPU 81
Graderhöhung 23
Grafikprogrammierung 81
Groupware 143–150, 152–155, 170,
181, 188, 190, 191
Workgroup Computing 148
Gruppenbewusstsein
Awareness 147, 186
Gruppenkalender 154
H
Halbbild 86
Haptische Ausgabegeräte 92
HCI Siehe Human-Computer
Interaction
Index
■
■
■
309
Head Mounted Display 87, 91
Hemicube-Verfahren 74
Hermitekurve 17
Hermitepolynom 18
Hermite-Spline 18
Heuristische Evaluation 285
HGB (Handelsgesetzbuch) 236
Hierarchien 219
History-Buffer 179
HLSL 84
Homonym-Suche 221
Hornerschema 12
Human Computer Interaction 188
Hybrid-Architektur 184
Hypermedia 153
Hypertext 152
I
ICE-Standard (Information and
Content Exchange) 216
Identifizierung 232
Image-Mining 221
immediate restart 173
ImmersaDesk 92
Immersion 84
Implizites Profilieren 233
Industriestandard 278, 284
Infinity Wall 92
Infitec 88
Information 197
Information Scent 262, 294
Information-Architect 289
Information-Foraging-Theorie
260, 262
Kosten 261
Information-Scent 261
Informationsraum 261
Informationssuche 262
Inkludierung von Content 220
Intellectual-Property-Management
(IPM) 216
Intentionsverletzung 165, 167
Interaction Pattern 278, 279
Interaction-Designer 289
Interaktives System 258
Interpolation 13, 41
IPTC 220
310
■
■
■
Index
ISO/FDIS 20282-1 279
ISO/IEC 18035 279
ISO/IEC 18036 279, 297
ISO/IEC 25062 287
ISONORM10 285
J
JSR-170 (Java Specification Request
170) 219
K
Kantenorientierte Datenstrukturen
5
Katalog-Management-Systeme
210
Kausalitätsverletzung 165, 167
klassisches Radiosity 72
Knoten 13, 34
Knowledge-Management-Systeme
(KMS) 211
Kollaborative Betriebssysteme 159
Konfliktauflösung 170, 178
Konfliktprävention 170
Konsistenzerhaltung 161, 179
Kontext-Checklist 274
Kontextinterview 274
Kontextsitzung 274
Kontrollnetz 42
Kontrollpunkt 31, 33
Konvergenz Siehe Divergenz
Konvexe Hüllen-Eigenschaft 33
Krümmungsvektor 28
L
Lagrangekurve 16
Lagrangepolynom 16
Länge einer Kurve 10
Langzeitarchivierung 235
Layout 200
Layout vor Redaktion (Text) 214
Lichtquelle 53
Live-Specification 287
locking Siehe Sperrverfahren
Log-File-Analyse 285
Lokale Beleuchtungsmodelle 52
M
O
Magnetisches Tracking 93
Mapping 61
Matching 233
Media-Asset-Management-Systeme
(MAM) 209
Media-Mining 221
Medien 198
Mediendatei 198
Medien-Logistik-Systeme 210
medienneutrale Datenhaltung 218
medienneutraler Farbraum 218
Medienobjekte 198
Mehrbenutzer Editoren 143, 144,
146, 158, 162, 164, 168, 170, 178,
181, 184, 190
Mehrbenutzer Spiele
Multiplayer Games 158
Mehrfachverwertung 204
Mehrsprachigkeit 240
Merging 161
Meshing 79
Metadaten 198, 200, 220
Mipmap 67
Modalitäten 259
Modell der Attraktivität 267
Monombasis 12
Monome 9
Monte-Carlo-Radiosity 79
Multi-Channeling 241
Multimedia-Objekte 198
Multisite-Management 240
Multisynchrone Systeme 144
Oberflächenmodelle 2
Objektorientierter Entwurf
graphischer Benutzungsschnittstellen 276
OCR/ICR (Optical Character
Recognition und Intelligent
Character Recognition) 217
ODMA API (Open Document
Management API) 215
OpenGL 81
OpenTRANS 238
Operational Transformation
178–180, 184
opportunistische
Mehrfachverwertung 205
Optimistisches Sperren 174
Optisches Tracking 93
Ordnungssystem 201
Organisatorisches Umfeld 272
N
Nachbarschaftsinformationen 4
NCI 217
Nebenläufigkeitskontrolle 170, 171
Newsgroups 151
Normale 39
NURBS 36
Nutzungskontext 247, 260
Eigenschaften 272
Nutzungskontextanalyse 270, 271,
273–276, 283, 286, 288, 290
Nutzungsqualität 246
P
Painters Algorithmus 60
Papierprototyp 281
Parameterlinien 42
Parametrische Stetigkeit 10
Parametrisierte Fläche 39
Parametrisierte Kurven 9
Parser 119
Partizipatives Gestalten 279
PDF/A 235
Peer-to-Peer 156, 184, 185
P2P 157
Persuasive Aspekte 262
Pessimistisches Sperren 172
Pfad-Tracing 70
Phong’sches Beleuchtungsmodell
56
Phong-Shading 58
Photon-Tracing 70
Physikalisches Umfeld 272
PICTIVE 279, 299
Pixel-Shader 83
Plastic Interface for Collaborative
Technology Initiatives through
Video Exploration Siehe PICTIVE
Index
■
■
■
311
Pluralistic Usability Walkthrough 285
Polarisation 88
Polygonnetz 3
Portal-Systeme 210
PostFlight-Werkzeuge 215
Power Wall 92
preclaiming 173
PreFlight-Werkzeuge 215
Primärstrahl 69
Problem Scenario 274
Problemszenario 277
Produkt-Informations-Systeme 210
Profilierung 232
Progressive-Refinement 76
Prominence-Interpretation Theory
263
Prototyping 281
Taxonomie 281
Zielgerichtet 282
Punktlichtquelle 53
Push-to-Talk 158
Reflexion 54
Reflexions-Mapping 64
Regelbasierte Verfahren 233
Reguläre Fläche 38
Reguläre Kurve 10
Rendering-Formatierung 200
Reparametrisierung 10
Replizierte Architektur 183
Requirements-Management 152
Retrieval 220
Return of Investment 250
Revisionssichere Archivierung 235
Reziprozität 189
Richtungslichtquelle 54
RITE Siehe Rapid Iterative Test and
Evaluation
ROI Siehe Return of Investment
Rollbacks 174
RSS 153
Rule-based Filtering 233
RUP Siehe Rational Unified Process
Q
S
QOC 280
Qualität der Nutzung 246, 247, 254,
265, 268, 291
Querdisparation 85
Scenario Based Design 276
Scenario Machine 282
Scenario-Based Design 277, 301
Schattenstrahl 69
Schema-Definition 119
Screen-Design 279, 301
Seiten- und Blattplanung 240
serielle Äquivalenz 164
Severity Rating 287
Shader 82
Shading 57
Sharing 155, 161, 190
Shutterbrille 88
SIP 158
Software-Architektur 181
Software-Engineering 288–290,
297, 299
Source Code Control
SCC 162
Spekulare Reflexion 55
Sperrgranularität 176
Sperrverfahren 160, 161, 163,
164, 170, 171, 173–175, 177,
178, 182, 185
R
Radiosity 71
Radiosity-Gleichung 71
Randrepräsentierungen 2
Rapid Iterative Test and Evaluation
291
Rapid Prototype 282
Rational Unified Process
288, 290, 298
Rationale Kurven 35, 45
Raytracing 68, 75
Real-Time Collaborative Editing 163
Records-Management-Systeme
(RMS) 209
Redaktion (Text) vor Layout 214
redaktioneller Prozess 213
Redaktionssysteme 210
Referenzierung von Content 220
312
■
■
■
Index
Spezifikations- und Style-GuideRedakteur 289
Sphere-Map 65
Spiegelnde Reflexion 55
Spline 27
Split-Combine 159, 170, 171
Staging-Konzepte 231
starvation 175
static locking 173
Statischer Content 230
Statisches Publishing 231
Stereoskopie 85
Stetigkeit von Flächen 38
Storyboard 281
Struktur 198, 200
Stützstellen 13
Style-Guide 276, 287, 289
Suchfunktionen 220
Synchrone Groupware 154
Synchrone Systeme 143, 149
Synonym-Suche 221
Systemanalytiker 289
systematische Wiederverwendung
205
T
Tagging 161, 201
Taktile Geräte 92
Tangente 38
Tangentenvektor 28
Taxonomien 219
Taylorbasis 12
Technisches Umfeld 272
Telepointing 188
Teleporting 188
Tensorproduktfläche 38, 39, 46
Texturfilterung 66
Texturkoordinaten 62
Textur-Mapping 62
timestamp ordering Siehe
Zeitstempelordnungsverfahren
Total Cost of Ownership – TCO 208
Tracking 93
Translation-Memory-Systeme (TMS)
217
trustworthiness Siehe
Vertrauenswürdigkeit
Turn-Taking 159, 170, 171
two phase locking Siehe ZweiPhasen-Sperren
U
Ubiquitous Computing 188
Ultraschall-Tracker 93
Umgebung Siehe Nutzungskontext
Umgebungslicht 54
Umgebungs-Mapping 64
uncommited dependency 173
Unterhaltungselektronik 249
Usability 145, 147, 148, 153, 168,
188–190, 245, 246
Definition 247
Differenzierung 252
effektiv 247
Effizienz 248
Gesetze 253
Gesundheit 252
Innovationsfaktor 252
Internet 246
Kostenersparnis 251, 252
Kundenloyalität 252
Neue Kunden 251
Nutzen 249
Produktivität 252
Umsatz & Gewinne 251
Zeitersparnis 251
Zielorientierung 247
Zufriedenheit 252
Zufriedenstellung 248
Usability Evaluator 289
Usability-Engineering 250, 268, 269,
276, 288, 290–293, 295–297, 299,
301
Definition 253
Usability-Probleme 251, 271,
287, 291
Usability-Ziel 269–271, 275, 283, 286,
287, 291
Usage-Centred Software Lifecycle
290
Use Case Specifier 289
Usefullness 246
User Centred Design 268
User Interface Designer 289
Utility 246
Index
■
■
■
313
V
Validierung 215
Validierungsphase 174, 176
Varianten 223
Vector-Logical Clock 179
Verallgemeinerte Bernsteinpolynome
47
Verdeckung 59
Vergleichsbasiertes Verfahren 233
Versionen 222
Versionsverwaltungssysteme
146, 147, 159–162, 181
Vertexliste 4
Vertex-Prozessor 82
Vertex-Shader 83
Vertrauenswürdigkeit 263
Video Prototyp 282
Videokonferenzsysteme 156
Virtual Reality 84
VoIP 158
Volltextsuche 221
W
Wahrgenommene hedonische
Qualität – Evocation (HQ-E) 266
Wahrgenommene hedonische
Qualität – Identität (HQ-I) 266
Wahrgenommene hedonische
Qualität – Stimulation (HQ-S) 266
Wahrgenommene hedonische
Qualität (HQ) 265
Wahrgenommene pragmatische
Qualität (PQ) 265
wait depth limited 173
Wavelet-Radiosity 79
Web 2.0 153
Web Service 153
Web-Content-Management-Systeme
(WCMS) 210
314
■
■
■
Index
WebDAV 153, 162
WebDAV-Schnittstelle (Web-based
Distributed Authoring and
Versioning) 216
Weblogs 152
Wellenlängenmultiplex-Verfahren 88
Widgets 188
Wiki 152
Winged-Edge 5
Wissen 199
Wizard of Oz Prototyp 281
WML 228
Workflow 203
Workflow Management Coalition
(WfMC) 225
Workflow-Definition 224
Workflow-Enactment-Service 225
Workflow-Engine 225
Workflow-Management-Systeme
(WfMS) 203
Workflow-Modellierung 224
Workspace Awareness 186
WYSIWID 188
WYSIWIS 155
X
XHTML MP/CSS 228
XML-Publishing-Frameworks 229
XMP 220
XSL-FO 229
XSLT (Extensible Stylesheet Language
Transformation) 229
Z
z-Buffer 59
Zeitmultiplex-Verfahren 87
Zeitstempelordnungsverfahren 177
zentralisierte Architektur 181
Zwei-Phasen-Sperren 173