of 105 /105
Diplomarbeit Qualitative und quantitative Analyse von Interaktionsaufzeichnungen vorgelegt von Christian Spannagel [email protected] 21. Januar 2003 Technische Universität Darmstadt Fachbereich Informatik Fachgebiet Praktische Informatik Betreuer: Prof. Dr. Ulrik Schroeder Prüfer: Prof. Dr. Wolfgang Henhapl

Qualitative und quantitative Analyse von ... · Hierbei wird geklärt, welche Methoden eingesetzt werden können, um diese qualitativ und quantitativ zu untersuchen, und welches Potenzial

  • Author
    others

  • View
    1

  • Download
    0

Embed Size (px)

Text of Qualitative und quantitative Analyse von ... · Hierbei wird geklärt, welche Methoden eingesetzt...

  • Diplomarbeit

    Qualitative und quantitative Analysevon Interaktionsaufzeichnungen

    vorgelegt von

    Christian [email protected]

    21. Januar 2003

    Technische Universität DarmstadtFachbereich Informatik

    Fachgebiet Praktische Informatik

    Betreuer: Prof. Dr. Ulrik SchroederPrüfer: Prof. Dr. Wolfgang Henhapl

  • Eidesstattliche Erklärung

    Ich versichere an Eides statt, dass ich die vorliegende Diplomarbeit selbstständig verfasst,keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie alle wörtlichoder sinngemäß übernommenen Stellen in der Arbeit gekennzeichnet habe. Diese Arbeithat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.

    Darmstadt, den 21. Januar 2003

    Christian Spannagel

  • Vorbemerkungen

    Ich möchte darauf hinweisen, dass der Einfachheit halber im Text der männlichen Formbestimmter Begriffe (Benutzer) der Vorzug gegenüber der Schrägstrich-Schreibweise (Be-nutzer/Benutzerinnen) oder Groß-I-Schreibweise (BenutzerInnen) gegeben wurde. Derweibliche Part ist aber immer implizit enthalten.

    Zum anderen habe ich der besseren Lesbarkeit wegen darauf verzichtet, bei Klassenna-men (JEditorPane) konsequent die Package-Einordnung (javax.swing.JEditorPane)mit anzugeben, sofern dies aus dem Kontext ersichtlich oder nicht von Belang ist.

    In UML-Klassendiagrammen sind außerdem immer nur die im jeweiligen Kontext rele-vanten Attribute und Methoden eingetragen und nicht alle zur Klasse gehörigen.

  • Inhaltsverzeichnis

    1. Einleitung 11.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1. Beispiel 1: Analyse von Videoaufzeichnungen . . . . . . . . . . . . 21.1.2. Beispiel 2: Untersuchung der Benutzung von Lernsoftware . . . . 3

    1.2. Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Begriffsbestimmungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.3.1. Benutzer-Programm-Interaktion . . . . . . . . . . . . . . . . . . . 41.3.2. Interaktionsaufzeichnung . . . . . . . . . . . . . . . . . . . . . . . 61.3.3. Graphische Benutzungsschnittstelle . . . . . . . . . . . . . . . . . 71.3.4. Capture&Replay-Programm . . . . . . . . . . . . . . . . . . . . . 81.3.5. Qualitative Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.6. Quantitative Analyse . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2. Anwendungsfelder 122.1. Fokus Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2. Fokus Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3. Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.3.1. Beispiel 1: Nachvollziehen von Lernwegen in Hypertext-Systemen 142.3.2. Beispiel 2: Ermitteln von Suchstrategien . . . . . . . . . . . . . . 162.3.3. Beispiel 3: Ergonomische Evaluation eines Editors . . . . . . . . . 18

    2.4. Folgerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.1. Automatische Erkennung von Verhalten . . . . . . . . . . . . . . 192.4.2. Unterschiedliche Granularität . . . . . . . . . . . . . . . . . . . . 202.4.3. Erweiterbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3. Die Basissysteme 213.1. Jacareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.1.1. Ereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.2. Die Aufzeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.1.3. Die Wiedergabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1.4. Starten der Zielanwendung . . . . . . . . . . . . . . . . . . . . . . 263.1.5. Komponentenverwaltung . . . . . . . . . . . . . . . . . . . . . . . 273.1.6. Weitere Merkmale von Jacareto . . . . . . . . . . . . . . . . . . . 28

    3.2. CleverPHL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3. Systeme zur quantitativen Analyse . . . . . . . . . . . . . . . . . . . . . 30

    3.3.1. SPSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.2. Fathom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.3. Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    3.4. Folgerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4. Formale Beschreibung 384.1. Qualitative Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    i

  • 4.1.1. Aufzeichnung und Aufzeichnungselemente . . . . . . . . . . . . . 384.1.2. Aufzeichnungssprache und Aufzeichnungsgrammatik . . . . . . . . 394.1.3. Strukturanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    4.2. Quantitative Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2.1. Erstellung eines Datensatzes aus einer Aufzeichnung . . . . . . . . 454.2.2. Erstellung eines Datensatzes aus mehreren Aufzeichnungen . . . . 46

    5. Implementierung 475.1. Qualitative Analyse der Aufzeichnung . . . . . . . . . . . . . . . . . . . . 47

    5.1.1. Der Strukturbaum . . . . . . . . . . . . . . . . . . . . . . . . . . 475.1.2. Der Tokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.1.3. Erkennung und Bildung von Strukturelementen . . . . . . . . . . 515.1.4. Beispiele einiger Strukturelemente . . . . . . . . . . . . . . . . . . 545.1.5. Festlegung der Prioritäten . . . . . . . . . . . . . . . . . . . . . . 565.1.6. Spezielle Wurzelelemente . . . . . . . . . . . . . . . . . . . . . . . 565.1.7. Ergänzungen und Bemerkungen . . . . . . . . . . . . . . . . . . . 58

    5.2. Quantitative Analyse der Aufzeichnung . . . . . . . . . . . . . . . . . . . 595.2.1. Datensätze und Datenfälle . . . . . . . . . . . . . . . . . . . . . . 595.2.2. Filterung von Strukturelementen . . . . . . . . . . . . . . . . . . 605.2.3. Konvertierung von Strukturelementen in Datenfälle . . . . . . . . 605.2.4. Integration in CleverPHL . . . . . . . . . . . . . . . . . . . . . . 61

    5.3. Weitere Ergänzungen des Frameworks . . . . . . . . . . . . . . . . . . . . 625.3.1. Eine Queue für allgemeine Ereignisse . . . . . . . . . . . . . . . . 625.3.2. Wiedergabe von Strukturelementen . . . . . . . . . . . . . . . . . 635.3.3. Selektive Wiedergabe . . . . . . . . . . . . . . . . . . . . . . . . . 645.3.4. Editoren für Strukturelemente . . . . . . . . . . . . . . . . . . . . 64

    6. Analysebeispiele 666.1. Analyse von Klickverhalten . . . . . . . . . . . . . . . . . . . . . . . . . 666.2. Nachvollziehen von Lernwegen in Hypertext-Systemen . . . . . . . . . . . 676.3. Ermitteln von Suchstrategien . . . . . . . . . . . . . . . . . . . . . . . . 716.4. Ergonomische Evaluation eines Editors . . . . . . . . . . . . . . . . . . . 74

    7. Ethische Aspekte 76

    8. Weiterführende Ideen 778.1. Einfaches Einbringen neuer Strukturelemente . . . . . . . . . . . . . . . . 778.2. Persistenz von Strukturen . . . . . . . . . . . . . . . . . . . . . . . . . . 778.3. Gruppierung von Elementen zu einem Strukturelement . . . . . . . . . . 788.4. Whitespace-Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788.5. Einbringen prozeduraler Elemente . . . . . . . . . . . . . . . . . . . . . . 788.6. Überprüfung der Struktur bei Änderungen . . . . . . . . . . . . . . . . . 798.7. Laden anwendungsspezifischer Module . . . . . . . . . . . . . . . . . . . 798.8. Kombination mit Videoaufzeichnungen . . . . . . . . . . . . . . . . . . . 80

    ii

  • 8.9. Videokonfrontation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    9. Fazit 82

    A. Packages im Jacareto-Framework 83

    B. Quelltexte 84B.1. Quelltext der Klasse MouseClick . . . . . . . . . . . . . . . . . . . . . . 84B.2. Quelltext der parse-Methode der Klasse MultipleMouseClick . . . . . . 88B.3. Quelltext der parse-Methode der Klasse FocusChange . . . . . . . . . . 91B.4. Quelltext der Klasse DCMouseClickConverter . . . . . . . . . . . . . . . 94

    Literatur 95

    iii

  • Abbildungsverzeichnis

    1. Benutzeraktionen auf einem Druckdialog . . . . . . . . . . . . . . . . . . 52. Screenshot der Software des Projektes CEKA . . . . . . . . . . . . . . . 173. Screenshot des Editors von LUCS . . . . . . . . . . . . . . . . . . . . . . 194. Klassen des Capture-Prozesses . . . . . . . . . . . . . . . . . . . . . . . . 235. Der Gang eines Mausereignisses durch diverse Instanzen . . . . . . . . . 246. Die Klasse Record und assoziierte Klassen . . . . . . . . . . . . . . . . . 257. Die Klassen Replay und Replayer . . . . . . . . . . . . . . . . . . . . . 268. Die Klasse Components und assoziierte Klassen . . . . . . . . . . . . . . 299. Das Hauptfenster von CleverPHL . . . . . . . . . . . . . . . . . . . . . . 3110. Die Anzeige des Komponentenbaums in CleverPHL . . . . . . . . . . . . 3111. Screenshot von SPSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3212. Screenshot von Fathom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3313. Screenshot von Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3414. Die Struktur einer Mausbewegung . . . . . . . . . . . . . . . . . . . . . . 3515. Mehrdeutigkeit der Strukturierung . . . . . . . . . . . . . . . . . . . . . 3616. Angestrebte Darstellung der Aufzeichnungsstruktur . . . . . . . . . . . . 3717. Syntaxbäume zu Beispiel 4.3 . . . . . . . . . . . . . . . . . . . . . . . . . 4218. Strukturbaum einer Aufzeichnung . . . . . . . . . . . . . . . . . . . . . . 4819. Die Klasse Structure und assoziierte Klassen . . . . . . . . . . . . . . . 4920. Der Tokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5121. Die Klassen RecordTokenizer und RecordTokenizerState . . . . . . . 5222. Die Klassen DataSet und DataCase . . . . . . . . . . . . . . . . . . . . . 5923. Die Klasse Filter und Erbenklassen . . . . . . . . . . . . . . . . . . . . 6024. Das Datensatz-Fenster von CleverPHL . . . . . . . . . . . . . . . . . . . 6125. Fenster zur Erstellung eines neuen Datensatzes . . . . . . . . . . . . . . . 6226. Fenster zum Speichern eines Datensatzes als CSV-Datei . . . . . . . . . . 6227. Ein Editor für MouseClick-Strukturelemente . . . . . . . . . . . . . . . . 6528. Ein Datensatz mit Mausklick-Werten . . . . . . . . . . . . . . . . . . . . 6729. Analyse von Mausklicks in Fathom . . . . . . . . . . . . . . . . . . . . . 6830. Aufzeichnung einer Browser-Verwendung . . . . . . . . . . . . . . . . . . 7031. Strukturierte Aufzeichnung beim Zahlenstrahl-Spiel . . . . . . . . . . . . 7232. Auswertung mehrerer Aufzeichnungen des Zahlenstrahl-Spiels . . . . . . 7333. Eine Aufzeichnung der Benutzung des LUCS-Editors . . . . . . . . . . . 7534. Auswertung von LUCS-Aufzeichnungen in Fathom . . . . . . . . . . . . . 75

    iv

  • Tabellenverzeichnis

    1. Beispiel für die symbolische Repräsentation einer Benutzer-Programm-Interaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2. Ereignisse, die atomare Benutzeraktionen repräsentieren . . . . . . . . . 223. Ein Datensatz mit vier Datenfällen . . . . . . . . . . . . . . . . . . . . . 454. Ein Datensatz von Mausklicks . . . . . . . . . . . . . . . . . . . . . . . . 46

    v

  • 1. Einleitung

    Beobachten ist ein elementar dichterischerVorgang. Auch die Wirklichkeit muss geformtwerden, will man sie zum Sprechen bringen.

    Friedrich Dürrenmatt

    You can observe a lot by watching.Yogi Berra

    1.1. Motivation

    Menschen beobachten Verhalten. Sie interessieren sich dafür, wie in bestimmten Situa-tionen und unter bestimmten Voraussetzungen gehandelt wird und versuchen, diesesVerhalten zu analysieren, zu interpretieren und zu klassifizieren. Es gibt Arbeits- undFreizeitverhalten, Kommunikationsverhalten, Verbraucherverhalten, Lernverhalten undFehlverhalten. Es gibt Verhalten in Gruppen und in Isolation, Verhalten im Alltag undin künstlich geschaffenen Umgebungen. Es gibt zuvorkommendes, aggressives, nachläs-siges, zwanghaftes, rationales und soziales Verhalten. Ganze Forschungsrichtungen wiedie Psychologie, die Soziologie und die Verhaltensforschung gründen sich auf die Beob-achtung und Interpretation von Verhalten.

    Seit der Computer Einzug in unser tägliches Leben gefunden hat, schlüpfen Menschen indie Rolle von Benutzern. Im Umgang mit Software wie beispielsweise Textverarbeitungs-programmen zeigen sie Formen von Verhalten, die es zuvor noch nicht gegeben hat (dassogenannte Benutzerverhalten1). Neben dem Tippen von Text, das sie bereits von derVerwendung einer Schreibmaschine her kennen, öffnen und schließen sie Dateien, konfi-gurieren ihren Ausdruck in einem Druckdialog oder bedienen die Rechtschreibkorrektur.Tätigkeiten wie Surfen und Chatten gibt es in großem Umfang erst seit den 90er Jah-ren, in denen das Internet einer größeren Benutzergruppe zugänglich wurde. Menschenarbeiten und lernen mit dem Computer und verbringen ihre Freizeit mit ihm.

    Es ist in vielen Zusammenhängen von großem Interesse, wie Menschen sich in der Be-nutzung eines Computers verhalten. Sei es, um herauszufinden, ob ein Programm leichtbedienbar ist, um den Lernfortschritt eines Benutzers bei der Verwendung einer Lern-software zu überprüfen oder um auf kognitive Strukturen bei den Benutzern selbst zuschließen.

    Damit das Verhalten untersucht werden kann, muss es zunächst in einer geeignetenForm festgehalten werden. Im Weiteren wird dies mit dem Begriff Verhaltenserfassungbezeichnet. Die einfachste Form der Verhaltenserfassung ist die Beobachtung, bei der

    1Benutzerverhalten hat es auch schon früher gegeben. In dieser Arbeit wird mit diesem Begriff lediglichdas Verhalten bezeichnet, das Menschen zeigen, wenn sie einen Computer bedienen, und nicht dieBenutzung anderer Gegenstände und Maschinen.

    1

  • der Beobachter interessierende Verhaltensaspekte notiert. Bei einem solchen Vorgehenist das Verhalten nur einmal beobachtbar; erscheint der notierte Vehaltensablauf zueinem späteren Zeitpunkt als unzureichend, so kann man sich das Verhalten nicht nocheinmal ansehen. Dies ist anders, wenn das Verhalten zunächst mit einer Videokameraaufgezeichnet wird. Das einmal gezeigte Verhalten (zumindest der visuelle und auditiveTeil) ist nun persistent. Es kann immer wieder ganz oder teilweise betrachtet werden,und man kann den Ablauf des Verhaltens auch zu einem späteren Zeitpunkt notieren.

    Am Ende der Datenerfassung besitzt man eine oder mehrere Repräsentationen des zuuntersuchenden Verhaltens (z.B. Videoaufnahmen, Mitschriften, ...). Diese bilden dieGrundlage für die Verhaltensanalyse. In der Verhaltensanalyse werden bestimmte Aspek-te des Verhaltens genauer fokussiert. Man untersucht zum Beispiel, ob ein bestimmtesVerhalten gezeigt worden ist, wie oft ein bestimmtes Verhalten vorkommt und wie langebestimmte Verhaltenselemente gedauert haben. Von besonderem Interesse ist das Auf-spüren bestimmter Verhaltensmuster. Hierbei wird versucht, ähnliche Verhaltensabfolgenzu entdecken und zu markieren.

    Wird Benutzerverhalten untersucht, so liegt es nahe, den Computer auch zur Erfassungund Analyse des Verhaltens zu nutzen. Es können z.B. in regelmäßigen ZeitabständenScreenshots angefertigt werden und so das Benutzerverhalten in besserer Qualität si-chern, als dies vielleicht durch Videoaufnahmen des Bildschirms möglich ist2. Surfver-halten auf Webseiten wird durch den Webserver automatisch mitgeloggt; die Logdateienkönnen anschließend die Basis für Analysen bilden. Eine weitere Form der Verhaltens-erfassung mit dem Computer ist die Aufzeichnung der Interaktionen zwischen Benut-zer und Programm. Hierbei werden z.B. Mausbewegungen, Tastatureingaben und Pro-grammzustandsänderungen gespeichert und können zu einem späteren Zeitpunkt wieder-gegeben werden (ähnlich wie Makros in einer Anwendungssoftware). Die Interaktionsauf-zeichnungen bieten außerdem sehr detailliertes Datenmaterial für die Verhaltensanalyse.

    In dieser Arbeit wird ein Ansatz zur Analyse von Interaktionsaufzeichnungen vorgestellt.Hierbei wird geklärt, welche Methoden eingesetzt werden können, um diese qualitativund quantitativ zu untersuchen, und welches Potenzial in dieser Art der Verhaltensauf-zeichnung steckt.

    1.1.1. Beispiel 1: Analyse von Videoaufzeichnungen

    In soziologischen Studien wird häufig das zu untersuchende Verhalten auf Video auf-gezeichnet (Verhaltenserfassung) und im nachhinein untersucht (Verhaltensanalyse). Sowird beispielsweise der Interaktionsprozess in einer Teambesprechung aufgenommen undspäter nach den Kriterien Machtverhältnisse und Hilfeverhalten analysiert [KZ02]. Hier-zu betrachtet sich der Forscher das aufgezeichnete Video und fügt in einem Videoanalyse-

    2Dieses Vorgehen ersetzt nicht die Videoaufzeichnung des Benutzerverhaltens vollständig, da Verhaltenwie Mimik, Gestik und sprachliche Äußerungen der Benutzer nicht erfasst wird.

    2

  • System Bemerkungen hinzu3. Diese Annotationen können dann die Basis für weitere,zum Teil automatisch ablaufende Analysen bilden.

    In [KZ02] wird beschrieben, wie die Videoanalyse-Software THEME zur Untersuchungvon Gruppenprozessen eingesetzt wird. Zunächst wird das zu analysierende Verhaltenaufgezeichnet. Bevor mit der eigentlichen Analyse begonnen wird, muss eine Kodierungder interessierenden Elemente entwickelt werden. Anschließend wird während einer Be-trachtung des Videos mit Hilfe des Codes das Verhalten annotiert. Diese Annotationenbilden die Grundlage für die automatische Mustererkennung, die immer wiederkehrendeCodemuster entdeckt.

    In [HB92] werden Kriterien für Videoannotations- und Videoanalyse-Systeme aufgeführt.Neben Anforderungen an die Benutzungsoberfläche und an die Kodierung und Darstel-lung der Daten werden auch Kriterien für die Analyse und Interpretation der Daten ent-wickelt. Hierzu zählt die Möglichkeit für den Benutzer, Ereignisse zu gruppieren und gan-ze Gruppierungen wiederzugeben, die Ergebnisse einer automatischen Mustererkennungzu betrachten, die Daten zu exportieren und quantitative Analysen wie Durchschnitts-und Varianzberechnungen durchzuführen.

    1.1.2. Beispiel 2: Untersuchung der Benutzung von Lernsoftware

    Computer spielen eine immer größere Rolle in Lernszenarien. Klassische Unterrichtsme-thoden beispielsweise werden ergänzt durch interaktive Lernmodule, mit denen Schülerden Lerngegenstand erforschen und sich in konstruktiver Weise Wissen aneignen können.Interaktiv bedeutet nach Baumgartner [Bau99] in diesem Zusammenhang, dass „[...] Be-nutzer nicht bloß Rezipienten sind, sondern in den medial vermittelten Informations-,Kommunikations und Lernprozess gestaltend eingreifen“. Diese neue Form des Lernenshat weitreichende Folgen für die Evaluation von Lernprozessen: Herkömmliche Metho-den, mit denen der Lernerfolg gemessen wird wie z.B. Reproduktion und Anwendung,sind nicht mehr adäquat für die Beurteilung von Lernerfolgen durch den Umgang miteinem interaktiven Medium. Es „[...] müssen bei der Evaluation interaktiver Medien vorallem die durch die Interaktivität angestoßenen Lernprozesse evaluiert werden“.

    Auch die Evaluation der Software selbst sollte nach Baumgartner nicht durch eine ab-strakte inhaltliche Analyse erfolgen, da es nicht um die „inhaltliche statische Qualität“geht, sondern „darum, wie weit es in der Lage ist, Lernprozesse durch Interaktionen zuinitiieren oder zu unterstützen“. Auch hier muss also das Benutzerverhalten bei der Be-dienung der Lernsoftware untersucht werden. Der Computer bietet bei der Untersuchungsolchen Verhaltens neue Möglichkeiten. Neben klassischen Methoden wie Beobachtungund Befragung kann mit Hilfe geeigneter Software der Lernprozess protokolliert werden.

    3Eine Reihe solcher Analysesysteme wird in [HB92] aufgeführt.

    3

  • 1.2. Überblick

    Im letzten Teil des ersten Kapitels werden zunächst einige Begriffe geklärt, welche imweiteren Verlauf der Arbeit immer wieder verwendet werden. Im zweiten Kapitel werdenmögliche Anwendungsfelder aufgezeigt, in denen es von Nutzen sein kann, Interaktions-aufzeichnungen nach qualitativen und quantitativen Gesichtspunkten zu analysieren. Indiesem Zusammenhang werden auch drei konkrete Beispiele angeführt, die in den dar-auffolgenden Abschnitten immer wieder der Veranschaulichung dienen.

    Die Analysemechanismen werden bestehende Systeme nutzen bzw. in diese integriertwerden; diese Basissysteme werden im dritten Kapitel vorgestellt. Eine formale Beschrei-bung des Problems, die die Grundlage für die Entwicklung der zentralen Algorithmenbildet, wird im vierten Kapitel formuliert. Die Implementierung und Einbindung derAnalysemechanismen werden im darauffolgenden Teil der Arbeit vorgestellt. Im sechs-ten Kapitel werden noch einmal die drei anfänglichen Beispiele aufgegriffen; hier wirddie Verwendung der Analysemechanismen in konkreten Anwendungskontexten beschrie-ben. Nach ethischen Fragestellungen im siebten Kapitel werden im letzten Teil dieserArbeit weiterführende Ideen im Rahmen der Analyse von Interaktionsaufzeichnungenvorgestellt.

    1.3. Begriffsbestimmungen

    1.3.1. Benutzer-Programm-Interaktion

    Der Begriff Benutzer-Programm-Interaktion bezeichnet den Prozess wechselseitigen Han-dels von Benutzer und Programm. Die jeweiligen Handlungen werden auch Benutzerak-tionen und Programmaktionen genannt. Sowohl Benutzer als auch Programm könnenagieren und reagieren. So veranlassen beispielsweise die Aktionen des Benutzers auf ei-nem Druckdialog das Programm dazu, entsprechend zu reagieren und das Druckformatgraphisch anzuzeigen (siehe Abbildung 1). Ist der Drucker nach dem Abschicken desDruckauftrages ausgeschaltet, agiert das Programm und lässt einen Dialog mit einerWarnmeldung erscheinen, auf die der Benutzer reagieren muss.

    Benutzeraktionen werden über Eingabegeräte wie Maus oder Tastatur ausgelöst. Schoneine minimale Mausbewegung ist eine solche Aktion. Programmaktionen sind alle Be-rechnungen, die ein Programm ausführt; dies können z.B. Programmzustandsänderungensein, zu denen auch die Änderung der graphischen Benutzungsschnittstelle zu zählen ist.

    Benutzer- und Programmaktionen müssen für die andere Partei nicht sichtbar sein; Pro-grammberechnungen sind an der Benutzungsschnittstelle häufig transparent, und auchBenutzeraktionen müssen nicht zwangsläufig an das Programm weitergereicht werden; sowerden Mausbewegungen von dem Programm nicht analysiert, wenn dies von dem Pro-grammierer nicht vorgesehen worden ist. Als Benutzer-Programm-Interaktion wird imstrengeren Sinn nur die Menge aller Aktionen verstanden, die beiden Parteien zugänglich

    4

  • Abbildung 1: Benutzeraktionen auf einem Druckdialog

    ist, denn nur diese Aktionen sind Teil der Interaktion.

    Wenn es allerdings um die Analyse von Benutzer-Programm-Interaktionen geht, so sindmitunter auch die Aktionen von Interesse, die der anderen Partei nicht sichtbar, dieunter Umständen aber für die Interpretation des Interaktionsgeschehens von Bedeutungsind. Im weiteren Sinn werden also alle Benutzer- und Programmaktionen unter denBegriff Benutzer-Programm-Interaktion gefasst, auch die für die jeweils andere Parteinicht sichtbaren. Diese ausgedehnte Definition bildet auch die Grundlage für diese Arbeit.

    Ein anschauliches Beispiel für eine Benutzer-Programm-Interaktion ist der Spielverlaufeines Schachspiels: Sowohl der Benutzer als auch das Programm (in Form des Com-putergegners) steuern ihre Schachfiguren. Wenn der Benutzer einen Zug eingibt (Be-nutzeraktion), setzt das Programm in der graphischen Darstellung des Schachbretts dieentsprechende Figur des menschlichen Spielers auf das Zielfeld (Programmreaktion). DasProgramm kann auch aktiv Handlungen ausführen: Der Zug des Computergegners wirddurch das Programm selbst initiiert. Die Strategieberechnungen des Schachprogrammssind Programmaktionen, die dem Benutzer verborgen bleiben.

    Im Folgenden wird anstelle von Benutzer-Programm-Interaktion auch nur von Interak-tion gesprochen.

    5

  • 1.3.2. Interaktionsaufzeichnung

    Eine Interaktionsaufzeichnung ist die Erfassung und Speicherung einer Benutzer-Pro-gramm-Interaktion4. Sowohl Benutzer- als auch Programmaktionen werden festgehaltenund für spätere Zwecke bewahrt. Eine Interaktionsaufzeichnung soll sowohl sichtbare alsauch unsichtbare Aktionen enthalten können, muss aber nicht zwangsläufig alle Aktionenspeichern. So kann eine Interaktionsaufzeichnung auch lediglich die Benutzeraktionenenthalten.

    Eine Interaktionsaufzeichnung ist die Speicherung eines Interaktionsprozesses. Die Auf-zeichnungselemente sind daher nach ihrem zeitlichen Auftreten sortiert. Wenn man ineiner solchen Aufzeichnung nur die Benutzeraktionen betrachtet, so erhält man die zeit-liche Abfolge der Operationen, die ein Benutzer mit einem Programm durchgeführt hat.Eine Interaktionsaufzeichnung ist somit gespeichertes Benutzerverhalten.

    Interaktionsaufzeichnungen können die Aktionen in unterschiedlichen Repräsentationenspeichern. So ist z.B. denkbar, eine Programmaktion wie das Anzeigen eines Druck-dialoges in einer textuellen Form zu repräsentieren (z.B. Druckdialog angezeigt) oderin einer graphischen (z.B. durch einen Screenshot und die Speicherung des Bildes ineiner Datei). Interaktionsaufzeichnungen können somit in der videoartigen Speicherungder Benutzer-Programm-Interaktion erfolgen, in dem aus dem Bildschirminhalt währenddes Vorganges ein Video erzeugt wird. Sie können auch aus einer symbolischen Repräsen-tation bestehen, in dem jede einzelne Benutzer- und Programmaktion geeignet kodiertund abgelegt wird (siehe Tabelle 1). Die erste Form hat den Vorteil, dass die Interak-tion jederzeit einfach betrachtet werden kann; die Analyse gestaltet sich hier allerdingsähnlich schwierig wie die Analyse von Videoaufzeichnungen. Die zweite Form bietet bes-sere Ansatzpunkte zur Analyse, da das Verhalten bereits erkannt ist; zum Betrachtender Interaktion muss allerdings das Programm erneut gestartet werden, und es müs-sen Mechanismen bereitstehen, die die gespeicherten Aktionen zum richtigen Zeitpunktin der korrekten Weise erneut auslösen, insofern dies nicht automatisch geschieht (wiebeispielsweise bei Programmaktionen).

    Ist ein erneutes Betrachten der aufgezeichneten Interaktion möglich, so handelt es sichum eine Form des Application Output Recording (AOR), welches zum Ziel hat, die Aus-gaben eines Programmes und die Interaktionen mit dem Programm derart aufzuzeich-nen, dass das resultierende Datenmaterial zu einem späteren Zeitpunkt zur originalge-treuen Wiedergabe verwendet werden kann [BFMW97]. Im allgemeinen werden beimAOR verschiedene Datenströme erfasst wie beispielsweise die Bildschirmausgaben, dieAudioausgaben des Programms und die Benutzeraktionen wie Mausbewegungen undTastatureingaben, um diese in einer Form zu speichern, die als eigenständiges Medium

    4Der Begriff Aufzeichnung bezeichnet im Deutschen sowohl den Prozess als auch das Resultat des Pro-zesses. Dieser Begriff wird hier je nach Kontext in der einen oder der anderen Bedeutung verwendet.In der Regel meint er aber das Resultat des Aufzeichnungsprozesses, z.B. wenn von der Analyse ei-ner Interaktionsaufzeichnung gesprochen wird. Wenn die Bedeutung nicht eindeutig aus dem Kontexthervorgeht, dann wird explizit auf diese hingewiesen.

    6

  • Tabelle 1: Beispiel für die symbolische Repräsentation einer Benutzer-Programm-Interaktion

    Benutzer ProgrammMaus bewegt –Auf Drucker-Icon geklickt –– Druckdialog angezeigtMaus bewegt –Druckformat gewählt –– Druckformat angezeigtAuf OK-Button geklickt –– Druckdialog unsichtbar gemacht

    mit Hilfe eines entsprechenden Wiedergabeprogramms abgespielt und betrachtet werdenkann [Sch99, S.8].

    In dieser Arbeit wird von einer symbolischen Repräsentation der Benutzer-Programm-Interaktion ausgegangen, da diese geeigneter für automatische Analysen ist. Die Mög-lichkeit, sich die aufgezeichnete Interaktion zu betrachten, ist aber dennoch gegeben(siehe weiter unten).

    1.3.3. Graphische Benutzungsschnittstelle

    Eine Schnittstelle bezeichnet nach DIN 44300 den Übergang an der Grenze zwischenzwei Einheiten mit vereinbarten Regeln für die Übergabe von Daten und Signalen. DieBenutzungsschnittstelle ist die Schnittstelle zwischen den technischen Systemen (Hard-ware und Software) und dem menschlichen Benutzer. Hier wird bestimmt, wie Menschund Maschine miteinander kommunizieren [Sch99, S.19].5

    In [Sta96] wird unter graphischen Benutzungsschnittstellen eine Generation von Benut-zungsschnittstellen verstanden, die mit der Idee der Visualisierung von Daten und Ma-nipulation verbunden ist. Auf der Hardwareseite handelt es sich hier meist um einenBildschirm, der nicht nur Zeichen ausgeben, sondern auch beliebige Symbole wie Kreiseund Polygone und Bilder darstellen kann, und um Eingabegeräte wie eine Maus undeine Tastatur. Alle Operationen, die der Benutzer mit den Eingabegeräten vornimmt,werden unmittelbar auf dem Bildschirm sichtbar; bewegt er die Maus, so bewegt sich inanaloger Weise der Mauszeiger über den Bildschirm.

    Graphische Benutzungsschnittstellen werden heute meist aus Systemen gebildet, die5Schließer erwähnt in [Sch99, S.19], dass die Begriffe Benutzungsschnittstelle und Benutzerschnittstellesowie Benutzungsoberfläche und Benutzeroberfläche synonym verwendet werden. Im eigentlichen Sin-ne handelt es sich um die Schnittstelle und Oberfläche der Benutzung und nicht des Benutzers; imAlltagsgebrauch wird eher letzteres verwendet.

    7

  • mehrere Fenster und Icons gleichzeitig auf einer Arbeitsoberfläche (Desktop) anzei-gen. Dieses Oberflächenparadigma zeichnet sich aus durch die Vergegenständlichung vonProdukten und Vorgängen in Form von Symbolen auf dem Desktop und durch die Mög-lichkeit, diese Symbole räumlich anzuordnen und direkt zu manipulieren, beispielsweisedurch ein Kontext-Menü oder durch Drag&Drop-Mechanismen [Lip99, S.17].

    Im Englischen wird die graphische Benutzungsoberfläche mit dem Begriff Graphical UserInterface bezeichnet und mit GUI abgekürzt. Diese Abkürzung hat auch in die deutsch-sprachige Literatur Einzug gehalten.

    1.3.4. Capture&Replay-Programm

    Ein Capture&Replay-Programm erkennt und speichert die Benutzeraktionen wie Maus-bewegungen und Tastatureingaben auf dem GUI der sogenannten Zielanwendung undkann diese auch wieder abspielen. Das Erkennen wird als Capture-Prozess, das Wieder-abspielen als Replay-Prozess oder auch Playback bezeichnet. Der Capture-Prozess mussnicht alle Benutzeraktionen aufzeichnen; hier kann durchaus eine Auswahl erfolgen. Beider Wiedergabe bewegt sich der Mauszeiger wie von Geisterhand über das GUI derZielanwendung, die Tastatureingaben werden simuliert. Auch hier kann eine Auswahlsinnvoll sein, wenn nicht alle gespeicherten Benutzeraktionen wiedergegeben werden sol-len.

    Die Wiedergabe kann unterschiedlich erfolgen. Zum einen können die aufgenommenenZeitabstände zwischen aufeinanderfolgenden Aktionen bei der Wiedergabe bewahrt wer-den (Echtzeitwiedergabe). Zum anderen können die Aktionen mit zuvor festgelegtenZeitabständen abgespielt werden (Festzeitwiedergabe). Hierbei können auch Aktionenweggelassen und nur die zentralen Ereignisse wiedergegeben werden.

    Weiterhin lässt sich die Wiedergabe dadurch charakterisieren, ob die Aktionen tatsäch-lich auf der Zielanwendung ausgeführt werden (z.B. nach einem erneuten Start derZielanwendung), oder ob das Erscheinungsbild der Zielanwendung nur simuliert wird.Der erste Fall wird in dieser Arbeit mit ausführender Wiedergabe bezeichnet, der zweitemit simulativer Wiedergabe. Zur simulativen Wiedergabe ist es notwendig, dass währenddes Capture-Prozesses neben den Benutzeraktionen auch das graphische Erscheinungs-bild der Anwendung gesichert wird (im Sinne des weiter oben beschriebenen ApplicationOutput Recording).

    Darüber hinaus können noch weitere Wiedergabe-Merkmale unterschieden werden, z.B.ob der tatsächliche Mauszeiger bewegt wird oder ob ein Pseudo-Mauszeiger die Aktionenscheinbar ausführt und der richtige Mauszeiger zur Steuerung des Capture&Replay-Programms zur Verfügung steht.

    Es gibt viele Einsatzmöglichkeiten für ein Capture&Replay-Programm: Mit Hilfe desCapture-Prozesses können Demonstrationen und Präsentationen von Programmen er-zeugt und diese potenziellen Kunden gezeigt werden. Aufzeichnungen kurzer Benut-

    8

  • zungssequenzen können auch Beschreibungen, Manuals und Hilfstexte zu Programmenanreichern. Es können Makros durch Aufzeichnen einer Benutzungssequenz gebildet undin anderen Programmkontexten abgespielt werden. Das Erstellen von Ablaufskripten, diehäufiger durchgeführt werden müssen, ist einfach über die Benutzung des Programmsmöglich.

    Capture&Replay-Werkzeuge werden auch vielfach in der Softwareentwicklung eingesetzt,um in deren Verlauf die Zwischenprodukte zu testen: Hierbei wird zunächst die graphi-sche Benutzungsoberfläche für ein zu entwickelndes Programm geschrieben. Die Funktio-nen der einzelnen Bedienelemente sind dabei nur für ganz spezielle Testfälle konzipiert.Eine Benutzungssequenz, die genau diese Testfälle durchspielt, wird aufgezeichnet unddurch Testelemente, die den Zustand bestimmter Programmelemente während der Wie-dergabe überprüfen, angereichert. In dieser ursprünglichen Form bestehen alle in derAufzeichnung enthaltenen Tests. Jetzt wird im Entwicklungsprozess nach und nach dieintendierte Funktionalität in das Programm eingebaut. In nächtlichen Testläufen werdendie Aufzeichnungen abgespielt und überprüft, ob weiterhin keines der Testelemente einenFehler signalisiert. So kann mit einer gewissen Sicherheit angenommen werden, dass dasProgramm korrekt funktionert. Ein Beispiel für ein solches Vorgehen ist die Entwicklungeines Taschenrechners: Es wird zunächst die graphische Benutzungsoberfläche für denRechner geschrieben. Die einzelnen Knöpfe werden hierbei mit einer restriktiven Seman-tik belegt. Diese kann z.B. darin bestehen, dass der Taschenrechner die Zahl 12 ausgibt,wenn der Benutzer die Tasten 3, +, 9 und = in Folge betätigt. Im Capture-Prozess,mit dessen Hilfe das Testskript erstellt werden soll, wird genau diese Benutzungsse-quenz durchgespielt. Am Ende wird ein Testelement eingebracht, welches überprüft, obdie Anzeige des Taschenrechners tatsächlich die Zahl 12 anzeigt. Es wird eine Vielzahlderartiger Testsequenzen aufgezeichnet und in nächtlichen Tests durchlaufen. Währenddes Entwicklungsprozesses werden nun nach und nach die Tasten des Taschenrechnersmit den tatsächlichen arithmetischen Funktionen belegt. Läuft das Testskript weiterhinfehlerfrei, so kann angenommen werden, dass der Taschenrechner richtig rechnet.

    Der Capture-Prozess erzeugt eine Interaktionsaufzeichnung im oben beschriebenen Sin-ne, die die Grundlage für die Wiedergabe bildet. Hierbei handelt es sich in der Regelnur um die Aufzeichnung der Benutzeraktionen (Mausaktionen, Tastatureingaben), diefür die Zielanwendung sowohl sichtbar als auch unsichtbar sein können. Es ist aber auchdurchaus denkbar, dass ein Capture&Replay-Programm Programmaktionen speichert.Ein solcher Ansatz wird in Abschnitt 3.1 näher ausgeführt.

    1.3.5. Qualitative Analyse

    Bei einer qualitativen Analyse eines Untersuchungsgegenstandes wird die Frage nach derBeschaffenheit des Gegenstandes gestellt. Untersuchungsgegenstände können Objekteoder Prozesse sein. Handelt es sich um einen Prozess, so sind die folgenden Fragestel-lungen bei qualitativen Analysen typisch:

    9

  • • Um welchen Prozess handelt es sich?

    • Welcher Kategorie gehört der Prozess an?

    • Welche Teilprozesse sind im Gesamtprozess enthalten?

    Wichtiges Kennzeichen qualitativer Analysen ist die Interpretation der Daten. In derForschung werden qualitative Verfahren beispielsweise dazu eingesetzt, verbale Datenaus Fragebögen zu interpretieren [BD02, S.295ff.].

    Die einfachste Form der qualitativen Analyse einer Interaktionsaufzeichnung ist das Be-trachten der Wiedergabe und die Interpretation durch den Beobachter. Dies ist unterUmständen jedoch sehr aufwändig, z.B. wenn sehr viele Aufzeichnungen nach denselbenKriterien analysiert werden sollen. Hier wäre es hilfreich, einen automatischen Interpre-tationsmechanismus zu besitzen. Diesem Mechanismus muss zuvor mitgeteilt werden,wie er interpretieren soll. Anschließend werden die Aufzeichnungsdaten in den Interpre-tationsautomatismus eingegeben, die Ausgabe liefert die Interpretationsergebnisse.

    1.3.6. Quantitative Analyse

    Quantitative Analysen eines Untersuchungsgegenstandes betrachten die messbaren Grö-ßen von Gegenstandsmerkmalen. Grundlegend für derartige Analysen sind Vorgänge wieZählen und Messen und die mathematische Weiterverarbeitung der gewonnenen Werte.

    Folgende Fragen sind typisch für quantitative Analysen:

    • Wie häufig tritt ein bestimmtes Merkmal auf?

    • Welchen Wert hat die Merkmalsausprägung im Mittel?

    • Wie stark variiert eine Merkmalsausprägung?

    • Wie häufig treten zwei Merkmale gemeinsam auf?

    Neben der Untersuchung von einfachen Messgrößen können auch zusammengesetzte Grö-ßen fokussiert werden. Dies wird als Indexbildung bezeichnet [BD02, S.143ff]. Hat manbeispielsweise drei Merkmale A, B und C, und hat das Merkmal A ein höheres Gewichtals die anderen beiden Merkmale, so kann ein Index q aus den drei Messwerten va, vbund vc, der A höher bewertet, folgendermaßen berechnet werden:

    q =2 ∗ va + vb + vc

    4

    Die quantitative Analyse von Interaktionsaufzeichnungen untersucht die messbaren Merk-malsausprägungen der Aufzeichung oder ihrer Elemente. So kann beispielweise gefragt

    10

  • werden, wie häufig mit dem Mauszeiger in einem bestimmten Bildauschnitt geklickt wor-den ist, wie oft ein bestimmter Hyperlink gewählt wurde und wieviel Zeit die Benutzerbei der Bedienung eines Druckdialogs im Mittel benötigen.

    11

  • 2. Anwendungsfelder

    Eine Interaktionsaufzeichnung von Benutzer- und Programmaktionen kann die Basis fürAnalysen in vielen Anwendungsbereichen bilden. Hierbei können die beiden Akteure,der Benutzer und das Programm, mit unterschiedlicher Gewichtung in den Fokus desInteresses rücken (Fokus Benutzer und Fokus Programm). Da es sich bei einer Benutzer-Programm-Interaktion um einen wechselseitigen Prozess handelt, sind durchaus auchkombinierte Fragestellungen denkbar. So kann man sich beispielsweise fragen, welchesProgramm für welche Benutzer geeignet ist. Der Fokus liegt in diesem Fall sowohl auf demProgramm und seinen Attributen als auch auf dem Benutzer und dessen Eigenschaften.

    Zunächst werden die beiden Gesichtspunkte Fokus Benutzer und Fokus Programm nähererläutert. Im Anschluss werden exemplarisch drei Anwendungen mit unterschiedlichenAnalyseschwerpunkten vorgestellt.

    2.1. Fokus Benutzer

    Am naheliegendsten ist die Verwendung einer Interaktionsaufzeichung zur Analyse vonBenutzerverhalten. Ziel kann z.B. eine Typisierung des aufgezeichneten Verhaltens sein.Hierbei werden Verhaltenselemente erkannt und einer Kategorie zugeordnet.

    Qualitative Fragestellungen bei der Untersuchung von Benutzerverhalten können sein:

    • Welches Verhalten wurde gezeigt?

    • In welcher Reihenfolge wurde das Verhalten gezeigt?

    • Welches Verhalten dominiert?

    • Welcher Typ von Verhalten liegt vor?

    Unter quantitativen Gesichtspunkten könnte u.a. Folgendes untersucht werden:

    • Wie oft wird ein bestimmtes Verhalten gezeigt?

    • Wie häufig treten zwei Verhaltenselemente gemeinsam auf?

    • Wie lange dauert ein Verhalten im Mittel?

    Aufgrund einer Analyse des Benutzerverhaltens können manchmal auch Aussagen überkognitive Fähigkeiten oder emotionale bzw. motivationale Zustände einer Person getrof-fen werden. Wenn der Benutzer beispielsweise mehrere Möglichkeiten zur Wahl einesKapitels in einem hypertextbasierten Lehrsystem hat, so kann man, wenn er mit großerHäufigkeit immer wieder dieselben Themen wählt, auf Interesse schließen. Das Verhalten

    12

  • des Benutzers in Form von gespeicherten Benutzeraktionen kann also in vielen FällenAufschluss über den Benutzer selbst geben.

    Die Frage nach Eigenschaften des Benutzers wird oft in psychologischen Untersuchun-gen gestellt, in denen immer häufiger Computer als Darbietungs- und Analysemediumeingesetzt werden. In psychologischen Experimenten beispielsweise ist die Präsentationvon Reizen mit Computerprogrammen sehr exakt möglich, und die Messung von Reak-tionszeiten ist sehr genau.

    Eine Interaktionsaufzeichnung enthält gespeichertes Benutzerverhalten. Sind allgemei-ne Techniken zur Analyse von Interaktionsaufzeichnungen vorhanden, so können dieseTechniken auch zur Auswertung von experimentell gewonnenen Daten herangezogenwerden, insofern die Aufzeichnung die gewünschte Granularität hat. Wenn beispielswei-se die Zeit zwischen der Präsentation eines Reizes und dem anschließenden Mausklickdurch die Versuchsperson interessiert, so muss die zeitliche Auflösung der Aufzeichnungentsprechend groß sein.

    2.2. Fokus Programm

    Neben der Untersuchung von Benutzereigenschaften können auch Merkmale des Pro-gramms von Interesse sein. Zu diesen Merkmalen gehört unter anderem die Gebrauchs-tauglichkeit (Usability)6. Die Untersuchung der Gebrauchstauglichkeit kann in summa-tiven oder formativen Evaluationen erfolgen. Wird die Gebrauchstauglichkeit eines Pro-gramms am Ende seiner Entwicklung getestet (summativ), so geschieht dies lediglichzur Qualitätsbeurteilung. Dies gibt meist nur unzureichend Aufschluss über Verbesse-rungsmöglichkeiten und bietet kaum konstruktive Anhaltspunkte unter diesem Gesichts-punkt [GH, S.1]. Wird hingegen ein Programm während der Entwicklung immer wiederevaluiert (formativ), so können die Untersuchungsergebnisse die Grundlage für weitereVerbesserungen bilden. Voraussetzung hierfür ist, dass während des gesamten Entwick-lungsprozesses Prototypen der Benutzungsschnittstelle zur Verfügung stehen, so dasseine Evaluation überhaupt durchgeführt werden kann. Kunden können in der Verwen-dung der Prototypen frühzeitig sehen, ob das intendierte Produkt ihren Vorstellungenentspricht; der Kunde wird so in den Entwicklungsprozess mit eingebunden.

    Neben klassischen Evaluationsmethoden wie beispielsweise Fragebögen kann auch dieUntersuchung von aufgezeichnetem Benutzerverhalten über die GebrauchstauglichkeitAuskunft geben. Aus den Schritten, die ein Benutzer auf der Benutzungsoberflächedurchführt, wird dabei auf Verwendbarkeit und Benutzungsfreundlichkeit geschlossen.Hierbei wird z.B. gefragt, welche Funktionen des Programms ein Benutzer häufig wählt,welche nie genutzt werden und auf welche Weise der Benutzer bestimmte Funktionenaufruft (beispielsweise über das Menü oder über ein Tastenkürzel). Dieses Vorgehen hatgegenüber Fragebögen neben der größeren Objektivität des Verfahrens vor allem auch

    6Ein weiteres Kriterium ist, wie in Abschnitt 1.3.4 beschrieben wurde, die Korrektheit des Programms,die durch Testen zwar nicht bewiesen, aber zumindest angenommen werden kann.

    13

  • Vorteile in Situationen, in denen der Benutzer nicht verbalisieren kann, was er gut oderschlecht an einem Programm findet [GH]7.

    2.3. Beispiele

    2.3.1. Beispiel 1: Nachvollziehen von Lernwegen in Hypertext-Systemen

    In vielen Kontexten ist von Interesse, welches Verhalten Menschen beim Surfen im In-ternet äußern. Hierzu zählt das Nachvollziehen von Lernwegen in hypertextbasiertenLernumgebungen wie elektronischen Lehrbüchern. Häufig werden zu diesem Zweck dieLog-Dateien von Webservern analysiert. In solchen Dateien speichern Webserver dieDaten, die sie aus den Anfragen erhalten. Hierzu zählen unter anderem die folgendenInformationen8:

    • die IP-Adresse des Client-Rechners

    • der Benutzername

    • das Datum und die Zeit der Anfrage

    • die Request-Zeile (z.B. GET /text.html HTTP/1.0)

    • die Größe der zurückgelieferten Information in Bytes

    • der Herkunfts-URL (der sogenannte Referer)

    • Informationen über den Browser und das Betriebssystem des Client-Rechners

    Wenn man eine Log-Datei vorliegen hat, kann man daraus z.B. die folgenden Informa-tionen gewinnen:

    • Wer eine Seite angefordert hat

    • Wann er sie angefordert hat und

    • Von welcher Seite er kommt7Die beiden genannten Methoden (Fragebogen und Analyse des Benutzerverhaltens) schließen sich nichtgegenseitig aus. Oft ist es sinnvoll, beide gemeinsam anzuwenden. Die Benutzerbefragung kann aucherfolgen, indem dem Benutzer sein aufgezeichnetes Verhalten vorgespielt und dieser um Kommentierungder Aufzeichnung gebeten wird. Es handelt sich hier um die Methode der Videokonfrontation und wirdin Abschnitt 8.9 aufgegriffen.

    8siehe z.B. [Apa]

    14

  • Will man die Lernwege in einem Hypertext-Lernsystem nachvollziehen, so kann manz.B. die Frage klären, welche Seiten, die auf dem eigenen Server liegen, der Benutzernacheinander aufgerufen hat, inklusive der Seiten, die der Benutzer von anderen Serverngeholt und von denen er aus den eigenen Server kontaktiert hat. Daneben kann manauf die Verweildauer auf den eigenen Seiten schließen, insofern die zuvor benutzte Seitenicht auf einem anderen Server liegt: Ruft ein Benutzer zunächst die Seite A zu demZeitpunkt tA auf und danach die Seite B zu dem Zeitpunkt tB, so kann man beim Aufrufvon B schließen, dass der Benutzer auf der Seite A die Zeitspanne tB − tA verweilt hat,da der Referer beim Aufruf von B auf A verweist.

    Dennoch sind die Möglichkeiten, die eine Log-Datei für komplexere Analysen des Be-nutzerverhaltens bietet, sehr begrenzt. Folgende Informationen kann man nicht aus Log-Dateien gewinnen:

    • Die Mausbewegungen und Tastatureingaben, z.B. in Formularen, sind auf der Ser-verseite nicht zugänglich. Interessiert bei der Lösung eines Aufgabenblattes überein HTML-Formular nicht nur die tatsächlich abgeschickte Information, sonderninteressieren auch die Eingaben, die der Benutzer unter Umständen wieder ver-wirft, bevor er die Lösung abschickt, so kann dies aus den tatsächlich versandtenInformationen nicht gewonnen werden.

    • Die Verweildauer lässt nicht auf eine Beschäftigung mit der entsprechenden Seiteschließen. Es könnte beispielweise sein, dass der Benutzer in einem zweiten Brow-serfenster ganz andere Seiten auf anderen Servern betrachtet hat und somit dieVerweildauer auf der Seite im ersten Browserfenster nichts über die Beschäftigungmit dieser Seite aussagt, oder es ist möglich, dass der Benutzer einen kurzen Spa-ziergang eingelegt hat. Kennt man jedoch die Mausereignisse auf dem Browser, sokann man z.B. aus Scrollaktivitäten schließen, dass der Benutzer die Seite auchgelesen hat (zumindest mit größerer Sicherheit).

    Diese Mängel kann man beheben, indem man webbasierte Systeme programmiert, diemehr Informationen als die oben beschriebenen an den Server übermitteln, z.B. auf JavaApplets basierend. Dies hat jedoch zum Nachteil, dass die Informationsweitergabe insolchen Systemen zusätzlich implementiert werden muss. Zudem kann die Belastung desNetzes stark ansteigen, wenn sehr detaillierte Informationen wie einzelne Mausbewegun-gen an den Server übermittelt werden müssen.

    Dem serverseitigen Loggen steht das clientseitige Loggen gegenüber. Da der Benut-zer alle Aktionen auf dem Client-Rechner durchführt, können diese auch dort ermitteltwerden. Speichert man mit Hilfe eines Capture&Replay-Programms alle Benutzeraktio-nen auf einem Webbrowser, so kann die hierdurch gewonnene Interaktionsaufzeichnungals Basis für komplexere Analysen dienen. Nachteilhaft an dieser Lösung ist, dass dasCapture&Replay-Programm auf dem Client-Rechner vorhanden sein und vor dem Surf-vorgang gestartet werden muss. Die Interaktionsaufzeichnungen liegen zunächst nur auf

    15

  • dem Client-Rechner vor und müssen zur Auswertung auf einen zentralen Rechner über-tragen werden. Wenn man die Beobachtung allerdings in einem eigens für die Untersu-chung präparierten Computerraum durchführt, dürfte dies keine Probleme bereiten.

    Will man das Benutzerverhalten in hypertextbasierten Lernsystemen untersuchen, sosind beispielsweise die folgenden Fragen denkbar:

    • Welches Lernverhalten zeigt der Benutzer? Welche Wege wählt er durch das Hyper-text-System?

    • Nutzt der Benutzer eher visuelle oder eher textuelle Angebote?

    • Wie lange beschäftigt sich ein Benutzer mit einem bestimmten Angebot? Wie langeim Mittel?

    • Wie oft korrigiert ein Benutzer Eingaben in einem Aufgabenformular? Welche Kor-rekturen nimmt er vor?

    Aber auch das Hypertextsystem selbst kann Untersuchungsgegenstand sein (Dies ent-spricht dem Fokus Programm9). So lässt sich bei der Gestaltung von hypertextbasiertenLernsystemen fragen:

    • Ist das System lernunterstützend strukturiert?

    • Bietet das System die Information, die der Lernende benötigt?

    2.3.2. Beispiel 2: Ermitteln von Suchstrategien

    Im dem laufenden Projekt CEKA (Computerunterstützte Eigenkonstruktionen von Kin-dern im mathematischen Anfangsunterricht) der Pädagogischen Hochschule Ludwigs-burg [Kla] soll vom Verhalten von Grundschülern im Umgang mit dem Zahlenstrahl aufderen interne Zahlvorstellungen geschlossen werden, um beispielsweise frühzeitig Rechen-schwächen diagnostizieren zu können. In den empirischen Untersuchungen des Projektesarbeiten Kinder mit einem Programm, welches einen leeren Zahlenstrahl zeigt. Lediglichder Anfang und das Ende (manchmal auch die Mitte) des Zahlenstrahls sind mit denentsprechenden Zahlen gekennzeichnet. Die Schüler sollen nun an diesem Zahlenstrahleine weitere, vorgegebene Zahl finden, in dem sie auf die von ihnen vermutete Stelle kli-cken, und zwar mit möglichst wenigen Fehlern. Von Interesse sind die Mausbewegungenund -klicks, bis die geforderte Zahl gefunden worden ist (Abbildung 2).

    9Der Begriff Programm soll hier für das Hypertext-System stehen und nicht für den Browser. Dieserkann natürlich auch Untersuchungsgegenstand sein, allerdings dann bei Fragestellungen, die Navigati-onssystem betreffen und nicht das System, durch das navigiert wird.

    16

  • Abbildung 2: Screenshot der Software des Projektes CEKA

    Ein Ziel des Projektes besteht darin, Strategien zu ermitteln, mit denen Kinder ansolche Problemstellungen herangehen. Erste Analysen haben ergeben, dass die folgendenStrategien in hohem Maße verwendet werden:

    Zählstrategie: Die Versuchsperson geht von einer ausgezeichneten Stelle aus (z.B. demlinken oder dem rechten Rand des Zahlenstrahls) und zählt in Einerschritten ineiner Richtung ab, bis sie glaubt, an der richtigen Stelle zu sein.

    Operative Strategie: In dieser Strategie setzt die Versuchsperson Arithmetik ein. Istbeispielsweise die 19 gesucht und sind die 0 und die 5 am Zahlenstrahl eingezeich-net, so könnte eine Versuchsperson, die eine operative Strategie verwendet, in etwadie vierfache Länge des Zahlenstrahls abmessen und eine Einheit abziehen.

    Die Mausbewegungen der Kinder während der Bedienung des Zahlenstrahl-Programmswurden in den Untersuchungen aufgezeichnet (Kinder benutzen sehr häufig die Maus, umsich selbst beim Anwenden ihrer Strategie zu unterstützen). Im Rahmen des Projekteswird nun versucht, die Aufzeichnungen nach verschiedenen Strategietypen zu kategori-sieren und einzelne Aufzeichnungen diesen Kategorien zuzuordnen. Dies erfordert einenhohen Aufwand, da sehr viele Aufzeichnungen angefertigt worden sind.

    Die Analysen, die im Rahmen des CEKA-Projektes durchgeführt werden, sind qualita-tiver und quantitativer Art. Die erwähnte Kategorisierung des Verhaltens nach Strate-gietypen beispielsweise ist qualitativer Natur. Es werden aber auch Fragen quantitativerArt gestellt, z.B.:

    17

  • • Wie groß ist die Bearbeitungszeit für eine Aufgabe / für alle Aufgaben / im Mittelpro Aufgabe ?

    • Wie viele Aufgaben wurden von einer bestimmten Versuchperson gelöst?

    • Wie viele Aufgaben wurden im Mittel gelöst?

    • Wie oft wurde bei einer Aufgabe geklickt?

    • Wie oft wurde im Mittel pro Aufgabe geklickt?

    2.3.3. Beispiel 3: Ergonomische Evaluation eines Editors

    In Veranstaltungen zum Lernen einer funktionalen Programmiersprache an der Pädago-gischen Hochschule Ludwigsburg wird die javabasierte Programmierumgebung LUCSeingesetzt, mit deren Hilfe Scheme-Programme geschrieben und ausgeführt werden kön-nen [Ott]. In dieser Programmierumgebung ist ein Editor enthalten, in dem die Scheme-Programme von den Studierenden bearbeitet werden. Das Editor-Fenster besitzt dastypische Editor-Layout: Es besteht aus einer Menüleiste, einem Icon-Bereich und einemTextbereich (siehe Abbildung 3). Die meisten Funktionen in dem Editor können überdrei verschiedene Wege aufgerufen werden: Die Funktion kann über die Menüleiste aus-gewählt, sie kann über ein Icon angesprochen oder durch ein Tastenkürzel ausgelöstwerden. So kann z.B. der im Textbereich markierte Text über den Menüpunkt Bear-beiten/Text ausschneiden, über das Schere-Icon oder über das Tastaturkürzel Strg-Xausgeschnitten werden.

    Anhand von Interaktionsaufzeichnungen auf dem Editor könnte beispielsweise unter demFokus Benutzer die Frage gestellt werden, ob die Versuchsperson eines der drei Funkti-onsauswahlangebote den anderen beiden vorzieht. Dies könnte zu einer Typisierung desBenutzerverhaltens führen mit den drei Typen Menübenutzer, Iconbenutzer und Kürzel-benutzer.

    Im Gespräch mit dem Programmierer des Editors kam zur Sprache, dass die Vermutungbesteht, die vier Icons rechts in der Iconleiste würden selten bis nie verwendet werden.Diese Icons betreffen die Punkte Klammerausdruck auswählen, Schreibmarke zur Klam-mer versetzen, Klammerpaar löschen und Ausdruck gemäß Klammerung einrücken. DieIcons selbst sind zu detailliert und besitzen kaum Symbolcharakter, so dass vermutlichdiese Funktionen eher über die Menüleiste oder über ein Tastaturkürzel angesprochenwerden.

    Als Indiz für die Untauglichkeit dieser vier Icons können die Interaktionsaufzeichnungender Iconbenutzer herangezogen werden: Wenn Benutzer, die in der Regel Funktionenüber Icons auswählen, selten oder nie die betreffenden vier Icons verwenden und hiereher auf Tastaturkürzel oder Menüpunkte zugreifen, so kann dies ein Hinweis dafür sein,

    18

  • Abbildung 3: Screenshot des Editors von LUCS

    dass die Icons in dieser Form nicht geeignet sind10. Wird eine derartige Evaluation nunformativ während des Entwicklungsprozesses eingesetzt, so kann frühzeitig die graphischeBenutzungsschnittstelle optimiert werden11.

    2.4. Folgerungen

    2.4.1. Automatische Erkennung von Verhalten

    Wenn man wissen will, ob in einer Interaktionsaufzeichnung ein bestimmtes Verhaltenvorkommt, so kann man sich die Aufzeichnung mit Hilfe des Wiedergabe-Prozesses ei-nes Capture&Replay-Programms unter diesem Gesichtspunkt ansehen. Dieses Vorgehenkann sehr zeitaufwendig sein. Liegen mehrere hundert Aufzeichnungen vor, ist dies unterUmständen gar nicht zu bewältigen. Es ist wünschenswert, dass ein System zur Analy-se von Interaktionsaufzeichnungen Verhalten selbst erkennt. Das in einer Aufzeichnungvorkommende Verhalten muss dabei übersichtlich präsentiert werden. So kann man ohneWiedergabe sehen, welche Schritte der Benutzer durchgeführt hat. Ergänzend hierzu isteine selektive Wiedergabe bestimmter Verhaltenselemente wünschenswert, so dass mansich nur die kritischen oder besonders interessanten Teile betrachten kann.

    10Die Verhaltensaufzeichnungen der anderen beiden Benutzertypen können hier keinen Aufschluss geben,da diese ohnehin die Icons seltener gebrauchen.

    11Diese Evaluationsfrage mag zu einfach erscheinen, so dass sich eine Durchführung kaum rentieren würde;dieses Beispiel wurde der Anschaulichkeit wegen gewählt.

    19

  • Neben dieser qualitativen Analyse muss ein System auch quantitative Untersuchungs-möglichkeiten für das gefundene Verhalten bieten. Es muss ermittelt werden können, wieoft ein bestimmtes Verhalten vorkommt, und welche Werte statistische Größen bezüglichdieses Verhaltens haben.

    2.4.2. Unterschiedliche Granularität

    Verhalten kann auf unterschiedlichen Ebenen untersucht werden. Will man wissen, obein hypertextbasiertes Lernsystem lernfördernd strukturiert ist, so muss man u.a. denLernweg des Lerners nachvollziehen können. Hier ist von Interesse, welche Seiten einLerner besucht hat. Es kann aber auch das Verhalten auf einer einzelnen Seite Gegen-stand der Untersuchung sein; unter Umständen interessieren aber auch nur Teile desVerhaltens auf einer Seite. Untersucht man eine Aufzeichnung der Benutzung des Zah-lenstrahlprogramms, so kann man sich dafür interessieren, welche Aufgaben bearbeitetworden sind, oder wie eine einzelne Aufgabe bearbeitet worden ist, oder wie der Wegbis zu der Entscheidung für eine bestimmte Position war.

    Systeme, die Techniken zur Analyse von Interaktionsaufzeichnungen anbieten, müssensomit die Untersuchung auf unterschiedlichen Granularitätsstufen zulassen. Der Untersu-chende muss entscheiden können, ob er eine makroskopische Sicht auf die Aufzeichnungwünscht oder eine mikroskopische.

    2.4.3. Erweiterbarkeit

    Welches Verhalten von Interesse ist, hängt in hohem Maße vom Problem ab. Ein Analyse-system kann nicht von sich aus wissen, welche Verhaltenstypen es gibt, welche Attributeein solches Verhalten bietet und welche quantitativen Größen interessieren. Es muss alsofür spezielle Untersuchungsfragen erweiterbar sein, und zwar mit möglichst geringemAufwand.

    20

  • 3. Die Basissysteme

    Die Mechanismen zur qualitativen und quantitativen Analyse von Interaktionsaufzeich-nungen, die in dieser Arbeit entworfen werden, werden in ein bereits bestehende Systemeintegriert. Hierbei handelt es sich zum einen um Jacareto und CleverPHL. Der BegriffJacareto steht für Java Capture&Replay Tool und ist ein Capture&Replay-Frameworkfür Anwendungen, die in der Programmiersprache Java geschrieben sind12. CleverPHList eine graphische Benutzungsoberfläche für Jacareto. Sowohl Jacareto als auch Clever-PHL werden in dieser Arbeit erweitert, so dass qualitative Analysen von Aufzeichnungendurchgeführt werden können und die Grundlagen für quantitative Untersuchungen gelegtwerden.

    Zur quantitativen Analyse von Interaktionsaufzeichungen bietet es sich an, auf beste-hende Systeme, die Funktionen zur statistischen Auswertung anbieten, zurückzugreifen.Dies können Statistiksysteme wie SPSS und Fathom sein, aber auch Tabellenkalkula-tionen wie Microsoft Excel eignen sich für derartige Analysen. Die Hauptaufgabe wirddarin bestehen, interessierende Werte aus den Aufzeichnungen, die mit Jacareto und Cle-verPHL aufgenommen und qualitativ analysiert worden sind, zu extrahieren und diesenSystemen zugänglich zu machen.

    3.1. Jacareto

    Jacareto wurde im Rahmen eines Praktikums und einer Studienarbeit an der Techni-schen Universität Darmstadt und der Pädagogischen Hochschule Ludwigsburg entwickelt[Spa][Tec]. Mit diesem Werkzeug ist es möglich, Benutzer-Programm-Interaktionen auf-zuzeichnen, abzuspielen, zu speichern und zu editieren. Jacareto ist ein Framework, dasleicht erweiterbar ist und einfache Schnittstellen bietet, um Capture&Replay-Funktio-nalität in eigene Java-Anwendungen einbinden zu können.

    Der Aufnahmeprozess von Jacareto erzeugt eine symbolische Interaktionsaufzeichnung(siehe Kapitel 1.3.2). Bei der Wiedergabe wird also die Zielanwendung gestartet, undder Replay-Mechnismus führt die Aktionen erneut aus (ausführende Wiedergabe).

    Das Framework gliedert sich in verschiedene Funktionsbereiche: Es beinhaltet Modu-le, die der Aufnahme und Weiterverarbeitung von Ereignissen dienen, und Klassen, dieAufzeichnungen und Aufzeichnungselemente repräsentieren. Es gibt Einheiten, die beider Wiedergabe in Aktion treten, Module zum Starten von Anwendungen und App-lets und Klassen für die Komponentenverwaltung. Die einzelnen Bereiche sollen nun imFolgenden näher beschrieben werden13.

    12Hierzu zählen auch Java Applets.13Die Packages, die im Jacareto-Framework enthalten sind, sind in Anhang A aufgeführt.

    21

  • Tabelle 2: Ereignisse, die atomare Benutzeraktionen repräsentieren

    MousePressed Ein Mausknopf wurde gedrücktMouseReleased Ein Mausknopf wurde losgelassenMouseMoved Der Mauszeiger wurde bewegtMouseDragged Der Mauszeiger wurde mit gedrücktem Mausknopf bewegtKeyPressed Eine Taste auf der Tastatur wurde gedrücktKeyReleased Eine Taste wurde losgelassen

    3.1.1. Ereignisse

    Während des Capture-Prozesses ermittelt Jacareto die Ereignisse (engl. Events), diewährend der Benutzung auftreten. Hierbei handelt es sich um die von Java selbst zur Ver-fügung gestellten Ereignisse. Ereignisse, die Benutzeraktionen repräsentieren, sind bei-spielsweise Maus- und Tastaturereignisse. Wenn der Benutzer einen Mausknopf drückt,dann speichert Jacareto ein sogenanntes MousePressed -Ereignis, wenn er ihn wieder los-lässt, ein MouseReleased -Ereignis (analog dazu die Tastaturereignisse KeyPressed undKeyReleased). Ebenso enthält eine Aufzeichnung atomare Mausbewegungen; wird derMauszeiger beispielsweise von einer Ecke des Fensters in eine andere gezogen, so erzeugtdiese Bewegung viele kleine MouseMoved -Ereignisse, die der Capture-Prozess ermitteltund speichert. Jacareto bietet die Möglichkeit, für die Ermittlung von Mausbewegungeneine zeitliche Auflösung zu bestimmen, so dass die Menge an aufgezeichneten Bewegun-gen nicht überhand nimmt.

    Neben den Ereignissen, die atomare Benutzeraktionen repräsentieren, werden auch Er-eignisse erkannt, die komplexere Aktionen darstellen. Es wird beispielweise ein Mouse-Clicked -Ereignis erzeugt und von Jacareto gespeichert, wenn ein Mausknopf gedrücktund gleich darauf wieder losgelassen wird. Bei einem Mausklick werden also drei Er-eignisse aufgenommen: zwei atomare (MousePressed und MouseReleased) und eines,welches das gemeinsame Auftreten der beiden atomaren Ereignisse symbolisiert, einMouseClicked -Ereignis.

    Neben Benutzeraktionen sind auch Programmaktionen in der Aufzeichnung repräsen-tiert. Ein Beispiel hierfür sind Fensterereignisse. Wenn ein Fenster geschlossen wird,dann wird ein WindowClosed -Ereignis erzeugt, wird es geöffnet, ein WindowOpened -Ereignis14.

    Jacareto erhält alle systemweit auftretenden Ereignisse während des Capture-Prozesses14Das Öffnen eines Fensters ist eine Programmaktion und nicht, wie man vielleicht annehmen könnte,

    eine Benutzeraktion. Fenster können auch ohne Zutun des Benutzers vom Programm geöffnet werden.Ein solches Ereignis symbolisiert eine Zustandsänderung der graphischen Benutzungsoberfläche. Wennder Benutzer das Öffnen eines Fensters z.B. durch die Auswahl eines Menüpunktes veranlasst, dann istdas darauffolgende Fensterereignis eine Programmreaktion auf diese Benutzeraktion.

    22

  • Abbildung 4: Klassen des Capture-Prozesses

    von einer Warteschlange für Ereignisse, der AWTEventQueue. Bei dieser Warteschlangeregistriert Jacareto eine Instanz, einen sogenannten EventListener, der eingehende Er-eignisse intern an interessierte Instanzen verteilt. Diese Instanzen sind Objekte vom TypCatcher. Der wohl wichtigste Catcher ist der AWTEventRecorder, der auftretende Ereig-nisse in Aufzeichnungselemente konvertiert und in der Aufzeichnung speichert. AndereCatcher sind beispielsweise Instanzen der Klasse LastMousePosition, die die Koordi-naten des zuletzt aufgetretenen Mausereignisses speichern, damit nach eine Pause undanschließender Wiederaufnahme des Capture-Prozesses an der zuletzt aufgezeichnetenPosition fortgefahren wird. Catcher werden beim EventListener mit einer Priorität re-gistriert; Catcher mit einer höheren Priorität bekommen das Ereignis vor Catchern miteiner niedrigeren Priorität.

    Jacareto bietet außerdem die Möglichkeit mit Hilfe von Ereignismasken festzulegen, anwelchen Ereignissen Catcher interessiert sind. Erhält der EventListener ein Ereignis, soverteilt er dieses lediglich an die Catcher, die die entsprechende Ereignismaske für diesesEreignis besitzen.

    Bewegt beispielsweise der Benutzer die Maus, so wird ein Ereignis vom Typ Mouse-Moved erzeugt und an das Ende der Warteschlange gestellt. Wenn dieses Ereignis dieWarteschlange durchlaufen hat, wird es unter anderem dem EventListener von Jacaretoübergeben. Dieser prüft, welcher der registrierten Catcher in Mausbewegungen inter-essiert ist, und übergibt diesen Objekten das Mausereignis. Einer dieser Catcher istder AWTEventRecorder, der die Mausbewegung in ein Aufzeichnungselement vom TypMouseEventRecordable (siehe weiter unten) konvertiert und in der Aufzeichnung spei-

    23

  • Abbildung 5: Der Gang eines Mausereignisses durch diverse Instanzen

    chert. Dieser Vorgang ist in Abbildung 5 illustriert.

    3.1.2. Die Aufzeichnung

    Eine Interaktionsaufzeichnung wird in Jacareto mit dem Begriff Record bezeichnet15.Ein Record besteht aus Aufzeichnungselementen, den sogenannten Recordables. Für je-des Ereignis wird ein eigenes Recordable gebildet und im Record abgelegt; so gibt esMouseEventRecordables, KeyEventRecordables und WindowEventRecordables. Ein sol-ches Recordable ist die symbolische Repräsentation eines Ereignisses.

    Aufzeichnungselemente müssen nicht zwangsläufig Ereignisse sein; in einer Aufzeichungkann jegliche Information gespeichert werden, wenn diese in einem Objekt vom TypRecordable zusammengefasst wird; so gibt es Aufzeichnungselemente, die Wiedergabe-pausen, System- und Benutzerinformationen, Datumsangaben und Annotationen reprä-sentieren.

    Es ist nicht festgelegt, in welcher Form die Aufzeichung gespeichert wird. Die Klas-se Record ist eine abstrakte Klasse. Eine Subklasse der Klasse Record ist die KlasseXMLRecord, die die Aufzeichnung in einer Datei in einem speziellen XML-Format ab-speichert. Die Klasse VectorRecord hält die Recordables selbst als Objekte in einerInstanz der Klasse java.util.Vector im Speicher.

    Die Speicherung in einer persistenten Speicherform wie beispielsweise einer XML-Dateiermöglicht die Weitergabe von Aufzeichnungen. So kann beispielsweise ein Benutzer

    15Hierbei handelt es sich um das Resultat des Aufzeichnungsprozesses (siehe Kapitel 1.3.2).

    24

  • Abbildung 6: Die Klasse Record und assoziierte Klassen

    einer Software eine Benutzungssequenz aufzeichnen bis zu einem Punkt, an dem er nichtmehr weiter weiß, und diese Aufzeichnungen an den Supporter für diese Software senden.Dieser spielt die Benutzungssequenz ab, zeichnet die weiterführenden Benutzeraktionenauf und schickt die Aufzeichnung wieder an der Benutzer zurück. Dieser kann sich dieErgänzungen des Supporters betrachten.

    3.1.3. Die Wiedergabe

    Für die Wiedergabe ist in Jacareto eine Klasse namens Replay zuständig. Wenn eineAufzeichnung abgespielt wird, so geht eine Instanz dieser Klasse Element für Elementdurch die Aufzeichnung und versucht, eine zuvor definierte Wiedergabeaktion auszu-führen. Solche Aktionen werden in Subklassen der Klasse Replayer formuliert. Objektevom Typ Replayer werden bei der Replay-Instanz mit einer Priorität registriert. Wennein Aufzeichungselement wiedergegeben werden soll, so werden die registrierten Instan-zen gemäß ihrer Rangfolge gefragt, ob sie für das gegebene Element zuständig sind. Isteine Instanz zuständig, so darf sie die Wiedergabeaktion zu dem Aufzeichungselementausführen.

    Zur Wiedergabe von Maus- und Tastaturereignissen verwendet das Replay-Modul dieKlasse java.awt.Robot. Instanzen dieser Klasse können den Mauszeiger bewegen oderTastatureingaben simulieren. Die Klasse Replay besitzt ein internes Robot-Objekt und

    25

  • Abbildung 7: Die Klassen Replay und Replayer

    bietet Methoden zur Verwendung des Robots an, auf die Replayer zugreifen können.

    Die Registrierung von Instanzen der Klasse Replayer kann über ein XML-Element ineiner der Jacareto-Konfigurationsdateien vorgenommen werden. In diesem Element wirdjeder Klasse eines zu registrierenden Replayers eine Priorität zugeordnet. Ein Beispielfür ein solches Element ist in Listing 3.1 angegeben.

    Listing 3.1

    3.1.4. Starten der Zielanwendung

    Vor der Aufnahme und der Wiedergabe muss die Zielanwendung zunächst gestartet wer-den. Jacareto bietet Klassen, die das Starten übernehmen. Derartige Klassen sind Erben

    26

  • der Klasse Starter. Es gibt bereits zwei Typen von Startern: eine Klasse Application-Starter zum Starten einer Java-Applikation, und eine Klasse AppletStarter zum Star-ten eines Applets. Beim Start einer Applikation wird deren main-Methode aufgerufen.In dem Starter kann definiert werden, welche Argumente der main-Methode übergebenwerden sollen. Wenn ein Applet gestartet werden soll, so werden dessen Methoden initund start aufgerufen, nachdem es in ein Fenster geladen worden ist. Weiterhin könnenin einem Starter Pfade angegeben werden, um die Umgebungsvariable CLASSPATH fürdie Zielanwendung zu erweitern.

    3.1.5. Komponentenverwaltung

    Eine graphische Benutzungsoberfläche besteht in der Regel aus mehreren Elementen:aus Buttons, Textfeldern, Menüs, Auswahlkästchen, Schiebereglern usw. Solche Elemen-te werden in Java Komponenten genannt. Klassen, die Komponenten repräsentieren,sind Erben der Klasse java.awt.Component. Komponenten sind hierarchisch angeord-net: Elternkomponenten beinhalten Kindkomponenten. So ist ein Fenster eine Kompo-nente, und die Elemente in dem Fenster sind dessen Kindkomponenten. Die Menüleistebeispielsweise ist eine solche Kindkomponente, die wiederum Kindkomponenten besitzt,die einzelnen Menüs.

    In Java gibt es zwei Systeme, die zur Beschreibung von graphischen Benutzungsober-flächen verwendet werden können: Das ältere AWT (Abstract Window Toolkit) und dasneuere SWING, welches teilweise auf dem AWT aufbaut, aber auch viele Neuerungenbringt wie beispielsweise den Verzicht auf systemspezifische Komponenten, wie es siebeim AWT gibt. Jacareto kann grundsätzlich beide Systeme bedienen16.

    Es gibt in Jacareto Instanzen, die sich um die korrekte Verarbeitung spezieller Kompo-nenten kümmern, sogenannte ComponentHandler. Diese Instanzen wissen, welche Kin-der eine Komponente besitzt, welcher Elternkomponente diese untergeordnet ist undwie der interne Name der Komponente gebildet werden muss. So gibt es beispielswei-se einen JComponentHandler für alle Swing-Komponenten, einen JListHandler für dieVerwaltung von Listenkomponenten und einen JPopupMenuHandler für die Behandlungvon Popup-Menüs. Diese Instanzen werden mit einer bestimmten Priorität bei einemObjekt der Klasse Components, die die Verwaltung der Komponenten übernimmt, regis-triert; wenn eine Komponente behandelt werden muss, so werden zuerst die Handler mithöherer Priorität gefragt. Ist keiner dieser Objekte für die Komponente zuständig, sowerden die Handler mit niedriger Priorität beauftragt. Ein Handler für die KomponenteA muss daher mit einer niedrigeren Priorität versehen werden als ein Handler für dieKomponente B, die von A erbt. So hat beispielsweise ein JListHandler eine höherePriorität als ein JComponentHandler, da die Klasse JList von der Klasse JComponenterbt. Gibt es keinen speziellen Handler für eine Komponente, dann greift am Ende immer

    16Bei manchen systemnahem Komponenten des AWT wie beispielsweise einem Dateiauswahldialog (KlasseFileChooser) können die Ereignisse nicht abgegriffen und somit auch nicht wiedergegeben werden.

    27

  • der mit der niedrigsten Priorität registrierte AWTComponentHandler, der alle Komponen-ten behandeln kann. Die Registrierung der Objekte vom Typ ComponentHandler kannanalog zu der Registrierung von Wiedergabemodulen (siehe Listing 3.1) in einer XML-Konfigurationsdatei vorgenommen werden.

    Damit die Wiedergabe korrekt abläuft, muss bei der Aufzeichnung mit abgespeichertwerden, auf welcher Komponente ein Ereignis stattgefunden hat. Die Koordinaten einesMausereignisses beispielsweise werden relativ zum Komponentenursprung angegeben. Zudiesem Zweck erkennt Jacareto alle Komponenten der Zielanwendung und benennt diesevor dem Capture-Prozess. Zu jedem Ereignis wird dann der Name der Komponente ge-speichert. Beim Replay-Prozess wird die Zielanwendung zunächst gestartet und derselbeBenennungsmechanismus durchgeführt. Hierdurch kann ein Ereignis auf der korrektenKomponente ausgeführt werden.

    Der Benennungsmechanismus bildet die Komponentenhierarchie ab: Komponenten aufder obersten Hierarchie-Ebene erhalten den Namen, den ihr ComponentHandler liefert(dies ist meist einfach der Klassenname) mit einer für jede Klasse separaten laufendenNummer, falls es auf derselben Ebene mehrere Komponenten der gleichen Klasse gibt.Kindkomponenten erhalten den Namen der Elternkomponente, einen Punkt und denNamen, der von ihrem ComponentHandler bestimmt wird, wieder mit einer laufendenNummer. Folgende Namen sind Beispiele für diesen Benennungsmechanismus:

    • JFrame_(1)

    • JFrame_(1).JRootPane_(1).JLayeredPane_(1).JPanel_(3).JButton_(2)

    Jacareto erkennt automatisch neue Komponenten und fügt diese in den bestehendenKomponentenbaum ein. Wird beispielsweise ein neues Fenster geöffnet, so erkennt Ja-careto das Fenster mit all seinen Subkomponenten und integriert dessen Komponenten-struktur als Teilbaum in die oberste Ebene des bestehenden Hierarchiebaums.

    3.1.6. Weitere Merkmale von Jacareto

    • Jacareto bietet die Möglichkeit, Objekte vom Typ Recordable zu editieren. Hierzugibt es die Klasse Editor, die eine GUI-Komponente zur Bearbeitung der Aufzeich-nungselemente bereitstellt.

    • Jacareto ist komplett über XML-Dateien konfigurierbar; so lassen sich Voreinstel-lungen genauso wie Sprachdefinitionen (Englisch, Deutsch, ...) über diesen Mecha-nismus vornehmen. Zur Laufzeit können Objekte die in diesen Dateien gespeicher-ten Werte über ein Umgebungsobjekt (Instanz der Klasse jacareto.system.En-vironment) abfragen.

    28

  • Abbildung 8: Die Klasse Components und assoziierte Klassen

    29

  • 3.2. CleverPHL

    CleverPHL ist ein Programm, welches auf Jacareto aufsetzt und eine graphische Be-nutzungsoberfläche zur Auswahl der unterschiedlichen Jacareto-Funktionen bietet (einsogenanntes Front End)17. Abbildung 9 zeigt das Hauptfenster von CleverPHL. DiesesProgramm ermöglicht es, gleichzeitig mehrere Capture&Replay-Prozesse geöffnet zu ha-ben; ein solcher Prozess heißt Session. Die Sessions beeinflussen sich nicht gegenseitig;so können in zwei Sessions zwei Instanzen des gleichen Programm gestartet worden sein,die sich aber in unterschiedlichen Zuständen befinden.

    Zum Starten eines Capture-Prozesses sind im Wesentlichen die folgenden Schritte durch-zuführen: Zunächst ist eine Session zu öffnen, anschließend muss die Zielanwendung ge-startet werden. Hierzu wird ein Starter aus einer Liste von Startern ausgewählt. DurchDrücken der Taste F1 wird der Capture-Prozess gestartet; alle Benutzeraktionen undProgrammaktionen bezüglich der Zielanwendung werden dann in der Aufzeichnung ge-speichert. F2 beendet den Capture-Prozess.

    Die Wiedergabe erfolgt durch Drücken der Taste F3. Die Zielanwendung wird hierbeierneut gestartet, und die Aufzeichnungselemente werden in ihrer Reihenfolge wiederge-geben. Es kann zuvor über ein Menü entschieden werden, ob eine Echtzeitwiedergabeoder eine Festzeitwiedergabe erwünscht ist (siehe Abschnitt 1.3.4).

    Die Aufzeichnung wird im Hauptfenster von CleverPHL angezeigt; es handelt sich umeine lineare Auflistung aller Elemente. Klickt man auf eines der Elemente, so wird ineinem Bereich neben der Aufzeichnungsanzeige der Editor für das Element dargeboten.Hier können Attribute des Elementes geändert werden (siehe Abbildung 9).

    Die Komponentenhierarchie der Zielanwendung kann in Form eines Baumes angezeigtwerden (siehe Abbildung 10). Aufzeichnungen können außerdem über das Menü in einerXML-Datei gespeichert und von dort wieder geladen werden.

    3.3. Systeme zur quantitativen Analyse

    3.3.1. SPSS

    SPSS ist ein Statistikprogramm, das weite Verbreitung gefunden hat und von vielen Ex-perten zur quantitativen Analyse von z.B. experimentell gewonnenen Daten eingesetztwird. Die Daten sind in Form von sogenannten Datenfällen gegeben. Ein einzelner Daten-fall besteht aus einer eine Liste von Werten. Werden beispielsweise die Klausurergebnissedes ganzen Schuljahres von 30 Schülern zusammengestellt, so bilden die Ergebnisse eines

    17Es gibt noch ein weiteres Programm, welches Jacareto verwendet und – genau wie CleverPHL – mitJacareto zusammen vertrieben wird. Picorder ist ein einfaches Capture&Replay-Programm, welches ne-ben Aufnahme und Wiedergabe auch das Einbringen von Testelementen in die Aufzeichnung ermöglicht.Hierdurch werden Testszenarien ermöglicht, wie sie in Kapitel 1.3.4 beschrieben werden.

    30

  • Abbildung 9: Das Hauptfenster von CleverPHL

    Abbildung 10: Die Anzeige des Komponentenbaums in CleverPHL

    31

  • Abbildung 11: Screenshot von SPSS

    einzelnen Schülers einen Datenfall. Es liegen dann insgesamt 30 Datenfälle vor.

    In der Datenansicht von SPSS wird jeder Datenfall in einer eigene Zeile dargestellt(siehe Abbildung 11). Die Analyse der Daten kann menügesteuert vorgenommen werden(Menü Analysieren). Hier findet man u.a. Funktionen zur Berechnung von Häufigkeiten,Mittelwerten und Korrelationen. Eine anschauliche Darstellung der Daten in einer Grafikkann über das Menü Grafik erzeugt werden.

    3.3.2. Fathom

    Fathom ist ein Statistik-Programm, das im Wesentlichen für den Einsatz in der Lehreund weniger für tatsächliche Analysen im Rahmen von Forschungsarbeiten gedacht ist.Es ist intuitiv bedienbar und besitzt zahlreiche Möglichkeiten zur Veranschaulichung.

    Fathom arbeitet mit Datensätzen18. Ein Datensatz ist eine Menge von Datenfällen, diebestimmte Attributwerte besitzen (analog zu SPSS). So erhält man beispielsweise beider Befragung von 150 Einwohnern in Beverly Hills einen Datensatz, der 150 Datenfällebeinhaltet. Jeder der Datenfälle besteht aus den Antworten einer der befragten Perso-nen. Abbildung 12 zeigt das beschriebene Szenario. Im linken Teil des Fensters siehtman die Ansicht eines Datenfalles. Mit Hilfe der Pfeile unter dem Datenfall kann mansich die verschiedenen Fälle betrachten. Im rechten Teil des Fensters sieht man ein Dia-gramm, welches den Zusammenhang zwischen Alter und Einkommen visualisiert. Dieses

    18In Fathom heißt ein Datensatz Collection.

    32

  • Abbildung 12: Screenshot von Fathom

    Diagramm wurde erzeugt, in dem zunächst in der Icon-Leiste auf das Diagramm-Icongeklickt worden ist und anschließend per Drag&Drop die Attribute aus dem Datenfall-bereich auf die Achsen in dem Diagramm-Bereich gezogen wurden.

    Fathom besitzt auch die Möglichkeit, Attribute mit Formeln zu belegen. Hierzu bietetFathom zahlreiche statistische Funktionen an wie Standardfehler, Standardabweichungund Varianz.

    3.3.3. Excel

    Tabellenkalkulationen wie Microsoft Excel arbeiten im Gegensatz zu den oben beschrie-benen Statistikprogrammen nicht mit Datensätzen, sondern mit Tabellen. Diese Daten-formen sind prinzipiell äquivalent, wenn man den Inhalt einer Tabellenzeile als Datenfallinterpretiert und die Tabelle als Datensatz.

    Excel bietet – genau wie die Statistikprogramme – eine Fülle an Funktionen, mit denendie Tabellenwerte weiterverarbeitet werden können. So finden sich in der Funktions-übersicht (Menüpunkt Funktion... im Menü Einfügen) neben mathematischen, trigo-nometrischen, logischen und Matrixfunktionen auch Statistikfunktionen wie Häufigkeit,Mittelwert, Median und Varianz.

    Excel bietet auch die komfortable Generierung von Diagrammen aller Art: Balken-,Säulen-, Linien- und Kreisdiagramme lassen sich neben vielen anderen Diagrammarteneinfach erzeugen (Menüpunkt Diagramm... im Menü Einfügen). Ein Beispiel für eine Ta-

    33

  • Abbildung 13: Screenshot von Excel

    belle in Excel mit der automatischen Berechnung von Häufigkeiten und der Darstellungdieser in einem Kreisdiagramm zeigt Abbildung 13.

    3.4. Folgerungen

    Die Ereignisse, die in Jacareto gespeichert werden, sind zum größten Teil Ereignisseauf höchster Granularitätsstufe; es werden einzelne, atomare Mausbewegungen und Ele-mentaraktionen wie das Drücken und Loslassen von Tasten ermittelt. Ein auf Jacaretoaufbauendes Analysesystem erhält somit die Verhaltenselemente auf unterster Stufe undmuss sich nun darum kümmern, gröbere Verhaltenselemente zu bilden.

    Intuitiv gesehen besteht die Erkennung von Verhaltenselementen mit niedrigerer Granu-larität in der Erkennung von Mustern in den Verhaltenselementen höherer Granularität.Liegt eine Aufzeichnung, wie sie Jacareto bietet, vor, so könnte man darin bestimmteSequenzen erkennen und zu einem gröberen Verhaltenselement zusammen fassen. Die-ses Verhaltenselement kann selbst wieder Teil höheren Verhaltens sein, so dass es selbstTeil eines Musters bildet. So können beispielsweise Mausbewegungen, die auf einer Gera-den verlaufen, als lineare Mausbewegung zusammengefasst werden. Aufeinanderfolgende,lineare Mausbewegungen bilden dann eine polygonale Mausbewegung. Dies wird in Ab-bildung 14 veranschaulicht.

    Aus Erkennung bestimmter Muster und Sequenzen folgt automatisch eine Strukturie-

    34

  • Abbildung 14: Die Struktur einer Mausbewegung

    rung der Aufzeichnung. Bestimmte Teile der Aufzeichnung werden zusammengefasst.Diese Strukturelemente können selbst wieder Teil einer höheren Struktur sein. Es bildetsich somit eine baumartige Gliederung der Aufzeichnung heraus mit den ursprünglichenAufzeichnungselementen als Blätter. Das Wurzelelement ist ein Repräsentant für dieAufzeichnung selbst. Die qualitative Analyse einer Aufzeichnung besteht also aus derStrukturierung derselben.

    Es kann durchaus mehrere Strukturierungsmöglichkeiten geben, da Teile aufeinanderfol-gender Muster z.B. selbst ein ganz anderes Muster bilden können. Es ist zum Beispielnicht eindeutig zu klären, ob die Mausbewegung, wie sie in Abbildung 15 skizziert ist,eine Mausbewegung vom Typ rechteckige Mausbewegung mit drei anschließenden linea-ren Mausbewegungen ist oder umgekehrt. Man kann nun zwei Vorgehensweisen wählen:Entweder man stellt alle möglichen Strukturierungsarten dar; dann muss von der Baum-darstellung abgewichen und eine Art Graph erzeugt werden. Oder man entscheidet sichfür eine Strukturierung und bietet die Möglichkeit, zu einer anderen Strukturierungsformzu wechseln. Dies könnte beispielsweise durch Priorisierung der einzelnen Strukturele-mente erfolgen mit der Möglichkeit, die Prioritäten zu bestimmen. In dieser Arbeit wurdedie letzte Variante gewählt, da die Veranschaulichung aller Strukturierungsmöglichkeitenzu einer recht unübersichtlichen Darstellung führen würde (Die Anzahl der möglichenStrukturierungsvarianten ist meist sehr groß). Der Anwender wird aber mit Hilfe vonPrioritäten Einfluss auf die Strukturierung nehmen können.

    Neben den elementaren Aktionen enthält eine Jacareto-Aufzeichnung auch schon In-terpretationen von Aktionsgruppen; beispielsweise wird ein Mausklick erkannt, wenn

    35

  • Abbildung 15: Mehrdeutigkeit der Strukturierung

    ein Mausknopf gedrückt und gleich wieder losgelassen worden ist. Derartige Elementewerden allerdings noch auf derselben Stufen wie die atomaren Ereignisse dargestellt.Sie können aber bei der Strukturierung der Aufzeichnung behilflich sein (siehe Kapitel5.1.4).

    Ist die Struktur einer Aufzeichnung gefunden, so soll sie in CleverPHL als Baum an-gezeigt werden können; die ursprünglichen Aufzeichnungselemente werden hierbei alsBlätter angezeigt, die höheren Strukturelemente als auf- und zuklappbare Baumkno-ten. Somit können wahlweise die Details eines gröberen Strukturelementes betrachtenund versteckt werden. Abbildung 16 veranschaulicht, wie die Anzeige einer Struktur inCleverPHL erfolgen soll.

    Hat man eine Aufzeichnung strukturiert und Werte von Attributen der Aufzeichnungoder ihrer Strukturelemente bestimmt, so müssen Verfahren gefunden werden, diese Wer-te in die oben beschriebenen Systeme zur quantitativen Analyse einbringen zu können.Hierzu müssen Datensätze bzw. Tabellen aus einer strukturierten Aufzeichnung erzeugtwerden. Die eigentliche quantitative Analyse kann man dann mit Hilfe eines gängigenStatistikprogramms vornehmen. Das hat unter anderem den Vorteil, dass Anwender sichnicht in neue Statistiksysteme einarbeiten müssen, sondern ihr bekanntes Programm zurAnalyse von Interaktionsaufzeichnungen verwenden können. Sie müssen nur lernen, wieman die Daten aus einer Aufzeichnung in das Programm einbringt. Es muss also eineSchnittstelle zwischen Jacareto und CleverPHL auf der einen und Systemen wie SPSS,

    36

  • Abbildung 16: Angestrebte Darstellung der Aufzeichnungsstruktur

    Fathom und Excel auf der anderen Seite geschaffen werden.

    37

  • 4. Formale Beschreibung

    In diesem Kapitel sollen einige formale Grundlagen gelegt werden, um im AnschlussAlgorithmen zur qualitativen und quantitativen Analyse zu konzipieren.

    Die qualitative Analyse erfolgt durch die Strukturierung der Aufzeichnung. Grundlagezur quantitativen Analyse soll die Erstellung eines Datensatzes aus einer gegebenen(strukturierten) Aufzeichnung bilden.

    4.1. Qualitative Analyse

    4.1.1. Aufzeichnung und Aufzeichnungselemente

    Im Zentrum der Betrachtung steht die Aufzeichnung von Interaktionen. Eine Aufzeich-nung besteht aus einem oder mehreren Aufzeichnungselementen. Bevor der Begriff derAufzeichnung näher gefasst wird, wird zunächst auf den Begriff des Aufzeichnungsele-mentes eingegangen.

    Die Grundlage aller Aufzeichnungen ist die Menge der Aufzeichnungselemente. Die-se Menge wird im Folgenden mit E bezeichnet, und es gelte E 6= ∅. Die Elementeaus E symbolisieren einzelne, konkrete Aufzeichnungselemente wie beispielsweise einMausereignis an einer bestimmten Position oder ein Tastaturereignis auf einer spe-ziellen Komponente. Formal gesehen sind Aufzeichnungselemente Wörter über einemendlichen Alphabet Σ = {a . . . z, A . . . Z, 0 . . . 9, (, ), . . .}. Ein Mausklick an der Bild-schirmkoordinate (10, 20) kann als Wort über Σ beispielsweise so formuliert werden:mouseevent(clicked,10,20).

    Es gilt somit E ⊆ Σ∗. Weiterhin soll angenommen werden, dass die Mächtigkeit vonE endlich ist. Dies ist auch von der Anwendung her gesehen plausibel: Die Menge allerBildschirmkoordinaten ist begrenzt, die Anzahl der verschiedenen Ereignistypen ist end-lich, und Zeichenketten können nicht mehr Bytes belegen als der vorhandene Speicherbietet.

    Beispiel 4.1 Sei Σ ein Alphabet, n ∈ N die Maximallänge einer Zeichenkette und E ∈Σ∗ folgendermaßen definiert:

    E = {e ∈ Σ∗ | e = mouseevent(type,x,y)∧ type ∈ {clicked, pressed, released} ⊂ Σ∗∧ x ∈ {0, . . . , 1023} ⊂ Σ∗∧ y ∈ {0, . . . , 767} ⊂ Σ∗}∪ {e ∈ Σ∗ | e = keyevent(type,component)∧ type ∈ {typed, pressed, released} ⊂ Σ∗∧ component ∈

    ⋃0

  • Dann ist E offensichtlich nicht leer und endlich.

    Nun kann der Begriff der Aufzeichnung näher gefasst werden. Eine Aufzeichnung isteine Aneinanderreihung von Aufzeichnungselementen. Daher bildet eine Aufzeichnungein Tupel von Aufzeichnungselementen:

    Definition 4.1 Sei E eine endliche, nicht leere Menge von Aufzeichnungselementen.Dann heißt En Menge aller n-elementigen Aufzeichnungen, r ∈ En mit r = (e1, . . . , en)n-elementige Aufzeichnung und E∗ =

    ⋃n∈NE

    n Menge aller Aufzeichnungen.

    Im Folgenden wird für eine Aufzeichnung r vereinfachend r = e1 . . . en geschrieben. Dadie Menge E endlich ist, kann sie als Alphabet aufgefasst werden, und eine Aufzeichnungist ein Wort über dem Alphabet E. Die Menge aller Aufzeichnungen E∗ bildet somit eineSprache. Diese Sichtweise abstrahiert von den konreten Literalen aus Σ. Prinzipiell ist,wenn man jedes einzelne Aufzeichnungselement als Wort über Σ auffasst, eine A