Implementierung eines Dateneditors (5-stündiges Projekt)
Im Oberon-System kann man mit dem Kommando System.State die globalen Variablen eines Moduls anzeigen lassen. Mit dem HeapInspector kann man eine graphische Repräsentation des Heap anzeigen lassen. Weiters gibt es das Modul Mirrors zur Visualisierung von gängigen Datenstrukturen (binäre Bäume, Listen). Es steht also eine Fülle von Möglichkeiten zur Verfügung, Daten und Objekte anzuzeigen.
Das Ziel diese Projekts ist es, Daten editierbar zu machen. Beim Kommando System.State sollte z.B. eine Integer-Variable nicht mehr einfach als Text ausgegeben wird, sondern auch editiert werden können.
Die Benutzerschnittstelle kann mit dem Elems-Paket gestaltet werden.
Man sollte sich überlegen, ob es sinnvoll ist, zwei Modi einzuführen: In einem Supervisor-Modus könnte man beliebige Änderungen machen, in einem normalen Modus dürfte man Änderungen nur entsprechend den Oberon-Sprachregeln machen (Änderung also nur bei schreibbar exportierten Daten, Anzeige nur bei exportierten Daten).
Technischer Hintergrund: Die Ausgabe von System.State erfolgt durch RefElems.WriteRider mit Hilfe des Moduls Ref (Metaprogrammierung und Reflection, siehe Reflection). Die Änderungen sind voraussichtlich leicht zu implementieren.
Hinweise: Das Projekt soll in einzelnen Stufen bearbeitet werden:
- Die Problemanalyse soll mit einem kurzen Pflichtenheft (2-4 Seiten) abgeschlossen werden.
- An die Analyse soll sich die Implementierung anschließen.
- Als Abschluss des Bakkalaureatsprojekts ist ein schriftlicher Bericht von 30-40
Seiten abzugeben, der zumindest die folgenden Kapitel enthalten soll: Beschreibung der
Aufgabe und ihres Umfeldes (d.h. wichtige Begriffe, bestehende Lösungen, etc.),
Benutzerdokumentation, Implementierungsbeschreibung, Kritische Beurteilung und Ausblick.
Betreuung: Nach der intensiveren Anfangsphase (kurze Besprechungen im Wochenabstand), die zur Absteckung des Problemfeldes und zur Klärung von Problemen dient, sollen im Zweiwochen-Rhythmus kurze Besprechungen stattfinden, um einen zügigen Fortgang des Projekts zu gewährleisten.
Plattform: Oberon
Umfang: 5 oder 10-stündiges Projekt
Betreuer: DDI C. Steindl
|