1. Einleitung

In der heutigen Zeit sind wir in zunehmender Weise von technischen Geräten umgeben, deren Funktionen durch Softwaresysteme realisiert und gesteuert werden. Zur Bedienung dieser Geräte werden dem Anwender in der Regel interaktive Benutzungsoberflächen bereitgestellt, die sich oft aus Displays mit graphischen Bedienelementen zusammensetzen.

Die graphische Benutzungsschnittstelle bzw. Graphical User Interface (GUI) ist dabei lediglich ein Bestandteil eines komplexen Systems, dessen mitunter vielfältige Funktionen dem Anwender über die Benutzungsschnittstelle zur Verfügung gestellt werden müssen. Bei der Entwicklung solcher Systeme sind eine ganze Reihe von Aspekten zu berücksichtigen. Deshalb sollte eine Entwicklung nicht ad hoc erfolgen, sondern durch einen Software-Entwicklungsprozess unterstützt werden.

Die modellbasierte Entwicklung einer Benutzungsschnittstelle fördert die Struktur der resultierenden Implementierung und erleichtert sowohl die spätere Fehlersuche als auch die Fehlervermeidung, da sich bereits existierende Analysetechniken auf das erstellte Modell anwenden lassen. Desweiteren stellen das Modell und die im Entwicklungsprozess erstellten Dokumente eine ausführliche Dokumentation der Benutzungsschnittstelle dar, die nicht nur zur Fehlersuche benutzt werden kann, sondern insbesondere bei zukünftigen Erweiterungen und Modifikationen von unschätzbarem Wert sein wird.

Zur Modellierung der Benutzungsschnittstelle werden wir eine Erweiterung der UML vorstellen, die auf dem OMMMA-Ansatz [SE99] basiert. Die Abkürzung OMMMA steht für Object-Oriented Modeling of MultiMedia Applications und ist ein Modellierungsansatz für Multimedia-Applikationen, in dem Statecharts mit sogenannten Layout-Diagrammen (presentation diagrams) verknüpft werden, um sowohl das Verhalten, als auch das Aussehen von multimedialen Systemen zu modellieren. Wir werden auf diesem Ansatz aufsetzen, um Benutzungsschnittstellen mit multimedialem Inhalt zu modellieren.

In dem von uns entwickelten und implementierten Editor lässt sich das Modell einer solchen Benutzungsschnittstelle (GUI) intuitiv erstellen und editieren. Dieser Editor, genannt GuiBuilder, ist ein graphischer Editor, in dem sich beide Diagrammarten (Statechart- und Layout-Diagramme), die das Modell einer GUI ausmachen, einfach und schnell erstellen lassen. Wir werden die wesentlichen Konzepte der Implementierung dieses Editors aufzeigen und dabei insbesondere darauf eingehen, wie die Sprachkonzepte der Modellierung von graphischen Benutzungsschnittstellen in der Implementierung umgesetzt wurden.

In GuiBuilder ist es außerdem möglich, die modellierte Benutzungsschnittstelle zu generieren und in einer Simulationsumgebung zu testen. Desweiteren können sich externe Tools mit einer Simulation verbinden und werden so über den jeweils aktuellen Zustand der simulierten GUI auf dem Laufenden gehalten. Wir werden speziell darauf eingehen, wie diese Verbindung hergestellt werden kann und welches Protokoll bei der Übermittlung der Informationen eingehalten wird.

GuiBuilder ist als Plug-in unter Eclipse [ecl] realisiert und greift auf das Graphical Editor Framework (GEF) zurück. Die Bedienung von GuiBuilder und seine vielen Features werden im beiliegenden Handbuch [HGD05] ausführlich beschrieben und anhand vieler Illustrationen erläutert.

In Kapitel 2 wird eine kurze Einführung in Eclipse gegeben, wobei die Vorteile aufgezeigt werden, die die Implementierung eines Tools wie GuiBuilder als Plug-in unter Eclipse mit sich bringt. Kapitel 3 erläutert die von uns vorgenommene Konzeptionierung des GUI-Modells. Darüber hinaus stellt es unsere Konzepte hinter der Implementierung der Validierung und Simulation des GUI-Modells vor. In Kapitel 4 wird die Implementierung vorgestellt. Dabei wird zuerst ein Überblick über das Gesamtsystem gegeben, aus dem dann wesentliche Aspekte in separaten Abschnitten genauer beleuchtet werden. Danach wird in Kapitel 5 als Fallstudie die Modellierung der GUI eines Fernsehers durchgeführt. Abschließend befindet sich in Kapitel 6 eine kurze Zusammenfassung und ein detaillierter Ausblick auf die zukünftigen Features des Modells und des GuiBuilder.


i3D. Hannwacker - A. Gebel - M. Dürksen