85
Diplomarbeit Konzeption und prototypische Realisierung einer Software für die Informationsvisualisierung Benjamin Knofe 13.10.2011 Betreuer: Professor Dr.-Ing. Robert Müller Hochschule für Technik, Wirtschaft und Kultur Leipzig

Benjamin Knofe: Konzeption einer Software für Informationsvisualisierung

Embed Size (px)

DESCRIPTION

Thesis Benjamin Knofe Konzeption einer Software für InformationsvisualisierungUni Leipzig 2011

Citation preview

  • Diplomarbeit

    Konzeption und prototypische

    Realisierung einer Software fr

    die Informationsvisualisierung

    Benjamin Knofe

    13.10.2011

    Betreuer:

    Professor Dr.-Ing. Robert Mller

    Hochschule fr Technik, Wirtschaft und Kultur Leipzig

  • Danke

    fr Kritik, Kommentare, Diskussionen,

    Korrekturen, Code und Hilfe

    (in alphabetischer Reihenfolge)

    Theresia Becher

    Pyry Jahkola

    Stephan Keller

    Johannes Knofe

    Moritz Kreutzer

    Ted Mosby

    Professor Dr.-Ing. Robert Mller

    Christina Sanko

    Sarah Walter

    Philip Whitfield

    Ren Zschoch

  • Die Diplomarbeit

    Konzeption und prototypische Realisierungeiner Software fr die Informationsvisualisierung

    von Benjamin Knofe (http://www.videosynthesis.net)

    steht unter einerCreative Commons Namensnennung 3.0 Deutschland Lizenz.

    Um eine Kopie dieser Lizenz zu sehen, gehen Sie bitte auf http://creativecommons.org/licenses/by/3.0/de/

    oder schreiben Sie einen Brief an Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

  • Inhaltsverzeichnis

    1 Einleitung 7

    1.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2 Grundlagen 13

    2.1 Daten und Information . . . . . . . . . . . . . . . . . . . . . . . 13

    2.2 Eigenschaften von Daten . . . . . . . . . . . . . . . . . . . . . . 15

    2.3 Klassifikation von Daten . . . . . . . . . . . . . . . . . . . . . . 17

    2.3.1 Mehrdimensionale Daten . . . . . . . . . . . . . . . . . . 17

    2.3.2 Multiparameterdaten . . . . . . . . . . . . . . . . . . . . 18

    2.3.3 Abstrakte Daten . . . . . . . . . . . . . . . . . . . . . . 19

    2.4 Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.5 Grafische Semiologie . . . . . . . . . . . . . . . . . . . . . . . . 22

    3 Informationsvisualisierung 26

    3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    3.2 Verwandte Arbeitsfelder . . . . . . . . . . . . . . . . . . . . . . 29

    3.3 Bearbeitungsziele . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.4 Visualisierungsprozess . . . . . . . . . . . . . . . . . . . . . . . 34

    4

  • Inhaltsverzeichnis

    3.5 Grafische Darstellung . . . . . . . . . . . . . . . . . . . . . . . . 35

    3.5.1 Begriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3.5.2 Darstellungsformen . . . . . . . . . . . . . . . . . . . . . 36

    4 Konzeption 39

    4.1 Allgemeine Betrachtungen . . . . . . . . . . . . . . . . . . . . . 39

    4.2 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    4.3 Visuelle Programmierung . . . . . . . . . . . . . . . . . . . . . . 42

    4.4 Prozesskette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4.4.1 Importieren von Datenquellen . . . . . . . . . . . . . . . 48

    4.4.2 Festlegung der visuellen Variablen . . . . . . . . . . . . . 49

    4.4.3 Evaluation der grafischen Darstellung . . . . . . . . . . . 49

    4.4.4 Export der grafischen Darstellung . . . . . . . . . . . . . 50

    4.5 Bestehende Softwarelsungen . . . . . . . . . . . . . . . . . . . 50

    5 Prototypische Realisierung 52

    5.1 Technologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    5.2 Wichtige Kernfunktionen . . . . . . . . . . . . . . . . . . . . . . 55

    5.3 Implementierte Nodes . . . . . . . . . . . . . . . . . . . . . . . 59

    5.4 Beispielanwendung . . . . . . . . . . . . . . . . . . . . . . . . . 62

    5.5 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    6 Evaluation 66

    7 Zusammenfassung 69

    7.1 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    7.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    5

  • Inhaltsverzeichnis

    8 Anhang 73

    8.1 Liste von bestehenden Softwarelsungen . . . . . . . . . . . . . 73

    8.2 Liste aller implementierten Nodes . . . . . . . . . . . . . . . . . 74

    8.3 Beispiel: Temperaturen einer Wetterstation . . . . . . . . . . . . 76

    8.4 Beispiel: Benutzeroberflche . . . . . . . . . . . . . . . . . . . . 77

    8.5 Beispiel: Medienunternehmen in den Stadtteilen Leipzigs . . . . 78

    9 Literaturverzeichnis 79

    10 Tabellenverzeichnis 82

    11 Abbildungsverzeichnis 83

    6

  • 1 Einleitung

    Die Menge an digital gespeicherten Daten nimmt stetig zu. Im Jahr 2011 wer-

    den laut einer neuen Studie1 voraussichtlich 1,8 Zettabyte2 an Daten erzeugt

    und kopiert. In nahezu allen Bereichen unseres tglichen Lebens werden Da-

    ten erhoben, gemessen und gespeichert. Neben der Wissenschaft, Wirtschaft

    und Kultur verfolgen ffentliche Bereiche der Politik und Verwaltung eine neue

    Strategie im Umgang mit Daten. So haben Stdte, wie beispielsweise Leipzig,

    eine ffentliche Datenschnittstelle. Staaten, wie Grobritannien, verfolgen ein

    ganzheitliches Konzept des e-Government. Aufgrund dieser aktuellen Entwick-

    lungen ist es notwendig, neue Strategien zu entwickeln, die diese Daten fr die

    jeweiligen Zielgruppen sinnvoll extrahieren, aufarbeiten und darstellen. Aus

    diesem Grund wurden in verschiedenen Forschungsfeldern, wie beispielsweise

    Statistik, Data-Mining, Computergrafik und Informatik spezielle Lsungsan-

    stze entwickelt. Die Informationsvisualisierung verbindet Bereiche dieser Dis-

    ziplinen in einem eigenstndigen Forschungsgebiet. In diesem wird die Frage

    geklrt, wie immer abstrakter und komplexer werdende Daten in einer fr

    den Menschen adquaten Weise aufbereitet und dargestellt werden knnen.

    Informationen in Form von Mustern, Wiederholungen und Anomalien sind

    1Vgl. (EMC, 2011)21 Zettabyte = 1 1021 Byte = 1.000.000.000.000 Gigabyte

    7

  • 1 Einleitung

    dadurch leichter auffindbar und erlauben Rckschlsse auf den eigentlichen

    Forschungsgegenstand. Ursprnglich wurden Visualisierungstechniken nur im

    naturwissenschaftlichen Kontext angewendet. Im Gegensatz dazu hat sich die

    Informationsvisualisierung zu einem populren Arbeitsfeld entwickelt. Sie ver-

    sucht ein breites Spektrum an Problemen zu lsen und ist nicht mehr nur ein

    Werkzeug von Experten und Wissenschaftlern. Alltgliche Anwendungen im

    Bereich der sozialen Netzwerke, beim Onlineshopping und bei der Suche nach

    Informationen im Internet knnen mit der Informationsvisualisierung verbes-

    sert werden. Sie untersttzt die Gestaltung von Benutzerschnittstellen, um die-

    se verstndlicher und intuitiv einsetzbar zu machen. Damit wird es vor allem

    Gelegenheitsanwendern leicht gemacht, Informationen und Wissen noch besser

    mit Anderen zu kommunizieren und zu teilen. Das erfordert (digitale) Werk-

    zeuge, die den Benutzer untersttzen und ihm die Mglichkeit geben, Daten

    fr Problemlsungen nutzen zu knnen. Um die Informationsvisualisierung er-

    folgreich einzusetzen, muss eine Vielzahl von Fragestellungen beantwortet und

    gelst werden.

    1.1 Problemstellung

    Abbildung 1.1 zeigt beispielhaft eine Informationsvisualisierung, in der die

    unterschiedliche Bedeutung von Farben in verschiedenen Kulturkreisen visua-

    lisiert wird. Die einzelnen Ringe der kreisfrmigen Darstellung bilden zehn

    unterschiedliche Kulturkreise ab. Der Kreis ist unterteilt in 84 Begriffe. Der

    Farbton der Rechtecke stellt dar, welche Farbe einem Begriff von Menschen

    einer bestimmten Kultur zugeordnet wird. Sie wurde von David McCandless

    8

  • 1 Einleitung

    Abbildung 1.1: Beispiel einer Informationsvisualisierung aus (McCandless, 2009,S. 76)

    9

  • 1 Einleitung

    mit einem Vektorgrafikprogramm erstellt, um eine tiefgreifende Auseinander-

    setzung zwischen ihm (als menschlichen Betrachter) und den Informationen

    zu ermglichen und Entscheidungen ber das Design direkt treffen zu kn-

    nen.3 Der Nachteil dieser Arbeitsweise ist eine zeitaufwndige manuelle Tran-

    skription aller Datenwerte in eine grafische Darstellung. Bei der Visualisierung

    von komplexeren Zusammenhngen und greren Datenmengen wrde dieser

    Nachteil noch verstrkt werden und es teilweise unmglich machen, eine Vi-

    sualisierung durchzufhren.

    In dieser Arbeit wird untersucht, ob es mglich und sinnvoll ist, diesen Pro-

    zess zu automatisieren, ohne Einschrnkungen fr den Anwender festlegen zu

    mssen. Eine Software muss dafr einen universellen Ansatz verfolgen, um

    ein breites Spektrum an unterschiedlichsten Bearbeitungsfllen abdecken zu

    knnen. Aktuelle Standardsoftware, wie beispielsweise Tabellenkalkulations-

    programme oder Programmierbibliotheken, knnen das nur teilweise leisten

    oder beschrnken sich auf spezielle Anwendungsgebiete. Meist kann dabei, fr

    die Transkription von Daten zu einer grafischen Darstellung nur aus einer be-

    grenzten Auswahl an Voreinstellungen gewhlt werden.

    Um eine universelle Software zu konzipieren, die dem Benutzer eine grt-

    mgliche Gestaltungsfreiheit einrumt, sind folgende Vorberlegungen notwen-

    dig:

    Welche Art von Daten gibt es und wie knnen diese klassifiziert werden?

    Welche Mglichkeiten der grafischen Darstellung gibt es und wie knnen

    diese eingesetzt werden?

    3Vgl. (McCandless, 2011)

    10

  • 1 Einleitung

    Wie knnen Daten sinnvoll in eine grafische Darstellung transkribiert

    werden?

    Diese Vorberlegungen machen ein Softwarekonzept ntig, das den Anwender

    besonders bei der arbeitsintensiven Transkription von Daten in eine grafische

    Darstellung untersttzt. Um eine iterative und kreative Benutzung zu ermgli-

    chen, muss dieser Vorgang automatisch durchgefhrt werden und unmittelbar

    eine Ausgabe erzeugen.

    Die Konzeption einer auf diese Aspekte spezialisierte Software ist Gegen-

    stand dieser Arbeit.

    1.2 Aufbau der Arbeit

    Um eine Lsung fr das Problem eines universellen Informationsvisualisie-

    rungsansatzes zu finden, werden in dieser Arbeit Schritte durchgefhrt, welche

    die Konzeption einer Software zum Ziel haben. Diese Software wird prototy-

    pisch implementiert.

    In Kapitel 2 werden die grundlegenden Begriffe beschrieben, die fr das Ar-

    beitsfeld der Informationsvisualisierung wichtig sind. Es werden die Begriffe

    Daten und Informationen definiert und eine Klassifikation von Daten vorge-

    nommen. Nachfolgend wird ein System zur Beschreibung der Grundelemente

    einer grafischen Darstellung eingefhrt.

    In Kapitel 3 wird der Begriff der Informationsvisualisierung definiert und

    von verwandten Arbeitsfeldern abgegrenzt. Danach werden die Bearbeitungs-

    ziele der Informationsvisualisierung und die Einteilung des Arbeitsprozesses

    11

  • 1 Einleitung

    beschrieben. Im letzten Abschnitt dieses Kapitels wird die grafische Darstel-

    lung als Produkt der Informationsvisualisierung charakterisiert.

    In Kapitel 4 wird eine Software konzipiert. Der Aufgabenbereich der Soft-

    ware wird durch Anforderungen definiert. Der nchste Abschnitt beschreibt die

    visuelle Programmierung als Bedienkonzept. Die Benutzung der Software wird

    anhand einer Prozesskette dargestellt. Im letzten Abschnitt dieses Kapitels

    wird auf bestehende Softwarelsungen eingegangen.

    Kapitel 5 dokumentiert die Umsetzung des Prototyps. Neben den verwen-

    deten Technologien werden Teile der Software beschrieben und erlutert, wel-

    che Funktionen diese haben. Dann wird die Benutzung der Software anhand

    eines Beispiels gezeigt. Am Ende des Kapitels wird auf Probleme bei der Ent-

    wicklung eingegangen.

    In Kapitel 6 erfolgt die Auswertung des Prototyps. Dieser wird anhand der

    zuvor aufgestellten Anforderungen evaluiert.

    In Kapitel 7 werden die Ergebnisse dieser Arbeit aufgezeigt und ein Ausblick

    auf mgliche weiterfhrende Forschungsarbeit gegeben.

    12

  • 2 Grundlagen

    Dieser Teil der Arbeit beschreibt die grundlegenden Begriffe, die einen Zugang

    zum Arbeitsfeld der Informationsvisualisierung ermglichen.

    2.1 Daten und Information

    Daten werden als zum Zweck der Verarbeitung zusammengefasste Zeichen,

    die aufgrund bekannter oder unterstellter Abmachungen Informationen (d.h.

    Angaben ber Sachverhalte und Vorgnge) darstellen1, beschrieben. Als Ge-

    genstand dieser Arbeit werden digital gespeicherte Daten betrachtet. Diese

    liegen in einer standardisierten Form vor und knnen fr die elektronische

    Weiterverarbeitung und Kommunikation genutzt werden. Diese Daten sind

    dabei formalisierte Reprsentationen einer oder mehrerer Informationen, die

    bermittelt werden sollen. Daten knnen dabei aus der realen Welt stammen,

    beispielsweise erhoben durch die Messung einer physikalischen Gre, oder sie

    wurden digital erzeugt, beispielsweise durch computergesttzte Simulationen

    oder durch die Nutzung von Telekommunikationstechnik. Der Anwender ist an

    1(Gabler, 2011)

    13

  • 2 Grundlagen

    den Informationen und dem aus ihnen resultierenden Erkenntnisgewinn inte-

    ressiert, die er mit verschiedenen Techniken aus diesen Daten gewinnen kann.

    Der Begriff der Information ist schwer einzugrenzen und wird in unterschied-

    lichen Wissenschaften in verschiedenen Formen ausgelegt. Daher kann noch

    nicht von einer einheitlichen Theorie der Information gesprochen werden. Es

    beschftigen sich viele verschiedene Gebiete wie die Informatik, Informations-

    theorie, Nachrichtentechnik und andere mit diesem Begriff.2 Hher (2011) be-

    schreibt die Information wie folgt:

    Die Informationstheorie definiert Information als eine quantitativ

    bestimmbare Wissenzunahme durch die bermittlung von Zeichen

    in einem Kommunikationssystem.3

    Information ist das Ergebnis der Kommunikation, das beim Empfnger einen

    Erkenntnisgewinn auslst, sofern dieser den Informationsinhalt entschlsseln

    kann. Dafr mssen sich Sender und Empfnger auf ein Zeichensystem einigen.

    In Bezug auf grafische Darstellungen definiert Bertin (1974) die Information

    als der transkribierbare Inhalt eines Gedankens.4 Das heit, die Information

    ist der Teil der Daten, die in einer Informationsvisualisierung dargestellt wer-

    den kann. Die Informationsvisualisierung hat die Aufgabe, diese Information

    fr den Menschen aufzudecken und in verstndlicher Form aufzubereiten. Die

    reinen Daten, die zwar diese Informationen enthalten, aber fr den menschli-

    chen Betrachter nicht erfassbar sind, werden in ein grafisches Zeichensystem

    transformiert. Dieses grafische System erlaubt dem Menschen eine natrliche,

    visuelle und damit effektivere Analyse.2Vgl. (Informationsbegriff, 2011)3(Hher, 2011, S. 3)4Vgl. (Bertin, 1974, S. 13)

    14

  • 2 Grundlagen

    2.2 Eigenschaften von Daten

    In diesem Abschnitt werden die Eigenschaften von Daten beschrieben. Sie be-

    stimmen, wie die eigentlichen Informationen in den Daten codiert sind. Digitale

    Daten bilden den Ausgangspunkt fr die Konzeption einer Informationsvisua-

    lisierung. Die speziellen Eigenschaften von Daten sind mageblich fr weitere

    Schritte der Informationsvisualisierung.5 Schumann und Mller (2000) haben

    ein Modell zur Beschreibung der Eigenschaften von Daten entwickelt. Jeder

    Datensatz6 hat folgende Merkmale, nach denen er klassifiziert werden kann:

    Beobachtungsraum Der Beobachtungsraum beschreibt den Raum, in dem

    Daten erhoben werden. Dieser Raum kann ein dreidimensionaler Raum

    sein, kann aber auch abstrakt beschrieben werden und nur eine einzige

    oder mehr als drei Dimensionen besitzen. Alle Dimensionen des Beob-

    achtungsraumes werden als unabhngige Variablen bezeichnet, da sie vor

    der Datenerhebung festgelegt werden und als beschreibende Begriffe fr

    den zu visualisierenden Sachverhalt gelten.7 Im Beispiel aus Abbildung

    1.1 knnen die gewhlten Kulturkreise und die verschiedenen Begriffe als

    unabhngigen Variablen bezeichnet werden.

    Beobachtungspunkt Ein Beobachtungspunkt beschreibt eine Position im Be-

    obachtungsraum an dem Daten vorhanden sind. Die Anzahl und die Ver-

    teilung der Beobachtungspunkte sind unabhngig von der Beschaffenheit

    5Vgl. Abschnitt 3.46Ein Datensatz ist eine Menge von Daten.7(Bertin, 1974, S. 24) bezeichnet die unabhngigen Variablen als Invariante und definiert:

    Die Invariante ist der vollstndige und in bezug [sic] auf alle vorgegebenen Begriffeinvariable Kennzeichnungsbegriff.

    15

  • 2 Grundlagen

    des Beobachtungsraumes. Beobachtungspunkte haben einen Wirkungs-

    kreis, der die rumliche Gltigkeit der Werte beschreibt. Dieser kann

    punktuell, lokal oder global sein. Im Beispiel aus Abbildung 1.1 sind alle

    farbigen Rechtecke im Kreis Beobachtungspunkte, denn an diesen konnte

    ein zugehriger Farbwert recherchiert werden.

    Merkmal Das Merkmal ist eine Gre, die an einem Beobachtungspunkt ge-

    messen oder berechnet wird. Dabei kann ein Beobachtungspunkt mehrere

    Merkmale besitzen. Merkmale werden als abhngige Variablen bezeich-

    net, da sie von der Position des Beobachtungspunktes im Beobachtungs-

    raum abhngig sind. Im Beispiel aus Abbildung 1.1 ist der Farbton eines

    Rechtecks im Kreis ein Merkmal.

    Ausprgung Die Ausprgung beschreibt den eigentlichen Wert, den ein Merk-

    mal annehmen kann. Dieser Wert hat einen Wertebereich und kann ein

    Skalar oder Vektor sein.8 In Abbildung 1.1 ist beispielsweise im ame-

    rikanischen Kulturkreis (A) fr Liebe (53) die Farbe Rot ablesbar. Der

    dazugehrige Wertebereich der Farben wird im oberen linken Bereich der

    Abbildung dargestellt.

    Die Begriffe Beobachtungsraum, Beobachtungspunkt, Merkmal und Auspr-

    gung dienen zur Klassifikation von Daten und werden als Metadaten bezeich-

    net.

    8In einem dreidimensionalen Beobachtungsraum kann einem Beobachtungspunkt als Vektorangesehen werden. Im Falle einer Ausprgung als Vektor, liegt damit an der Position desBeobachtungspunktes im Beobachtungsraum ein weiterer Vektor vor.

    16

  • 2 Grundlagen

    2.3 Klassifikation von Daten

    Die Klassifikation von Daten wird sehr unterschiedlich durchgefhrt. Schu-

    mann und Mller (2000) weisen auf eine uneinheitliche Begriffswahl in unter-

    schiedlichen Publikationen hin.9 Hier wird eine vereinfachte Einteilung darge-

    stellt. Diese wird nach der Anzahl der abhngigen und unabhngigen Variablen

    und nach dem Ursprung der Daten vorgenommen.

    2.3.1 Mehrdimensionale Daten

    Ein Beobachtungsraum hat eine endliche Anzahl an Dimensionen. Ist die An-

    zahl dieser unabhngigen Variablen grer Eins, wird von mehrdimensionalen

    Daten gesprochen. Das Beispiel in Abbildung 1.1 hat zwei unabhngige Varia-

    blen (Kulturkreis und Begriff) und damit zwei Dimensionen.

    Eine Sonderform der mehrdimensionalen Daten sind die raumbezogenen Da-

    ten. Raumbezogene Daten liegen dann vor, wenn der Beobachtungsraum Orts-

    koordinaten enthlt, die ein 2- oder 3-dimensionales rumliches Bezugssystem

    definieren.10 Beispielsweise bedeutet das, dass mindestens zwei und maximal

    drei unabhngige Variablen des Datensatzes ein Koordinatensystem beschrei-

    ben knnen. Diese Form der Informationsvisualisierung findet hufig in Geo-

    informationssystemen Anwendung.

    In Bezug auf den Beobachtungsraum sind die zeitbezogenen Daten ein wei-

    terer Spezialfall. Dabei ist eine unabhngige Variable mit der physikalischen

    Gre Zeit assoziiert. Dieser Bezug entspricht nicht immer den tatschlichen

    9Vgl. (Schumann und Mller, 2000, S. 171)10(Schumann und Mller, 2000, S. 220)

    17

  • 2 Grundlagen

    zeitlichen nderungen und macht eine adquate Skalierung der zeitbezogenen

    Dimension notwendig. Beispielsweise besteht die Mglichkeit, bei einer Wetter-

    station die kontinuierliche Vernderung der Auentemperatur nur einmal pro

    Stunde zu messen. Dadurch liegen die Messwerte in diskreten Intervallen vor.

    Diese Problematik muss bei der Erzeugung der Darstellung beachtet werden.

    2.3.2 Multiparameterdaten

    Daten werden als Multiparameterdaten bezeichnet, wenn die Anzahl der abhn-

    gigen Variablen grer Eins ist und der Beobachtungsraum nicht vernachlssigt

    werden kann. Das setzt komplexere Informationsvisualisierungen voraus, da

    unabhngige und abhngige Variablen gemeinsam dargestellt werden mssen.

    Die Unterscheidbarkeit zwischen diesen Klassen muss dabei erhalten bleiben.

    Ein Beispiel fr einen Multiparameterdatensatz ist eine Liste mit Wettersta-

    tionen, die durch ihre Koordinaten bestimmt sind. Zustzlich dazu liegen fr

    jede Wetterstation unterschiedliche Daten fr Temperatur, Luftdruck und Nie-

    derschlag vor.11

    Eine Sonderform der Multiparameterdaten sind die multivariaten Daten. Da-

    bei kann der Beobachtungsraum vernachlssigt werden, da er keine Rolle bei

    der Weiterverarbeitung der Daten spielt. Multivariate Daten knnen in mehr-

    dimensionale Daten berfhrt werden, wenn fr jedes vorhandene Merkmal

    11Das Beispiel aus Abbildung 1.1 ist kein Multiparameterdatensatz, da nur der Farbtonder Rechtecke als abhngige Variable bezeichnet werden kann. Durch zustzliche Infor-mationen knnten die zugrundeliegenden Daten aber zu einem Multiparameterdatensatzerweitert werden. Beispielsweise knnte die Wichtigkeit der einzelnen Begriffe in einemKulturkreis in der Gre der Farbflche dargestellt werden. So wrde zum Beispiel derBegriff Religion (48) fr bestimmte Kulturkreise grer dargestellt werden. AndereFarbflchen erschienen dagegen kleiner.

    18

  • 2 Grundlagen

    eine Dimension in einem neuen Beobachtungsraum aufgespannt wird.12 Ein

    Datensatz, der alle Antworten von befragten Personen einer anonym gefhr-

    ten Umfrage enthlt, ist ein Beispiel fr Multiparameterdaten. Die einzelnen

    Fragen sind die abhngigen Variablen und die Antworten der Befragten sind

    deren Ausprgungen. Unabhngige Variablen wie beispielsweise Alter, Wohn-

    ort und Geschlecht der Person fehlen dagegen.

    2.3.3 Abstrakte Daten

    Die wissenschaftlich-technische Datenvisualisierung ist auf naturwissenschaft-

    liche Daten fokussiert. Das knnen Daten ber die menschliche Anatomie,

    das Universum oder ber Molekle und Atome sein. Diese Daten haben

    einen rumlichen Bezug. Visualisierungen von Abstraktionen des physikali-

    schen Raumes sind mglich. Trotzdem hat die zugrunde liegende Information

    eine geometrische Natur.13 Fehlt ein naturwissenschaftlicher Raumbezug oder

    ist er nicht sinnvoll, werden Daten als abstrakte Daten bezeichnet. Zwischen

    dem Beobachtungsraum dieser Art von Daten und unserer realen dreidimen-

    sionalen Umgebung und unserem zeitlichen Empfinden besteht kein oder nur

    ein sehr schwacher Zusammenhang. Abstrakte Daten werden meist in rein di-

    gitalen und virtuellen Prozessen erzeugt. Als Beispiel knnen die Datei- und

    Ordnerstrukturen eines Betriebssystems oder Texte und Quellcode von Pro-

    grammen genannt werden.

    Eine spezielle Form der abstrakten Daten sind strukturelle Beziehungen zwi-

    schen Datenobjekten. Diese Daten beschreiben nicht Beobachtungspunkte und

    12Vgl. (Schumann und Mller, 2000, S. 172)13Vgl. (Card u. a., 1999, S. 6)

    19

  • 2 Grundlagen

    deren Merkmale, sondern die Beziehungen zwischen diesen Punkten und ihren

    abhngigen und unabhngigen Variablen. Unterschieden wird dabei zwischen

    hierarchischen Formen und Netzwerken. Beispiele sind die Relationen zwischen

    Dokumenten, Medien und Personen in einem Netzwerk.14

    Rein zeitbezogene Daten werden in dieser Arbeit den abstrakten Daten zu-

    geordnet. Ein Brsenkurs ist bei nherer Betrachtung abstrakt, da kein rum-

    licher Bezug stattfindet. Die einfache Abbildung in einem Diagramm, bei dem

    die Zeit auf der Abszissenachse und der Wert einer Aktie auf der Ordinatenach-

    se abgebildet sind, sind nur erlernte Metaphern. Die Hhe des Aktienwertes

    stellt dabei keinesfalls eine rumliche Hhe dar, sondern eine abstrakte Wer-

    tebeschreibung.

    Die Informationsvisualisierung, wie sie in Kapitel 3 beschrieben wird, be-

    nutzt vorrangig abstrakte Multiparameterdaten als Grundlage einer grafischen

    Darstellung.

    2.4 Datentypen

    Datentypen beschreiben die eigentlichen Ausprgungen eines Merkmals und

    knnen zu einer zustzlichen Klassifikation beitragen. Das ist wichtig, um er-

    kennen zu knnen, welche Verarbeitungschritte mit den Daten mglich sind.

    Meist erfolgt eine Einteilung in drei Klassen. Whrend Bertin (1974) von qua-

    litativen, geordneten und quantitativen Komponenten spricht, unterscheiden

    Preim und Dachselt (2010) nominale, ordinale und quantitative Datentypen.

    Hier wird die neuere Einteilung von Preim und Dachselt (2010) erlutert.15

    14Vgl. (Preim und Dachselt, 2010, S. 448ff)15(Preim und Dachselt, 2010, S. 449)

    20

  • 2 Grundlagen

    Nominale Datentypen Meist werden Namen und Bezeichnungen von Date-

    nobjekten als nominale Datentypen klassifiziert. Ihr Abstand ist quidi-

    stant, da sich vor einer eingehenden Analyse keine Ausprgungen beson-

    ders nah oder entfernt voneinander zeigen. Die einzige mgliche Operati-

    on ist der Test auf Gleichheit beziehungsweise Ungleichheit. Es gibt keine

    allgemeingltige, eindeutige Reihenfolge nach der die Ausprgungen sor-

    tiert werden knnen. Diese kann nur nach bestimmten Gesichtpunkten

    erfolgen. Das heit, eine knstlich erzeugte Ordnung wird eingebracht,

    zum Beispiel durch alphabetische Sortierung. In Abbildung 1.1 haben

    die Farben, Kulturkreise und Begriffe einen nominalen Datentyp.

    Ordinale Datentypen haben die gleichen Eigenschaften wie nominale Typen.

    Zustzlich dazu ist die Reihenfolge allgemeingltig festgelegt. Dadurch

    kann als zustzlicher Operator fr Vergleiche die Richtung der Auspr-

    gung genutzt werden. Diese ist durch eine Ordnungsrelation bestimmt.

    Ein Beispiel fr ordinale Daten sind Temperaturwerte, die in drei Klassen

    kalt, warm und hei unterteilt werden. Neben der Unterscheidung

    zwischen den drei Klassen kann eindeutig bestimmt werden, dass auf die

    Klasse kalt die Klasse warm und dann die Klasse hei folgt.

    Quantitative Datentypen besitzen einen Wertebereich und gestatten die

    Durchfhrung von arithmetischen Operationen. Es existiert dabei eine

    Maeinheit, mit der die Abstnde zwischen einzelnen Ausprgungen an-

    gegeben werden knnen. Durch eine knstliche Einteilung in Intervalle

    kann dieser Typ in ordinale Datentypen bersetzt werden. Ein Beispiel

    ist eine Temperaturmessung, bei der Werte in Grad Celcius gespeichert

    werden.

    21

  • 2 Grundlagen

    2.5 Grafische Semiologie

    Die grafische Semiologie ist ein von Bertin (1974) erstmals beschriebenes Sys-

    tem zur Klassifikation von grafischen Zeichen. Es stammt ursprnglich aus

    der thematischen Kartografie.16 Dies ist ein Teilgebiet der Geografie und eines

    der ersten Anwendungsgebiete der Informationsvisualisierung. Diese Theorie

    definiert ein Grundalphabet an grafischen Elementen, wobei zur Informati-

    onsbertragung jedem einzelnen Zeichen eine bestimmte Bedeutung zugeord-

    net wird. Bertin (1974) geht dabei von einem monosemiotischen17 System aus,

    das den rationalen Teil der Bilderwelt, die grafische Darstellung, eindeutig be-

    schreibt. Da Menschen aber bestimmten grafischen Zeichen unterschiedliche

    Bedeutungen zuordnen, muss ein rationales Moment stattfinden, bei dem

    sich alle an der Kommunikation Beteiligten auf Bedeutungen einigen, die be-

    stimmte Zeichen in der grafischen Darstellung haben. Erst dann kann ber die

    Verbindung der Zeichen untereinander diskutiert werden. Diese Verbindungen

    entsprechen der eigentlichen Information. Beispielsweise knnen durch die Po-

    sition von grafischen Primitiven untereinander Aussagen ber ihre eigentlichen

    Beziehungen getroffen werden. Dabei spielen die Gestaltungsgesetze eine wich-

    tige Rolle. Mit der grafischen Semiologie knnen also Informationen in ein gra-

    fisches Zeichensystem transkribiert werden. Dieses System umfasst folgende

    acht Zeichen, die zur Kodierung von Daten in eine grafische Darstellung be-

    16Thematische Karten enthalten vorwiegend Erscheinungen oder Vorkommnisse nicht to-pographischer [sic] Art, welche jedoch mit der Erdoberflche in Verbindung stehen. Eshandelt sich hierbei um Dinge, die georumliche Lage, Verbreitung oder Bewegung besit-zen, sowohl um reale Dinge, als auch um Beziehungen, Funktionen, Hypothesen, geistigeVorstellungen, Mglichkeiten und Projekte.(Gitta, 2011)

    17Die Betrachtung einer Zeichenverbindung setzt die Kenntnis der Bedeutung jedes einzel-nen Zeichens voraus.(Bertin, 1974, S. 3)

    22

  • 2 Grundlagen

    Abbildung 2.1: Visuelle Variablen aus (Bertin, 1974, S. 51) Legende: 2D = Positionin der Ebene, FO = Form, GR = Gre, HW = Helligkeitswert,MU = Musterung/Textur, FA = Farbe, RI = Richtung

    23

  • 2 Grundlagen

    nutzt werden knnen. Sie werden visuelle Variablen genannt und beschreiben

    die Eigenschaften geometrischer Primitive.

    Position auf der Ebene (zwei visuelle Variablen x und y)

    Gre (Flche oder Lnge)

    Helligkeitswert

    Musterung oder Textur

    Farbe

    Richtung oder Orientierung

    Form des Elements

    In Abbildung 2.1 werden diese dargestellt. Im Initialbeispiel in Abbildung 1.1

    werden die visuellen Variablen der Position, Farbe und Richtung verwendet,

    um die Information in den kreisfrmig angeordneten farbigen Rechtecken dar-

    zustellen.

    Jede dieser Variablen hat spezifische Eigenschaften, wodurch sie sich unter-

    schiedlich gut oder schlecht fr spezielle Aufgaben eignen. Um fr eine Auf-

    gabe die geeignetste Variable zu bestimmen, schlgt Bertin (1974) mehrere

    Konstruktionsregeln vor. Grundlegend beschreiben diese eine Vereinfachung

    der grafischen Darstellung. Die Anzahl an visuellen Variablen, Merkmalen und

    Ausprgungen wird reduziert, sodass die grafische Darstellung als Ganzes mit

    einem Minimum an Wahrnehmungsaufwand erfasst werden kann. Dabei drfen

    keine Informationen und Beziehungen verloren gehen, um Fehlinterpretationen

    24

  • 2 Grundlagen

    zu vermeiden. Weitere Regeln sind stark abhngig von der Anzahl der vorhan-

    denen Dimensionen des Beobachtungsraumes, der Anzahl der Merkmale eines

    Beobachtungspunktes18 und der gewhlten, grafischen Darstellung. Da sich fr

    die komplexen, grafischen Darstellungen einer Informationsvisualisierung meist

    mehrere visuelle Variablen eignen, kann eine Auswahl durch den Abgleich mit

    den Bearbeitungszielen19 erfolgen. Beispielsweise eignen sich fr wichtige, ge-

    ordnete Variablen die Position in der Ebene, whrend Variablen wie Farbe,

    Muster und Textur als Mglichkeit genutzt werden knnen, um Zusatzinfor-

    mationen zu codieren. Erst wenn weitere Variablen hinzugefgt werden, muss

    eine Nebeneinanderstellung oder berlagerung in Betracht gezogen werden.

    Die Konstruktionsregeln und die visuellen Variablen werden genutzt, um die

    grafische Darstellung als Ziel der Informationsvisualisierung zu erstellen.

    18Vgl. Abschnitt 2.219Vgl. Abschnitt 3.3

    25

  • 3 Informationsvisualisierung

    3.1 Definition

    Die Visualisierung ist im Allgemeinen als eine rechnergesttzte, visuelle Pr-

    sentation von Daten, Informationen und Wissen in einer fr den Menschen ad-

    quaten und fr die jeweilige Anwendung in diesem Kontext sinnvollen Form

    zu verstehen.1 Sie nutzt das Vermgen des menschlichen Gehirns durch vi-

    suelle Reize groe Mengen an Informationen intuitiv erfassen und verarbei-

    ten zu knnen. Dabei werden die natrlichen Fhigkeiten des Menschen, wie

    beispielsweise die Muster- und Farberkennung, genutzt, um Entscheidungen

    ber einen Sachverhalt ohne besondere Vorkenntnisse treffen zu knnen. Zum

    Beispiel kann jeder Mensch zwischen zwei Objekten entscheiden, welches das

    grere oder hellere Objekt ist, solange die visuellen Unterschiede ausreichend

    gro sind.2

    Die wissenschaftlich-technische Visualisierung ist eine Sonderform der Visua-

    lisierung. Sie arbeitet ausschlielich mit Ausgangsdaten, die einen natur- oder

    1(Schumann und Mller, 2000, S. 3)2Eine Ausnahme bilden Menschen mit einer Sehbehinderung. Um eine Visualisierung fr

    diese Menschen nutzbar zu machen, gelten besondere Anforderungen, die nicht Teil dieserArbeit sind.

    26

  • 3 Informationsvisualisierung

    ingeneurswissenschaftlichen Bezugsrahmen und somit einen konkreten Orts-

    bezug haben. Diese Form der Visualiserung wird Datenvisualisierung genannt.

    Dabei wird von einem, durch die Informationstheorie geprgten, quantitativen

    Informationsbegriff ausgegangen.3

    Fr die Visualisierung von Informationen sind weiterfhrende, qualitative

    Fragen von Bedeutung:

    Was macht eine Information in einem gegebenen Kontext wichtig oder

    unwichtig?

    Wie kann das Verstndnis von groen Informationsmengen fr Menschen

    vereinfacht werden?

    Wie knnen Informationen visuell aufbereitet werden, um eine effizientere

    Problemlsung zu ermglichen?

    Diese Fragen, die aufgrund eines wachsenden Spektrums an abstrakten Daten

    immer wichtiger werden, versucht die Informationsvisualisierung zu beantwor-

    ten. Preim und Dachselt (2010) definieren Informationsvisualisierung folgen-

    dermaen:

    Informationsvisualisierung beschftigt sich mit der Visualisierung

    vorrangig abstrakter Daten, wie Multiparameterdaten (z.B. Medi-

    enobjekte mit verschiedenen Attributen), Hierarchien, Netzwerken,

    Text oder Softwaresystemen, die sich alle auch ber die Zeit ver-

    ndern knnen.4

    3Vgl. Abschnitt 2.14(Preim und Dachselt, 2010, S. 434)

    27

  • 3 Informationsvisualisierung

    Das Einsatzgebiet der Informationsvisualisierung ist im Gegensatz zur Daten-

    visualisierung nicht auf wissenschaftliche Bereiche beschrnkt, sondern kann

    beispielsweise als alternative Suchmethode in Multimedia-Datenbanken,5 als

    Wissensvermittlung in kulturellen Bereichen6 und zur Visualisierung von so-

    zialen Netzwerken und Fahrplnen ffentlicher Verkehrsmittel verwendet wer-

    den. Insbesondere steht die Suche nach Beziehungen zwischen Datenobjekten

    im Vordergrund, da Informationsrume grer, komplexer und vernetzter wer-

    den. Im Gegensatz zu naturwissenschaftlichen Daten existiert dabei nicht im-

    mer ein rumlicher Bezug. Eine Aufgabe der Informationsvisualiserung ist es,

    diesen Ortsbezug beim Betrachter wieder herzustellen. Dieser Ortsbezug wird

    bei abstrakten Daten knstlich erzeugt, da Menschen es gewhnt sind, in drei-

    dimensionalen Rumen zu interagieren. Somit knnen bewusste und unbewuss-

    te Verhaltensweisen aus der realen Welt genutzt werden, um den kognitiven

    Aufwand, der fr das Verstndnis der Information ntig ist, zu minimieren.

    Durch die Verschiebung der Daten aus dem wissenschaftlichen Kontext in

    die Alltagskultur ndert sich die Zielgruppe der Visualisierung. Durch das In-

    ternet wird der Personenkreis stark vergrert, der ein Interesse und Nutzen

    an Informationsvisualisierungen hat. Es enstehen weitere Anforderungen, da

    dieser Gruppe meist ein mathematischer, natur- oder ingenieurswissenschaft-

    licher Hintergrund fehlt. So muss die Informationsvisualisierung vom Benut-

    zer schnell und einfach erfasst und ohne besondere Vorkenntnisse verstanden

    werden knnen. Auerdem muss sie eine angemessene und grafische Qualitt

    haben, um ber den reinen Nutzwert hinaus auch Qualitten in Bezug auf

    5Vgl. Visual Data Mining in (Keim, 2002)6Vgl. Abbildung 1.1

    28

  • 3 Informationsvisualisierung

    Nutzungsfreude und Unterhaltungswert [zu] besitzen.7 Es ist schwierig solche

    Darstellungsformen mit aktueller Standardsoftware zu erstellen.

    Die Grenzen zwischen den einzelnen Disziplinen der Visualisierung sind flie-

    end. Die Informationsvisualisierung kann auch wissenschaftlich betrieben wer-

    den, da sich Methoden und Verfahren stark hneln. Das Arbeitsfeld der Infor-

    mationsvisualisierung, das Thema dieser Arbeit ist, geht von einem Spezialfall

    der Datenvisualisierung aus. Dieser erweitert die Anforderungen an Datenvi-

    sualisierung mit Betrachtungen ber die Zielgruppe, die Reprsentation und

    das Medium. Dabei kommen digitale Techniken zur Erhebung, Speicherung,

    Weiterverarbeitung und Ausgabe zum Einsatz.

    3.2 Verwandte Arbeitsfelder

    Oft nutzt die Informationsvisualisierung Teilgebiete verwandter Arbeitsfelder

    oder sie wird fr die Problemlsung in anderen Bereichen verwendet. Eine klare

    Abgrenzung der Bereiche ist daher schwierig. Nachfolgend werden Arbeitsge-

    biete beschrieben, die hufig mit der Informationsvisualisierung in Verbindung

    gebracht oder verwechselt werden. Die nachfolgende Liste zeigt eine Auswahl

    und erhebt keinen Anspruch auf Vollstndigkeit.

    Computergrafik Die Computergrafik ist ein Teil der Informatik und be-

    schreibt die Ausgabe von zwei- und dreidimensionalen Objekten als Ras-

    ter oder Vektorgrafik. Die Informationsvisualisierung benutzt Techniken

    der Computergrafik, ist aber kein Bestandteil dieses Gebietes.

    7(Preim und Dachselt, 2010, S. 438)

    29

  • 3 Informationsvisualisierung

    Statistik Die Statistik ist ein Verfahren fr die hypothesengeleitete Auswer-

    tung von numerischen (quantitativen) Daten.8 Durch die Verwendung

    quantitativer Daten wird eine Verbindung zwischen Empirie und Theo-

    rie geschaffen. Neben der Mathematik ist die Visualisierung das wich-

    tigste Werkzeug der Statistik. So wird der Visualisierungsprozess aus

    Abschnitt 3.4 besonders im Bereich der deskriptiven Statistik benutzt,

    um Erkenntnisse zu gewinnen und darzustellen. Die Informationsvisua-

    lisierung als eigenstndige Disziplin benutzt Techniken der Statistik, um

    Daten aufzubereiten.

    Prsentations- und Prozessvisualisierung Hufig werden Prsentations-

    und Prozessvisualisierungen als Informationsvisualisierung bezeichnet,

    sind aber eigenstndige Gebiete. In ihnen geht es um das Sichtbarmachen

    von Informationen. Diese Informationen basieren aber nicht auf groen

    Datenmengen und knnen ohne Softwareuntersttzung dargestellt wer-

    den. Bei der Visualisierung von Prozessen muss die Zeit als besonderer

    Faktor bercksichtigt werden.

    Data-Mining ist der computergesttzte automatisierte Versuch, Datenmen-

    gen zu ordnen und mithilfe von Algorithmen Erkenntnisse zu erhalten.

    Im Gegensatz dazu versucht die Informationsvisualisierung eine geeignete

    grafische Reprsentation bereitzustellen, die dem Nutzer die Mglichkeit

    gibt, diese Erkenntnisse selbst zu finden. Fr die Datengewinnung ist

    die Informationsvisualisierung auf Techniken des Data-Mining angewie-

    8(Schfer, 2010, S. 23)

    30

  • 3 Informationsvisualisierung

    sen. Es gibt Bestrebungen beide Gebiete im Visual Data Mining9 zu

    verbinden, um Synergien zu bilden.

    Interface- und Interactiondesign Diese Arbeitsfelder beschreiben die Ge-

    staltung von Benutzeroberflchen. Damit arbeiten sie, wie die Visualisie-

    rung, an der Schnittstelle zwischen Mensch und Maschine. Interfacede-

    sign benutzt hufig Techniken der Visualisierung, um grafische Konzepte

    zu realisieren, da die Informationen primr visuell bertragen werden.

    Computational Design Dieser von Fry (2004) eingefhrte Begriff beschreibt

    die Vereinigung vieler Disziplinen zu einem neuen interdisziplinren Ar-

    beitsfeld. Der Ansatz des Computational Designs ist es, die Informati-

    onsvisualisierung in einem greren Kontext zu betrachten und dabei

    die technischen Bereiche der Informatik mit den knstlerischen Berei-

    chen des Designs zu verbinden. Der Prozess des Computational Designs

    wird in Abschnitt 3.4 genutzt, um den Arbeitsprozess der Informations-

    visualisierung zu beschreiben.

    3.3 Bearbeitungsziele

    Mit der Informationsvisualisierung wird die Analyse einer gegebenen Daten-

    menge untersttzt. Es knnen Ergebnisse effizient prsentiert werden. Dadurch

    wird die Kommunikation vereinfacht, um einen Erkenntnisgewinn bei allen

    Beteiligten zu schaffen. Die Visualisierung kann nach Schumann und Mller

    (2000) fr die drei folgenden Stufen der Analyse eingesetzt werden:

    9Vgl. (Keim, 2002)

    31

  • 3 Informationsvisualisierung

    Explorative Analyse Die explorative Analyse beschreibt die Eigenschaften

    von Daten als Ausgangspunkt der Forschung. Durch eine interaktive und

    ungerichtete Suche in den Daten kann die Hypothesengenerierung mit-

    hilfe der Informationsvisualisierung untersttzt werden. Dazu muss ei-

    ne geeignete weit gefasste und nicht beschrnkte Darstellung gefunden

    werden. Diese Informationsvisualisierungen knnen Ausgangspunkt fr

    weitere Analysen sein. Das Initialbeispiel in Abbildung 1.1 kann genutzt

    werden, um eine weiterfhrende Forschungsfrage zu entwickeln: Warum

    wird die Farbe Rot berdurchschnittlich oft mit positiven Begriffen as-

    soziiert?

    Konfirmative Analyse Es existieren bereits eine oder mehrere Hypothesen,

    die mithilfe der Informationsvisualisierung berprft werden sollen. Da-

    bei wird eine Datenmenge hinsichtlich eines speziellen Aspekts unter-

    sucht und ausgewertet.

    Prsentation Die Ergebnisse aus der Analyse der Daten werden mithilfe der

    Informationsvisualisierung dargestellt, um sie fr Dritte verstndlich zu

    machen und mit ihnen ber den Sachverhalt kommunizieren zu knnen.

    Dabei ist eine ansprechende und sthetische Darstellung wichtig, denn

    ein ansprechendes Erscheinungsbild verstrkt den Willen, sich mit einer

    Darstellung auseinanderzusetzen.

    Um eine adquate Informationsvisualisierung klassifizieren zu knnen, nen-

    nen Schumann und Mller (2000) drei Eigenschaften: Effektivitt, Expressivi-

    tt und Angemessenheit. Diese Eigenschaften mssen bei der Konzeption einer

    Informationsvisualisierungssoftware beachtet werden.

    32

  • 3 Informationsvisualisierung

    Effektivitt Die Darstellung muss zu den visuellen Fhigkeiten des Betrach-

    ters und den Eigenschaften des Ausgabegertes passen.

    Expressivitt Die Informationsvisualisierung soll nur die in den Daten ent-

    haltenen Informationen zeigen. Diese sollen dabei mglichst unverflscht

    wiedergeben werden, um falsche Schlussfolgerungen bei dem Betrachter

    zu vermeiden.

    Angemessenheit Ressourcen und Rechenaufwand und damit die Kosten einer

    Informationsvisualisierung sollen den Anforderungen entsprechen.

    Bertin (1974) beschreibt dagegen nur den Begriff der Prgnanz als Qualitts-

    ma. Prgnanz wird definiert:

    Wenn eine Konstruktion zur Beantwortung einer gestellten Frage

    unter sonst gleichen Voraussetzungen eine krzere Betrachtungszeit

    erfordert als eine andere Konstruktion, so bezeichne man diese als

    prgnanter in Bezug auf die gestellte Frage.10

    Darber hinaus fllt es schwer, allgemeingltige Aussagen zu treffen, wie ein

    komplexer Sachverhalt und dessen Informationen am effizientesten zu visuali-

    sieren sind. Die Informationsvisualisierung ist stark anwendungsabhngig und

    soll immer den Anforderungen der Daten, der Zielgruppe, des Bearbeitungs-

    ziels, der Reprsentation und des Mediums entsprechen. Eine rein automa-

    tisierte Informationsvisualisierung kann nur sehr schwer alle diese Anforde-

    rungen bercksichtigen. Daher sollte der Benutzer in allen Stufen des Visuali-

    sierungsprozesses eingreifen und gegebenenfalls Anpassungen vornehmen kn-

    nen. Eine Software muss dazu geeignete Mittel zur Verfgung stellen.10(Bertin, 1974, S. 17)

    33

  • 3 Informationsvisualisierung

    acquire parse filter mine represent refine interact

    Abbildung 3.1: Der Prozess des Computational Designs aus (Fry, 2004, S. 13)

    3.4 Visualisierungsprozess

    Der Prozess der Visualisierung wird Visualisierungspipeline genannt.11 Die-

    se Pipeline beschreibt den Ablauf aller Schritte, die notwendig sind, um aus

    Daten eine grafische Darstellung zu erstellen. In der Literatur gibt es keine ein-

    heitliche Beschreibung der Visualisierungspipeline, jedoch hneln sich die Dar-

    stellungen stark. Im Folgenden soll der Ablauf der Informationsvisualisierung

    beschrieben werden. Von Fry (2004) wird der Prozess in einen greren Kon-

    text eingeordnet. Dadurch eignet sich diese Visualisierungspipeline besonders

    gut, um einen berblick ber alle Arbeitsschritte zu erhalten. In Abbildung

    3.1 wird der Prozess schematisch dargestellt.

    Als Erstes werden Daten aus einer Datei oder einem Netzwerk beschafft (ac-

    quire). Danach werden Informationen aus der Datenquelle extrahiert (parse).

    Wichtige Informationen knnen beispielsweise Extremwerte oder Werteberei-

    che und andere Bereiche speziellen Interesses sein. Diese Bereiche werden her-

    ausgetrennt (filter), um auf ihnen Methoden der Datenanalyse anwenden zu

    knnen, die fr die weitere Verarbeitung notwendig sind (mine). Im nchsten

    Schritt werden dann geeignete visuelle Variablen12 gefunden, um die Daten

    11Vgl. (Schumann und Mller, 2000, S. 15)12Vgl. Abschnitt 2.5

    34

  • 3 Informationsvisualisierung

    darzustellen (represent).13 Dieser Schritt wird als Mapping bezeichnet und ist

    eine Daten-zu-Geometrie-Abbildung14, bei der die abstrakten Daten auf visu-

    elle Variablen bertragen werden. Die grafische Darstellung wird dann iterativ

    durch die visuelle Analyse des Nutzers verbessert, damit sie einfacher verstnd-

    lich und sthetisch ansprechend wird und die Bearbeitungsziele erfllt (refine).

    Als letzter Schritt werden Interaktionsmglichkeiten ergnzt, um dem Nutzer

    die Kontrolle ber die Ausgabe, aber auch ber vorher stattfindende Stufen

    des Prozesses, geben zu knnen (interact).

    Der hier beschriebene Ablauf ist allen Visualisierungsprozessen immanent,

    muss aber nicht zwangslufig in der gegebenen Reihenfolge auftreten. Es gibt

    unterschiedliche Mglichkeiten, in die Visualisierungspipeline einzugreifen und

    zwischen den einzelnen Stufen zu wechseln.15 Das Ergebnis dieser Verfahren

    ist jedoch immer die grafische Darstellung.

    3.5 Grafische Darstellung

    3.5.1 Begriff

    Die grafische Darstellung ist das Ergebnis der Informationsvisualisierung. Sie

    besteht aus den in Abschnitt 2.5 genannten visuellen Variablen. Als allge-

    meinste Form der grafischen Darstellung beschreiben Schumann und Mller

    (2000) das Diagramm. Es ist eine graphische [sic] Reprsentation von Informa-

    13Schumann und Mller (2000) erweitern diesen Punkt durch das Rendering, welches dieeigentliche Rasterung und Darstellung auf dem Ausgabemedium durchfhrt.

    14Vgl. (Schumann und Mller, 2000, S. 16)15In (Schumann und Mller, 2000) Abschnitt 2.2 und 2.3 werden unterschiedliche Verfahren

    beschrieben.

    35

  • 3 Informationsvisualisierung

    tionen mit Hilfe graphischer Elemente.16 Bertin (1974) spricht dagegen vom

    Begriff der grafischen Darstellung und grenzt diesen von der bildhaften Dar-

    stellung17 ab, die nicht monosemiotisch18 ist. Diese Klassifikation wird weiter in

    Diagramme, Netze und Karten unterteilt. Schumann und Mller (2000) weisen

    auerdem auf eine Doppeldeutigkeit des deutschen Begriffes Diagramm hin,

    denn in der englischen Sprache gibt es diagram und chart. Dort beschreibt

    diagram die Darstellung nicht-quantitativer Beziehungen, whrend chart

    fr die allgemeine Form der grafischen Darstellung steht.19 In dieser Arbeit

    wird der Begriff der grafischen Darstellung verwendet und schliet damit alle

    mglichen Darstellungsformen der Informationsvisualisierung ein.

    3.5.2 Darstellungsformen

    Die grafische Darstellung hat verschiedene Darstellungsformen, die fr un-

    terschiedliche Anwendungsflle konzipiert wurden. Sie sind alle stark anwen-

    dungsabhngig. Es mssen viele Anforderungen beachtet werden, um die effizi-

    enteste Technik der grafischen Darstellung zu finden.20 Die folgende Auflistung

    von Darstellungsformen orientiert sich an den Darstellungsformen fr Multipa-

    rameterdaten von Schumann und Mller (2000) und wird ergnzt durch Preim

    und Dachselt (2010) und eigene Beobachtungen. Aufgrund der Vielzahl an un-

    terschiedlichen Darstellungsformen kann die Tabelle 3.1 nur einen beispielhaf-

    16(Schumann und Mller, 2000, S. 126)17In Bertin (1974) werden Fotos oder knstlerische Bilder explizit ausgeschlossen.18Vgl. Abschnitt 2.519(Schumann und Mller, 2000, S. 126)20Vgl. Abschnitt 3.3

    36

  • 3 Informationsvisualisierung

    Technik exemplarische Darstellungsformen

    einfach Scatterplots (1), Histogramme (2), Kreisdiagramme (3),Isolinien (4)

    multiaxial Kiviatgraph (5), parallele Koordinaten (6)ikonenbasiert Stick-Figure-Ikonen (7), Chernoff Ikonen (8), Data Jacks

    (9)pixelbasiert (10) Zwei-Schritte-Technik, Recursive-Pattern-Technikhierarchisch dimensional Stacking (11), World-within-Worlds (12),

    Cone-Trees (13), Baumdiagramm (15)netzwerkbasiert Venn-Diagramm (14), Treemaps (17), Bubble Tree (16),

    ArcTree (20)geschichtet Icicle Plots (19), Sunburst (18)hybrid Mischtechniken bestehend aus anderen Techniken

    Tabelle 3.1: Techniken der Darstellung

    ten berblick geben. Die Nummern hinter den einzelnen Darstellungsformen

    verweisen auf die Darstellungen in Abbildung 3.2.21

    Fr diese Arbeit sind vor allem die hybriden Techniken interessant, da diese

    versuchen, einzelne Vorteile verschiedener Darstellungsformen zu verbinden,

    um neue Sichtweisen zu erforschen. Damit solche Informationsvisualisierungs-

    techniken gefunden werden knnen, muss eine Konzeption fr eine Softwarel-

    sung Einschrnkungen bei der grafischen Darstellung vermeiden.

    21Ein Beispiel fr die Recursive-Pattern-Technik findet sich im Anhang in Abschnitt 8.3, dapixelbasierte Techniken nur sehr schwer schematisch dargestellt werden knnen.

    37

  • 3 Informationsvisualisierung

    Abbildung 3.2: Verschiedene Darstellungsformen, eigene Darstellung

    38

  • 4 Konzeption

    4.1 Allgemeine Betrachtungen

    Die bertragung von abstrakten Daten auf visuelle Variablen ist das grundle-

    gende Prinzip der Informationsvisualisierung. In der Fassung von Fry (2004)

    wird diese Transkription in den Stufen represent und refine durchgefhrt. Die

    Software muss also dem Benutzer die Mglichkeit geben, diese Arbeitsschritte

    abwechselnd durchfhren zu knnen. In Abbildung 4.1 ist dieser weitere itera-

    tive Schritt abgebildet. Ist der Benutzer mit der grafischen Darstellung nicht

    zufrieden, so kann er Parameter anpassen. Dieser Ablauf kann beliebig oft wie-

    derholt werden bis ein zufriedenstellendes Ergebnis vorliegt. Die hohe Anzahl

    der Beobachtungspunkte eines Datensatzes macht eine vom Nutzer manuell

    acquire parse filter mine represent refine interact

    Abbildung 4.1: Einordnung in den Prozess des Computational Designs nach (Fry,2004)

    39

  • 4 Konzeption

    durchgefhrte Transkription sehr aufwendig und zeitintensiv. Eine Unterstt-

    zung des Benutzers durch eine Software ist daher sinnvoll. Dabei darf der

    Nutzer in seinem kreativen Gestaltungsprozess nicht eingeschrnkt werden.

    Wie in Kapitel 2 und 3 gezeigt wurde, gibt es eine Vielzahl an Datenklassen

    und grafischen Darstellungsformen. Weiterhin entstehen neue hybride Formen

    durch Mashups.1 Die Software muss daher mglichst universell sein, um flexibel

    viele unterschiedliche Anwendungsflle bearbeiten zu knnen. Dabei drfen die

    Bearbeitungsziele aus Abschnitt 3.3 nicht vernachlssigt werden.

    4.2 Anforderungen

    Fr die zu entwickelnde Software werden Anforderungen festgelegt, die im

    Folgenden beschrieben werden. Neben speziellen Anforderungen, die aus dem

    Bereich der Informationsvisualisierung stammen, werden noch weitere Anfor-

    derungen an Benutzerfhrung und Performanz gestellt.

    Einfache Benutzerinteraktion Damit technisch unerfahrene Nutzer schnell

    und einfach Ergebnisse erzielen knnen, kann die Software mit visuel-

    ler Programmierung gesteuert werden. Fr die Bedienung der Software

    mithilfe der visuellen Programmierung, die in Abschnitt 4.3 genauer be-

    schrieben wird, reicht ein grundlegendes mathematisches Verstndnis des

    Nutzers aus. Weiterhin veranschaulicht sie den eigentlichen Anwendungs-

    bereich der Software.

    1Mashup (von englisch to mash fr vermischen) bezeichnet die Erstellung neuer Me-dieninhalte durch die nahtlose (Re-)Kombination bereits bestehender Inhalte.(Mashup,2011)

    40

  • 4 Konzeption

    Flexible Visualisierungsmglichkeiten Um mglichst viele Darstellungsfor-

    men abbilden zu knnen, muss die Mglichkeit bestehen, alle visuellen

    Variablen2 und damit alle Darstellungsformen3 reproduzieren zu knnen.

    Der Nutzer darf dabei in seiner Arbeit nicht durch vorgefertigte Darstel-

    lungsformen eingeschrnkt werden.

    Flexible Ein- und Ausgabe Zur automatisierten Dateneinspeisung in die

    Software sollen mehrere Mglichkeiten bestehen, um in unterschiedli-

    che Workflows eingebunden werden zu knnen. Neben Dateiformaten wie

    XML, JSON und CSV ist eine Netzwerk- und Datenbankanbindung sinn-

    voll. Als Ausgabeformate knnen gngige Bildformate verwendet werden.

    Performanz Der Benutzer kann alle Verbindungen und Parameter zwischen

    Datenobjekten und ihrer visuellen Reprsentation direkt beeinflussen.

    Fr eine direkte visuelle Analyse durch den Nutzer muss die Software

    die Mglichkeit bieten, sofort nach Interaktion des Nutzers die Vernde-

    rungen darzustellen. Dafr wird eine ausreichende Performanz bentigt,

    um strende Lade- und Berechnungszeiten zu vermeiden.

    Erweiterbarkeit Durch unterschiedliche Anforderungen in den verschiedenen

    Arbeitsbereichen ist es ntig, die Software durch den Benutzer erweitern

    zu knnen. Dafr soll eine Skriptsprache implementiert werden, die es

    erlaubt, zur Laufzeit neue Funktionen hinzuzufgen. Auerdem besteht,

    durch die Kapselung aller Funktionen, die Mglichkeit, dass der Benutzer

    eigene Module programmiert.

    2Vgl. Abschnitt 2.53Vgl. Abschnitt 3.5.2

    41

  • 4 Konzeption

    Plattformunabhngigkeit Die Software soll auf den drei groen Plattformen

    Linux, Mac OS X und Microsoft Windows lauffhig sein. Durch die Ent-

    wicklung auf Basis von openframeworks4 wird diese Plattformunabhn-

    gigkeit gewhrleistet.

    Frei und offen Die Software wird unter einer freien Lizenz entwickelt und ver-

    ffentlicht, um Erweiterungen von Benutzern mglich zu machen. Durch

    die Wahl der Lizenz kann die Entwicklung durch alle Interessenten vor-

    angetrieben werden. Auerdem lsst die Lizenz eine kommerzielle Er-

    weiterung und Nutzung zu. Fr Anwender ist die Software kostenlos

    verfgbar.

    4.3 Visuelle Programmierung

    Um dem breiten Spektrum an Anforderungen gerecht zu werden, wird die

    Software mit einer Form der visuellen Programmierung gesteuert. Henning

    und Vogelsang (2007) definieren visuelle Programmierung wie folgt:

    Es handelt sich hierbei um ein in integrierten Entwicklungsumge-

    bungen mit grafischer Benutzeroberflche verwendetes Hilfsmittel,

    bei welchem grafisch dargestellte Programmblcke durch gerichtete

    und qualifizierte Linien miteinander verlinkt werden.5

    Im Gegensatz zur textuellen Programmierung, bei der Buchstaben, Zeichen

    und Wrter verwendet werden, um einen Quellcode zu schreiben, wird die

    4Vgl. Abschnitt 5.15(Henning und Vogelsang, 2007, S. 56)

    42

  • 4 Konzeption

    a = 100 ;b = 20 ;

    c = a + b ;d = a b ;e = a b ;f = a / b ;

    echo c ;echo d ;echo e ;echo f ;

    Abbildung 4.2: Pseudocode fr eine textuelle Programmierung allerGrundrechenarten.

    Abbildung 4.3: Die Grundrechenarten umgesetzt mit visueller Programmierung.

    43

  • 4 Konzeption

    Programmlogik bei ber visuellen Programmierung durch grafische Elemente

    erstellt. Statt vorgefertigte Funktionsnamen und Aufrufe zu schreiben, werden

    einzelne grafische Elemente mit unterschiedlichen Aufgaben erzeugt und diese

    untereinander verbunden. Die visuelle Programmierung wird fast ausschlielich

    mit der Maus durchgefhrt. Als Beispiel wird in Abbildung 4.2 eine textuel-

    le Programmierung mit Pseudocode gezeigt, die zwei Variablen mit den vier

    Grundrechenarten verbindet. In Abbildung 4.3 wird die gleiche Berechnung in

    visueller Programmierung umgesetzt.

    Fr die Software werden einzelne Klassen definiert, die in ihrer Summe das

    Konzept der visuellen Programmierung bilden. In der folgenden Auflistung

    werden die einzelnen Elemente und ihre Funktionsweise beschrieben.

    Node Ein Node ist ein Knoten in dem Funktionalitt gekapselt ist. Vergleich-

    bar ist dieses Element mit einer Funktion oder Methode in der textuellen

    Programmierung. Ein Node kann also beliebig viele Parameter zur Ein-

    gabe haben. Als Ausgabe sind mehrere unterschiedliche Werte mglich.

    Ein Node kann zwischen der Eingabe und der Ausgabe unterschiedlichste

    Berechnungen durchfhren. Diese knnen unter anderem arithmetischer

    oder logischer Natur sein. Ein Node kann beispielsweise Zahlen miteinan-

    der multiplizieren oder bei einem bestimmten Grenzwert von true nach

    false umschalten. Alle Berechnungen in einem Node werden unabhngig

    von allen anderen vorhandenen Nodes durchgefhrt.

    Pin Ein Pin beschreibt die unterschiedlichen Ein- und Ausgabewerte eines No-

    de. Es wird dabei zwischen Input- und Output-Pins unterschieden. ber

    die unterschiedlichen Input-Pins knnen verschiedene Werte bergeben

    werden, die fr eine Berechnung in dem Node notwendig sind. Diese wer-

    44

  • 4 Konzeption

    den von dem Node verarbeitet und die Ergebnisse dieser Berechnung

    ber die Output-Pins ausgegeben. Vergleichbar sind die Input-Pins mit

    den Parametern einer Funktion in der textuellen Programmierung. Die

    Output-Pins knnen als Rckgabewerte einer Funktion verstanden wer-

    den.

    Connection Eine Connection ist die Verbindung zwischen zwei Pins. Dabei

    wird vom Benutzer ein Output-Pin einer Node mit dem Input-Pin einer

    anderen Node verbunden. Nur durch diese Verbindung knnen Nodes

    miteinander kommunizieren und Werte austauschen. Eine Connection

    ist mit einer Zuweisung oder gegenseitigen Funktionsaufrufen in der tex-

    tuellen Programmierung vergleichbar.

    Spread Ein Spread ist eine Struktur, die in der Software als universeller Da-

    tentyp funktioniert.6 Eingabe- und Ausgabewerte von Nodes knnen nur

    Spreads sein. Ein Spread ist eine eindimensionale Liste von Werten. Diese

    Werte knnen unterschiedliche, primtive Datentypen, wie beispielsweise

    Gleitkommazahlen oder Zeichenketten, beinhalten. Im einfachsten Fall

    hat die Liste eines Spreads nur ein einziges Element und ist demzufolge

    eine einfache Variable. In komplexeren Anwendungen kann ein Spread

    eine groe Anzahl an Elementen enthalten, die beispielsweise aus einer

    Datentabelle stammen. Somit kann der Benutzer eine Reihe von Zahlen

    mit einer Konstante multiplizieren, ohne die Anzahl der einzelnen Werte

    eines Spreads beachten zu mssen. Die Software ist in der Lage, Spreads

    mit einer unterschiedlichen Anzahl von Elementen zu verbinden.

    6Der Begriff Spread wurde aus der Software vvvv bernommen. Vgl. Abschnitt 4.5

    45

  • 4 Konzeption

    Der Einsatz von visueller Programmierung als Bedienkonzept hat mehrere

    Vorteile. Das Verbinden von Nodes, die als Datenquelle funktionieren, mit No-

    des, die die visuellen Variablen reprsentieren, spiegelt das grundlegende Prin-

    zip der Informationsvisualisierung in der Benutzeroberflche wider. Fr den

    Benutzer ist es dadurch verstndlicher welche Aufgabe die Software hat und

    wie mit ihr Probleme gelst werden knnen. Mit der gewhlten Benutzerober-

    flche sind keine Programmierkenntnisse erforderlich, um eine Informations-

    visualisierung zu erstellen. Ein durchschnittliches mathematisches Verstndnis

    des Benutzers reicht fr einfache Aufgaben aus. Das macht ein iteratives Expe-

    rimentieren mglich. Der Benutzer kann die Software einsetzen, um eine Idee

    fr eine Informationsvisualisierung unkompliziert zu skizzieren. Die komplexen

    internen Ablufe liegen dabei hinter einem intuitiven und einfachen Interface

    verborgen. Dadurch knnen context switches 7 vermieden werden. Diese tre-

    ten auf, wenn der Benutzer zwischen unterschiedlichen Programmansichten

    wechseln muss. Stattdessen wird der Bereich fr die Benutzerinteraktion und

    die Ausgabe immer gleichzeitig angezeigt. Der Nutzer erkennt dadurch sofort,

    welchen Einfluss seine Benutzereingaben haben. Er kann diese vergleichen und

    anpassen um schnell zum gewnschten Ergebnis zu kommen. In Abbildung 4.4

    wird dieses Prinzip an einem Beispiel dargestellt.

    7Vgl. (Tufte, 1990, S. 50)

    46

  • 4 Konzeption

    Abbildung 4.4: Ein Beispiel fr eine Benutzeroberflche der visuellen Program-mierung. Zwischen der oberen Reihe und der unteren Reihe vonFenstern hat eine Benutzerinteraktion stattgefunden. Im oberenrechten Fenster wird ein Kreis gezeichnet. Dieser hat einen Radiusvon 20 Pixel, da die rechte obere Node im linken Fenster einen Wertvon 20 Pixel an den Pin fr den Radius des Kreises bergibt. Inder unteren Reihe wurde der Wert auf 125 gendert. Dadurch ver-ndert sich die Darstellung unmittelbar, da der Radius des Kreisesmit dem Wert dieser Node verbunden ist. Die Position des Kreisesist in beiden Darstellungen bei 150 Pixel in der Hhe und Breite, dader obere linke Node den Wert 150 hat und mit zwei Verbindungendie x- und y-Position des Kreises beschreibt.

    47

  • 4 Konzeption

    Importieren von

    Datenquellen

    Festlegung der visuellen

    Variablen

    Evaluation der grafischen Darstellung

    Export der grafischen Darstellung

    Abbildung 4.5: Schematische Prozesskette der Software

    4.4 Prozesskette

    In der Prozesskette wird der generische Arbeitsablauf fr die Benutzung der

    Software beschrieben. Dieser ist unabhngig von den zu verarbeitenden Daten

    und den gewhlten Darstellungsformen. Die Prozesskette ist in vier Arbeits-

    schritte unterteilt, die nacheinander abgearbeitet werden mssen, um eine gra-

    fische Darstellung zu erzeugen. Die einzelnen Schritte der Prozesskette werden

    in Abbildung 4.5 dargestellt und im Folgenden beschrieben.

    4.4.1 Importieren von Datenquellen

    Der Benutzer erzeugt einen Node, der es mglich macht, externe Datenquellen

    in die Software zu laden. Unterschiedliche Nodes haben die Aufgabe, Daten-

    quellen auf dem Computer oder im Netzwerk zu importieren. Dabei werden

    etablierte Dateiformate wie XML, CSV, JSON und netCDF untersttzt. Wenn

    der Benutzer eine Datenquelle ausgewhlt hat, erhlt der Node automatisch

    Output-Pins. Diese repsentieren die ursprngliche Datenstruktur der Daten-

    quelle. Die Datenquelle fr das Beispiel aus Abbildung 1.1 kann eine Tabelle

    sein, bei der in der ersten Spalte alle Begriffe stehen und jede weitere Spal-

    te die Farben eines jeden Kulturkreises beschreibt. Bei zehn Kulturkreisen

    48

  • 4 Konzeption

    hat die Tabelle elf Spalten und der Node besitzt dadurch elf Output-Pins. Die

    Spreads, die durch die Output-Pins ausgegeben werden, knnen unterschiedlich

    weiterverarbeitet werden. Die Erzeugung mehrerer unterschiedlicher Nodes fr

    die Einbindung von Daten macht ein Mashup unterschiedlicher Datenquellen

    mglich.

    4.4.2 Festlegung der visuellen Variablen

    Der Benutzer hat die Mglichkeit weitere Nodes anzulegen, welche die visu-

    ellen Variablen darstellen. Diese knnen unabhngig voneinander erzeugt und

    mit einem datengebenden Node verbunden werden. Sie erzeugen beispielsweise

    grafische Formen wie Kreise oder Rechtecke, die in ihrer Position, Farbe und

    Richtung beeinflusst werden knnen. Der Benutzer hat die Mglichkeit, zwi-

    schen datengebenden Nodes und Nodes, die eine grafische Ausgabe erzeugen,

    weitere Nodes einzufgen, um diese Verbindungen parametrisieren zu knnen.

    Das erlaubt unterschiedlichste Darstellunsgformen. Um das Beispiel aus Abbil-

    dung 1.1 zu realisieren, muss der Benutzer einen Node erzeugen, der Rechtecke

    zeichnet. Dieser Node hat Input-Pins um die Position in der Ebene, die Gre,

    die Rotation und die Farbe festlegen zu knnen. Der Benutzer verbindet dann

    die Output-Pins des datengebenden Nodes mit den Input-Pins dieser Node

    und erzeugt damit eine grafische Darstellung.

    4.4.3 Evaluation der grafischen Darstellung

    Um die aktuelle grafische Darstellung berprfen zu knnen, kann der Benut-

    zer Nodes erzeugen, die eine Vorschau ermglichen. Ein Render-Node erzeugt

    49

  • 4 Konzeption

    ein weiteres Fenster und zeigt die Ausgabe, die von den vorhandenen Nodes

    erzeugt wird, an. Bei jeder Interaktion des Benutzers, die Parameter einzelner

    Nodes ndert, wird automatisch und unmittelbar die aktuelle Ausgabe vern-

    dert. Der Benutzer kann visuell analysieren, welche Verbindungen noch ntig

    sind oder welche zustzlichen Parameter einzelne Verbindungen noch brau-

    chen, um eine sinnvolle grafische Darstellung zu erzeugen. Ist das Beispiel aus

    Abbildung 1.1 mit den vorangegangen Schritten noch nicht zufriedenstellend

    visualisiert, kann der Benutzer weitere Nodes und Connections hinzufgen.

    So kann beispielsweise eine zustzlicher Multiplikator-Node und ein Variable-

    Node genutzt werden, um die Position aller Rechtecke anzupassen.

    4.4.4 Export der grafischen Darstellung

    Ist der Benutzer zufrieden mit der grafischen Darstellung, kann er weitere No-

    des erzeugen, die diese exportieren. Zur Speicherung von grafischen Darstel-

    lungen eignen sich bekannte Bildformate wie JPEG, PNG, BMP oder TIFF.

    Nodes, die andere Formate fr die Weiterverarbeitung untersttzen, sind denk-

    bar. Weitere Exportmglichkeiten sind Vektorgrafiken, 3D-Austauschformate

    oder interaktive HTML Seiten.

    4.5 Bestehende Softwarelsungen

    Durch das breite Arbeitsfeld der Informationsvisualisierung, das meist flieend

    in andere Bereiche bergeht, existiert eine groe Anzahl an Softwarelsungen

    und Programmierbibliotheken. Hier sollen exemplarisch einzelne Anwendun-

    gen beschrieben werden, die verschiedene, geforderte Funktionen enthalten,

    50

  • 4 Konzeption

    diese aber nicht in einem Softwarepaket, das speziell auf die Informationsvi-

    sualisierung zugeschnitten ist, zusammenfassen. Eine Liste aller betrachteten

    Programme findet sich im Anhang in Abschnitt 8.1.

    vvvv ist eine datenstromorientierte Enticklungsumgebung, die universell ein-

    gesetzt werden kann. Mit ihr knnen unterschiedlichste, audiovisuelle

    Medien gekoppelt und verarbeitet werden. vvvv wird durch visuelle Pro-

    grammierung gesteuert, ist aber nicht spezialisiert auf Informationsvisu-

    alisierung und nicht fr alle Plattformen verfgbar.

    MeVisLab ist eine Software aus dem medizinischen Bereich, die durch visuelle

    Programmierung bedient werden kann. MeVisLab ist eine fortgeschritte-

    ne integrierte Entwicklungsumgebung mit verschiedenen Erweiterungs-

    mglichkeiten, ist aber spezialisiert auf die medizinische Bildverarbei-

    tung.

    d3.js ist eine Bibliothek, die Elemente einer HTML-Seite mit Daten verbin-

    den kann. Sie ist in Javascript geschrieben und beschrnkt sich auf We-

    banwendungen. Der Nutzer muss Javascript programmieren, um diese

    Bibliothek nutzen zu knnen.

    NodeBox 2 Beta ist ein Programm, um generative Grafiken zu erstellen. Es

    entspricht nahezu allen beschriebenen Anforderungen. Fr komplexere

    Aufgaben muss aber die Programmiersprache Python erlernt werden.

    Die Anbindung von unterschiedlichen Datenquellen ist nicht gegeben.

    51

  • 5 Prototypische Realisierung

    In diesem Kapitel wird die in Kapitel 4 beschriebene Konzeption prototypisch

    implementiert. Dieser Prototyp trgt den Namen Datasynth. Aufgrund der

    begrenzten Arbeitszeit werden nur grundlegende Funktionen umgesetzt, die

    notwendig sind, um das Prinzip der Software zu verdeutlichen.

    5.1 Technologien

    Um Datasynth zu entwickeln, werden verschiedene Technologien verwendet.

    Im Folgenden wird ihr Einsatz bei der Entwicklung beschrieben.

    C++ ist eine objektorientierte Programmiersprache. Sie bietet eine maschi-

    nennahe Mglichkeit, effiziente Programme zu entwickeln. Datasynth

    nutzt durch openFrameworks und boost die Vorteile von C++. Dazu

    gehren eine hhere Geschwindigkeit beim Ausfhren und eine einfache

    Einbindung anderer Bibliotheken, wie beispielsweise OpenGL fr Grafik-

    operationen. Auerdem findet das Programmierparadigma der Objekt-

    orientierung in den einzelnen Nodes von Datasynth Anwendung.

    openFrameworks ist ein in C++ geschriebenes Framework. Es soll durch sei-

    ne Einfachheit und Intuitivitt den kreativen Prozess und das Experi-

    52

  • 5 Prototypische Realisierung

    Abbildung 5.1: Funktionsweise von openFrameworks aus (openFrameworks Wiki,2011)

    53

  • 5 Prototypische Realisierung

    mentieren beim Programmieren untersttzen. openFrameworks verbin-

    det viele unterschiedliche Bibliotheken fr die computergesttzte, audio-

    visuelle Verarbeitung zu einer gemeinsamen, konsistenten und einfachen

    Programmierschnittstelle. Beispielsweise wird die Bibliothek openGL fr

    Grafiken verwendet und die Bibliothek FreeImage fr das Importieren,

    Bearbeiten und Exportieren von Bilddateien. openFrameworks erlaubt

    dem Programmierer eine schnelle und effiziente Arbeitsweise ohne lan-

    ge Einarbeitungszeiten und ist daher fr die Implementation von Da-

    tasynth optimal geeignet. Die Programmierschnittstelle von openFrame-

    works enthlt wenige Klassen und Funktionen, um berschaubar zu blei-

    ben.1 Fr spezielle Anforderungen kann auf die Befehle der zugrundelie-

    genden Bibliotheken zurckgegriffen werden. openFrameworks ist kom-

    patibel zu den Plattformen Linux, Mac OS X und Microsoft Windows.

    Die Funktionsweise von openFrameworks wird in Abbildung 5.1 verdeut-

    licht. Die Programmlogik, das Benutzerinterface und alle Ein- und Aus-

    gaben fr den Benutzer wurden fr Datasynth mit openFrameworks rea-

    lisiert.

    boost ist eine Sammlung von unterschiedlichen C++ Programmierbibliothe-

    ken. Diese Bibliotheken sind portabel einsetzbar und steigern die Pro-

    duktivitt bei der Entwicklung einer Software, da sie unterschiedliche

    Anwendungsbereiche von C++ erweitern und vereinfachen. Einzelne Bi-

    bliotheken der Sammlung wurden in den neuen C++ Standard bernom-

    men, um C++ selbst zu verbessern. Fr Datasynth werden die Biblio-

    1Vgl. (openFrameworks Geschichte, 2011) und (openFrameworks FAQ, 2011)

    54

  • 5 Prototypische Realisierung

    theken fr Zeiger, Container und generische Programmierung verwendet,

    um die Entwicklung zu vereinfachen.

    GitHub ist eine Internetplattform fr das kollaborative Entwickeln einer Soft-

    ware. Sie basiert auf dem Versionverwaltungstool git, welches entwickelt

    wurde, um nderungen an Quellcode aufzuzeichnen und diesen zwischen

    mehreren Entwicklern teilen zu knnen. GitHub verbindet die Funktio-

    nalitt von git mit einem sozialen Netzwerk, bei der verschiedene Nutzer

    gemeinsam an einer Software arbeiten knnen. Die Entwicklung von Da-

    tasynth kann online verfolgt werden.2

    5.2 Wichtige Kernfunktionen

    In diesem Kapitel werden exemplarisch wichtige Abschnitte der Software an-

    hand ihres Quelltextes erlutert. In Abbildung 5.2 wird eine Struktur dar-

    gestellt, die die einzelnen Nodes zur Laufzeit erstellt. In dieser Struktur ist

    eine Liste gespeichert, die Wertepaare enthlt. Ein Wertepaar besteht aus dem

    Namen eines Node als Zeichenkette und einer Funktion zum Anlegen dieses

    Node. Wenn der Benutzer einen Node erstellen will und im Men auf einen

    entsprechenden Eintrag geklickt hat, wird eine Zeichenkette bergeben. Wenn

    die Liste der Struktur eine solche Zeichenkette enthlt, wird der entsprechende

    Node erzeugt. So knnen vom Benutzer dynamisch zur Laufzeit neue Nodes

    erzeugt werden. Die Struktur dient als eine Art Katalog, in dem alle Nodes

    enthalten sind, die der Nutzer zur visuellen Programmierung verwenden kann.

    In Abbildung 5.3 wird in Auszgen die Klassendefinition des BaseNode und

    2Vgl. http://www.github.com/benben/datasynth

    55

  • 5 Prototypische Realisierung

    struct Factory {typedef std : : map FactoryMap ;

    FactoryMap f ;

    Factory ( ) {using boost : : phoenix : : new_;using boost : : phoenix : : c ons t ruc t ;using namespace boost : : phoenix : : arg_names ;f [ "CSVParser" ] =construct(new_(arg1 , arg2 , arg3 , arg4 ) ) ;f [ "Render" ] =construct(new_(arg1 , arg2 , arg3 , arg4 ) ) ;f [ "Point " ] =construct(new_(arg1 , arg2 , arg3 , arg4 ) ) ;}

    NodePtr operator ( )( int ID , std : : s t r i n g const & type , f loat x , f loat y , s t r i n g name) const {

    FactoryMap : : c on s t_ i t e r a to r i t = f . f i nd ( type ) ;i f ( i t == f . end ( ) ) throw bad_type_exception ( ) ;

    return i t>second ( ID , x , y , name ) ;}

    } ;

    Abbildung 5.2: Erzeugung eines Node-Objektes aus einer Liste aller vorhandenenNodes

    56

  • 5 Prototypische Realisierung

    class BaseNode{

    public :BaseNode ( ) ;virtual ~BaseNode ( ) ;

    s t r i n g name ;s t r i n g type ;int ID ;

    vector input ;vector output ;virtual void i n i t ( ) ;virtual void proce s s ( ) ;virtual void basedraw ( ) ;virtual void draw ( ) ;

    } ;

    class Add : public BaseNode{

    public :Add( int _ID, f loat _x, f loat _y, s t r i n g _name ) ;~Add ( ) ;void proce s s ( ) ;

    } ;

    Abbildung 5.3: Klassendefinition der BaseNode und der Node fr die Addition alsBeispiel

    57

  • 5 Prototypische Realisierung

    void Core : : update ( ) {BOOST_FOREACH(NodePtr node , nodes )

    node>proce s s ( ) ;

    for (unsigned int i = 0 ; i < nodes . s i z e ( ) ; i++) {i f ( nodes [ i ]>bI s I nva l i d ) {

    nodes . e r a s e ( nodes . begin ()+ i ) ;}

    }}

    void Core : : draw ( ) {BOOST_FOREACH(NodePtr node , nodes ) {

    i f ( ! node>bI s I nva l i d ) {node>draw ( ) ;

    }}

    }

    void Core : : handleMenuEvent (menuEventType & args ) {i f ( args . handler == "CreateNode" ) {

    NodePtr temp =fa c t o ry ( ID++, args . valueType , Menu : : Get()>x , Menu : : Get()>y , args . va lue ) ;temp>type = args . valueType ;nodes . push_back ( temp ) ;

    }}

    Abbildung 5.4: Erzeugung von Objekten einer Klasse bestimmt durch eineZeichenkette.

    58

  • 5 Prototypische Realisierung

    des Node fr die Addition zweier Gleitkommazahlen als Beispiel dargestellt.

    Ein Node ist eine einfache C++ Klasse, die alle Eigenschaften der Klasse Base-

    Node erbt. Der Node fr die Addition zweier Gleitkommazahlen berschreibt

    die process Methode der BaseNode, um zwei Input-Pins zu addieren. Andere

    Klassen, die von dem BaseNode erben, knnen die process Methode mit ihrer

    eigenen Funktionalitt berschreiben. Das macht es mglich, alle Funktionen,

    die in einer C++ Methode implementiert werden knnen, in einer Klasse als

    Node zu kapseln und fr die visuelle Programmierung von Datasynth zu ver-

    wenden.

    In Abbildung 5.4 werden einzelne Ausschnitte aus dem Hauptprogramm ge-

    zeigt. In diesem Teil von Datasynth luft die Hauptschleife ab, die alle Benut-

    zereingaben behandelt, die Aktualisierung und Berechnung aller Nodes durch-

    fhrt und Nodes und Connections hinzufgt oder lscht.

    5.3 Implementierte Nodes

    In Tabelle 5.1 werden implementierte Nodes exemplarisch aufgefhrt und ihre

    Funktion beschrieben. Diese Nodes reichen bereits aus, um einfache Visualisie-

    rungen durchzufhren. Eine vollstndige Liste aller fr Datasynth implemen-

    tierten Nodes findet sich im Anhang in Abschnitt 8.2.

    Die Tabelle 5.2 zeigt, wie die grafischen Variablen aus Abschnitt 2.5 in Da-

    tasynth umgesetzt wurden. In dieser Tabelle werden ausschlielich Nodes be-

    schrieben, die eine Ausgabe erzeugen. Die visuellen Variablen, Textur und Ro-

    tation wurden aufgrund der begrenzten Bearbeitungszeit nicht implementiert.

    59

  • 5 Prototypische Realisierung

    Node Funktion

    Add Addiert zwei Spreads miteinander und gibt ein Spreadals Summe dieser zurck.

    Substract Zieht vom Spread, der am ersten Input-Pin anliegt, denSpread vom zweiten Input-Pin ab und gibt die Differenzals Spread aus.

    Multiply Multipliziert zwei Spreads und gibt das Produkt alsSpread aus.

    Divide Teilt den Spread am ersten Input-Pin durch den Spreadder am zweiten Input-Pin anliegt und gibt das Ergebnisals Spread aus.

    Variable Diesem Node kann der Benutzer einen skalaren Wert zu-weisen. Damit wird am Output-Pin ein Spread mit einereinzigen Variable erzeugt. Diese kann genutzt werden,um Berechnungen mit anderen Spreads durchzufhren.

    CSVParser Mit diesem Node hat der Benutzer die Mglichkeit, eineCSV-Datei zu importieren. Die Spalten werden dabeials Spreads ber die Output-Pins ausgegeben.

    RGBColor Erzeugt aus drei Input-Pins fr die Farbkanle Rot,Grn und Blau einen Spread mit Farbwerten. Dieserkann von anderen Nodes benutzt werden, um ausgege-bene grafische Elemente einzufrben.

    Line Dieser Node zeichnet eine Linie. Der Node hat fnfInput-Pins, die Anfangskoordinaten, Endkoordinatenund Farbe der Linie bestimmen.

    Circle Dieser Node zeichnet einen Kreis. Der Kreis ist bestimmtdurch Koordinaten, Radius und Farbe. Der Node hatdafr drei Input-Pins.

    Render Dieser Node erzeugt ein weiteres Fenster, in dem der Be-nutzer die aktuelle Ausgabe berprfen kann. Wenn ermit der aktuellen Ausgabe zufrieden ist, kann er durchTastendruck den Render-Node veranlassen, ein hochauf-lsende Bilddatei zu erstellen.

    Tabelle 5.1: Exemplarische Auflistung implementierter Nodes

    60

  • 5 Prototypische Realisierung

    grafische Variable Umsetzung mit Datasynth

    Position in der Ebene Jeder Node hat Input-Pins fr die x- und y-Koordinaten der darzustellenden grafischen Primi-tive, wie beispielsweise Kreise und Rechtecke.

    Gre Nodes haben die Mglichkeit, die Gre der auszu-gebenden Elemente anzupassen. So kann beispiels-weise bei der Verwendung des Circle-Node der Ra-dius frei gewhlt werden.

    Helligkeitswert Nodes haben die Mglichkeit eine Farbe anzuneh-men. Durch die Farbe kann auerdem der Hellig-keitswert festgelegt werden.

    Textur Textur ist nicht implementiert.Farbe Es gibt Nodes, die aus drei Eingangswerten eine

    Farbe im RGB- oder HSV-Farbraum erzeugen. Mitdiesen Nodes kann die Farbgebung anderer Nodesbeeinflusst werden.

    Richtung Objektrotation ist nicht implementiert.Form Es existieren unterschiedliche Nodes fr unter-

    schiedliche Formen, zum Beispiel Kreis, Rechteck,Punkt und Linie. Diese Nodes knnen kombiniertwerden, um komplexe Formen zu realisieren.

    Tabelle 5.2: Visuelle Variablen und ihre Umsetzung in Datasynth

    61

  • 5 Prototypische Realisierung

    Abbildung 5.5: Ausgangsdaten in Tabellenform (Ausschnitt)

    5.4 Beispielanwendung

    In diesem Kapitel wird mit Datasynth eine Informationsvisualisierung durch-

    gefhrt. Die Ausgangsdaten aus Abbildung 5.5 wurden aus dem API.Leipzig

    Projekt gewonnen und in Tabellenform aufbereitet. Diese Tabelle wurde als

    CSV-Datei exportiert. In Abbildung 5.6 werden Ausschnitte aus der Benutzer-

    oberflche von Datasynth gezeigt. Diese zeigen exemplarisch Nodes, die fr die

    Informationsvisualisierung benutzt werden. Zuerst wird die CSV-Datei mithil-

    fe eines CSVParser-Node importiert. Danach werden unterschiedliche Berech-

    nungen durchgefhrt um die Ausgabe des Circle-Nodes zu beeinflussen. Ein

    Render-Node erzeugt die Ausgabe und ermglicht eine Exportfunktion. Eine

    vollstndige bersicht der Benutzeroberflche fr diese Anwendung findet sich

    im Anhang in Abschnitt 8.4. In Abbildung 5.7 wird ein Ausschnitt aus der

    fertigen grafischen Darstellung gezeigt. Die komplette Darstellung findet sich

    im Anhang in Abschnitt 8.5.

    62

  • 5 Prototypische Realisierung

    Abbildung 5.6: Ausschnitte aus der Benutzeroberflche. Oben links: CSVParser-Node importiert die Daten aus einer CSV-Datei. Unten links: ver-schiedene Nodes zur Berechnung. Oben rechts: Circle-Node erzeugtKreise an den gegebenen Positionen. Unten rechts: Render-Nodeerzeugt eine Ausgabe.

    Abbildung 5.7: Ausschnitt aus der grafischen Darstellung

    63

  • 5 Prototypische Realisierung

    5.5 Probleme

    Whrend der Realisierung von Datasynth traten einige Probleme auf, die im

    Folgenden erlutert werden.

    Da C++ eine sehr maschinennahe Sprache ist und auf Performanz optimiert

    ist, ist es schwierig Reflections und Introspections durchzufhren. Es knnen

    whrend der Laufzeit keine Informationen ber die Beschaffenheit einer Klas-

    se abgefragt werden. Das knnen zum Beispiel die Ausgabe aller vorhandenen

    Methoden und Instanzvariablen eines Objektes sein. Diese Eigenschaften kn-

    nen auerdem nicht dynamisch verndert werden. Beispielsweise ist es nicht

    mglich, die process Methode einer Node zur Laufzeit zu berschreiben. Um

    trotzdem flexibel Nodes zur Laufzeit erzeugen zu knnen, erben alle Nodes von

    einer universellen Elternklasse. In einem Container werden dann ausschlielich

    Zeiger auf die Objekte vom Typ der Elternklasse gespeichert. An den Speicher-

    stellen liegen dann die eigentlichen Objekte einer Node-Klasse. Das Hauptpro-

    gramm kann ber alle Elemente des Containers iterieren und somit alle vom

    Benutzer erzeugten Nodes aufrufen.

    Universelle Datentypcontainer sind in C++ nicht standardmig vorhan-

    den.3 Um die Verbindungen zwischen den einzelnen Nodes datentypagnostisch

    zu halten, wurde ein eigener Datentyp Spread definiert.4 Durch die Abstrakti-

    on in einen boost::variant Container ergibt sich eine einheitliche Mglichkeit,

    primitive Datentypen, wie beispielsweise Gleitkommazahlen und Zeichenketten

    abzuspeichern. Vor der Verwendung in einer Node werden diese Datentypen

    3Nullzeiger sind mglich, erfordern aber eine unsichere und unflexbile Wiederherstellungdes ursprnglichen Datentyps.

    4Eine Definition des Begriffs Spread erfolgte im Abschnitt 4.3

    64

  • 5 Prototypische Realisierung

    mit boost::get rekonstruiert. Der Vorteil gegenber Nullzeigern ist, dass bei

    fehlgeschlagener Wiederherstellung eine Fehlerbehandlung mglich ist.

    openFrameworks untersttzt nicht das Erstellen und Verwenden mehrerer

    unabhngiger Fenster. Deshalb musste auf ein Add-on zurckgegriffen werden,

    welches die Fensterverwaltung mit einem alternativen System austauscht.5 Da-

    mit knnen nach dem Start des Programms neue Fenster erzeugt werden, was

    beispielsweise fr die Funktionalitt des Render-Node wichtig ist.

    5openFrameworks verwendet standardmig GLUT zur Fensterverwaltung. Das fr Da-tasynth verwendete ofxFenster Add-on benutzt dagegen die neuere und flexiblere Bi-bliothek GHOST aus dem Blender-Projekt.

    65

  • 6 Evaluation

    In diesem Kapitel wird Datasynth anhand der in Abschnitt 4.2 aufgestellten

    Anforderungen bewertet.

    Durch die Bedienung von Datasynth mit visueller Programmierung muss kei-

    ne textuelle Programmiersprache erlernt werden. Stattdessen kann der Nutzer

    intuitiv grafische Elemente auf der Oberflche erzeugen und durch Verbin-

    dungen eine Programmlogik erstellen. Das Ergebnis einer Berechnung oder die

    Ausgabe von Grafiken erfolgt dabei unmittelbar in einem seperaten Fenster.

    Dort kann der Nutzer ohne einen Zwischenschritt, wie beispielsweise Kom-

    pilierung oder Ausfhrung, die grafische Darstellung sofort berprfen und

    gegebenenfalls anpassen. Dadurch wird eine einfache Benutzerinteraktion er-

    mglicht.

    In Abschnitt 5.3 wurden Nodes aufgelistet, die fr die prototypische Rea-

    lisierung entstanden sind. Damit knnen erste Informationsvisualisierungen1

    durchgefhrt werden. Aufgrund der begrenzten Bearbeitungszeit konnten zwei

    visuelle Variablen nicht implementiert werden. Der sehr komplexe Node fr die

    Texturierung und die Funktion der Rotation wurden nicht umgesetzt. Die feh-

    1Vgl. Abschnitt 8.3 und 8.5 im Anhang

    66

  • 6 Evaluation

    lende Funktionalitt kann aber durch den modularen Aufbau von Datasynth

    nachtrglich hinzugefgt werden.

    Fr die flexible Ein- und Ausgabe wurde jeweils eine Mglichkeit imple-

    mentiert, um die komplette Prozesskette von Datasynth umzusetzen. Es exis-

    tiert ein Node, der eine CSV-Datei einliest und entsprechend der Anzahl der

    vorhanden Spalten automatisch Output-Pins erzeugt, an denen die einzelnen

    Spalten als Spreads ausgegeben werden. Fr die Ausgabe als Bild existiert ein

    Render-Node. Dieser erzeugt ein Ausgabefenster in variabler Gre und kann

    per Tastendruck hochauflsende Bilddateien im PNG-Format exportieren.

    Die Performanz von Datasynth war bei der Erstellung aller fr diese Arbeit

    durchgefhrten Informationsvisualisierungen sehr gut. Das Grundsystem wur-

    de so programmiert, dass Nodes die process Methode nur ausfhren, wenn die

    Werte an den Input-Pins verndert werden. Somit werden komplexe Rechen-

    aufgaben nur durchgefhrt, wenn der Nutzer Parameter anpasst. Die grafische

    Ausgabe des Render-Node erfordert den grten Rechenaufwand, da die Aus-

    gabe kontinuierlich gezeichnet wird. Dieser Aufwand kann durch entsprechende

    Steuerung reduziert werden.

    Alle Nodes sind einfache C++ Klassen, die von einer Elternklasse alle Va-

    riablen und Methoden erben, die fr die Verwendung in Datasynth ntig sind.

    Somit ist eine hohe Erweiterbarkeit gegeben, da es mglich ist, nahezu jede

    Funktionalitt, die in einer C++ Klasse implementiert werden kann, als Node

    in Datasynth nutzbar zu machen. Auf eine eingebettete Skriptsprache wurde

    aus zeitlichen Grnden verzichtet.

    Durch die Verwendung von openFrameworks und boost als Basis der Ent-

    wicklung ist es mglich, Datasynth auf allen Plattformen auszufhren, die von

    67

  • 6 Evaluation

    openFrameworks untersttzt werden. Das sind Linux, Mac OS X, Microsoft

    Windows. Dadurch ist Datasynth plattformunabhngig einsetzbar.

    Datasynth wird ffentlich auf der Plattform GitHub entwickelt.2 Als Lizenz

    wurde die MIT-Lizenz gewhlt. Diese ermglicht jedem Benutzer eine offene,

    aber auch kommerzielle Weiterentwicklung.

    Datasynth kann neben den in A