Das "a", zweiter Teil (Bachelorarbeit oder Studienarbeit)

Dies ist die Fortsetzung einer Bachelorarbeit aus dem Jahr 2009, die das selbe Thema hatte, aber nur die Hälfte davon abgearbeitet hat.

Worum geht es hier?

Angenommen, Sie haben auf einem Linux-Rechner die Anwendung OpenOffice Writer mit einem leeren Dokument geöffnet und betätigen nun die Taste "A" auf Ihrer Tastatur. Das Zeichen "a" erscheint auf dem Bildschirm. Preisfrage: Was ist seit dem Tastendruck intern in der Software alles abgelaufen?

Die Aufgabe dieser Arbeit besteht darin, eine verständliche und anschauliche Beschreibung (samt geeigneter visueller Übersichten) dieser Abläufe anzufertigen:

Zweck der Arbeit

Die Beschreibung soll zu verschiedenen Zwecken verwendet werden:

Arbeitsweise

Diese Arbeit hat zwei Aspekte:

Herausfinden des Ablaufs

Das Herausfinden erfordert jemanden, der sich am wohlsten fühlt, wenn er oder sie in Massen von Quellcode quasi baden kann: Die Arbeit gibt die Gelegenheit, einige Teile des Linux-Betriebssystemkerns (geschrieben in C) aus der Nähe kennen zu lernen, ferner einige Teile von X-Windows (ebenfalls C), KDE (C++) und natürlich OpenOffice (Java).

Aber man kann die Teile nicht nur kennen lernen, man muss es auch. Es wird vermutlich nötig sein, die Software geeignet zu instrumentieren und dann selbst zu übersetzen, damit man die Abläufe von außen dynamisch verfolgen kann und nicht darauf angewiesen ist, seinen Weg durch den Quellcode durch Lesen ganz alleine zu finden.

Eine Reihe kniffliger technischer Detailprobleme wird zu bewältigen sein, z.B.: Wie läßt man das Fenstersystem im Debugger laufen, um die Abläufe zu verfolgen, wenn der Debugger selbst seine Ausgaben über dieses Fenstersystem anzeigen soll? (Lösung ist vermutlich: Debugger auf einem zweiten X-Window-Server anzeigen).

Es gilt hier, herauszufinden: und dabei unwichtige und vor allem wiederholte Aufrufe so weit auszublenden, dass man nicht in Informationen ertrinkt.

Hat man dies geleistet, geht es ans Darstellen dieses Ablaufs.

Darstellen des Ablaufs

Die eigentliche Studien- oder Bachelorarbeit, die man abgibt, besteht zum Großteil aus diesen obigen Dokumenten, plus zusätzlich einer Beschreibung des Vorgehens, wie man zu ihnen gelangt ist.

Grundsätzliches

Wie war das bitte mit Teil 1?

Diese gleiche Arbeit wurde bereits 2009 ausgeschrieben und von FranzZieris erfolgreich durchgeführt. Die Ergebnisse sind in seiner Ausarbeitung nachzulesen (siehe auch ThesesHome). Sie waren gut und sollen weiterverwendet werden, aber es gibt noch einige Bereiche des Ablaufs, die darin kaum oder gar nicht beschrieben sind. Diese Lücken zu füllen ist der Zweck von Das "a", Teil 2.

FranzZieris ist inzwischen in unserer Gruppe wissenschaftlicher Mitarbeiter und würde die Arbeit hauptsächlich betreuen.

Meilensteine

Nr. Zeit days KW Aufgaben target Ergebnis wrench
1a DONE 23.01.13 KW4 X: Event-Erstellung dokumentieren Vollständig
1b DONE 30.01.13 KW5 X: Event-Verarbeitung dokumentieren Vollständig
2a DONE 06.02.13 KW6 Übergang Kernel → X dokumentieren Vollständig
2b NEW 13.02.13 KW7 Übergang X → OO dokumentieren  
3 NEW 13.03.13 KW11 Ausgabe (von OO auf den Bildschirm) dokumentieren  
4 NEW 17.04.13 KW16 Verarbeiten der gesammelten Daten  

Comments

Nur eine kleine Anmerkung: der Java-Anteil in OpenOffice ist (leider? glücklicherweise?) unglaublich gering! Siehe dazu http://www.ohloh.net/p/openoffice/analyses/latest und http://www.inf.fu-berlin.de/inst/ag-se/teaching/S-BSE/160_zieris-dasA-thesis.pdf, Seite 18 (Folien der Abschlusspräsentation)

-- FranzZieris - 30 Jun 2011