Universität München,

Institut für Informatik,

Lehr- und Forschungseinheit für Programmierung und Softwaretechnik


DIPLOMARBEIT


Blackboard Architektur für Diagrammatische Front-Ends


Mit Recopla steht ein leistungsfähiger Meta-Editor für Graphen und netzwerksartige Notationen zur Verfügung. Leider unterliegt die gegenwärtig mit Recopla mögliche Arbeitweise prinzipiell einem unidirektionalen Modell: Die graphische Notation wird in einem von Recopla erzeugten Editor erstellt und ausschließlich dort manipuliert. Dieser Editor erzeugt dann entweder eine externe Repräsentation des Netzwerks (in Textform oder als serialized Java-Objects), die von externen Komponenten weiterverarbeitet werden kann, oder er ruft über Programmierschnittstellen direkt externe Programme auf. Ein solches Modell ist jedoch häufig unrealistisch, denn externe Applikationen in interaktiven graphischen Systemen erfordern vielfach eine engere Kopplung, z.B. um mit direktem semantischen Feedback arbeiten zu können.

Es ist daher sinnvoll, ein Architektur-Modell zu verwenden, das eine engere Kopplung von externen Komponenten mit Recopla-Instanzen über bidirektionale Schnittstellen ermöglicht. Eine solche Architektur wird es ebenfalls erlauben, neue Zusatzfunktionalitäten wesentlich modularer als bisher zu ergänzen: Sie müssen nicht mehr in Recopla selbst eingebaut werden, sondern können als eigenständige externe Einheiten mit dem Editor zusammenarbeiten. Eine derartige Kopplung ist insbesondere für die grammatikbasierte Interpretationskomponente, die in der DA Zweckstetter realisiert wurde, und für Layoutkomponenten sinnvoll. Diese Architektur wird ebenfalls die Grundlage dafür bilden, daß mehrere unterschiedliche Editoren, die für verschiedene Diagramm-Notationen instantiiert worden sind, in einer gemeinsamen Anwendung kooperieren. Dies ist z.B. dann interessant, wenn unterschiedliche Aspekte eines einzigen Software-Entwurfs mit verschiedenen Diagramm-Notationen dargestellt werden und simultan bearbeiten werden sollen.

Aufgabe

In dieser Diplomarbeit soll eine Blackboard-Architektur entworfen werden, die als zentrale Kommunikationskomponente von Recopla-Instanzen, Zusatzmodulen und Applikationskomponenten fungiert. Ein solches Blackboard stellt einen zentralen Speicher bereit, den sich alle Komponenten teilen, um dort Diagrammobjekte etc. zwischenzuspeichern und von dort zu lesen. Änderungen am Blackboard-Inhalt können von jeder Komponente veranlaßt werden und werden automatisch allen für die entsprechenden Objekte als Beobachter registrierten Komponenten mitgeteilt, so daß diese entsprechend reagieren können. Die Interaktion zwischen den Komponenten spielt sich dabei im Normalfall asynchron ab, kann jedoch explizit synchronisiert werden. Die verschiedenen Verarbeitungskomponenten sind sich nur über das Blackboard bekannt und tauschen daher auch Kommandos explizit über dieses aus. Daraus ergibt sich eine sternförmige Architektur, in deren Mitte das Blackboard steht, und um das herum Editor-Instanzen, Zusatzmodule und Anwendungskomponenten angeordnet sind. Um die Arbeit im Netzwerk zu ermöglichen, sollen entweder RMI oder Corba die Basis dieser Architektur bilden.

Die DA zerfällt in die folgenden Teilaufgaben:

Vordiplom, Kenntnisse im Software-Entwurf und Programmierung mit Java

Arbeitsumgebung:

Java

Literatur:

Design Patterns. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Addison Wesley, 1995.
Graph Drawing. G. DiBattista, P. Eades, R. Tamassia, I.G. Tollis. Prentice Hall, 1999.
Proceedings IEEE Workshop on Visual Languages,
Proceedings ACM Conference on Advanced Visual Interfaces,
Proceedings Conference on User Interfaces and Software Technology (UIST).

Bearbeiter:

Sebastian Voges

Bearbeitungszeit:

Abgabe Februar 2000

Aufgabensteller:

Prof. Dr. Martin Wirsing

Betreung:

Stephan Merz, Telefon 2178-2182

E-Mail: merz@informatik.uni-muenchen.de