Von Vorteil (aber nicht vorausgesetzt):
Besuch der VL ,,Petrinetze`` im SoSe 2001
Kenntnis von Java, C++, C und/oder Tcl/Tk
In dieser Projektgruppe soll die 3D-Schnittstelle in PEP von Grund auf neu programmiert werden. Das 3D-Interface bietet Entwicklern derzeit die Möglichkeit, modellierte Systeme so mit animierten dreidimensionalen Objekten in Verbindung zu bringen, dass eine wechselseitige Simulation ermöglicht wird. Dazu wird eine VRML-Datei innerhalb einer Java-Umgebung animiert und über Datenaustausch mit dem Petrinetz abgeglichen. Da die bisher eingesetzte proprietäre Java-Bibliothek nicht mehr unterstützt wird, muss eine grundsätzliche Neuimplementierung erfolgen. Gleichzeitig soll eine Erweiterung des Programms neue Funktionalität bieten. Im Einzelnen sind folgende Aufgaben geplant:
Für die Anzeige der 3D-Welt ist ein betriebssystemunabhängiger Viewer in Java zu entwerfen und zu implementieren. Dieser soll das Betrachten der VRML-Welten und eine Interaktion mit dem Benutzer ermöglichen. Über klar definierte Schnittstellen ist ein Datenaustausch mit dem PEP-System nötig.
Der 3D-Animator verarbeitet Informationen aus mehreren Bereichen von PEP, es werden auch Informationen an PEP zurückgeschickt. Um mit den gewachsenen Strukturen arbeiten zu können, wird das bestehende Programms analysiert und anhand moderner Methodiken neu entworfen. Dies bedeutet einen objekt-orientierten Entwurf für das Tool (Reengineering) und eine Konsolidierung der Schnittstellen und internen Datenstrukturen.
Die Kommunikation der einzelnen Programme läuft derzeit über einen dateibasierten Austausch mit eigens entwickelten Formaten, hier ist eine grundlegende Überarbeitung der Formate unter Berücksichtigung neuer Entwicklungen wie XML geplant.
Um VRML-Dateien einfacher mit den entworfenen Systemen verbinden
und flexibler auf variable Modelle eingehen zu können, ist der Einsatz einer
Teile-Bibliothek vorgesehen. Dazu sollen einzelne Grafikprimitive bzw. Objekte
der 3D-Welt zusammen mit einem parallelen Programm gespeichert werden. Diese
Komponenten sollen beim Systementwurf analog zu Makros eingesetzt werden und
automatisch zu dem Petrinetz eine 3D-Welt erzeugen. Dies erfordert
eine Ergänzung der benutzten Programmiersprache B(PN)
und eine
durchgängige Unterstützung der Bibliothek in den Netzeditoren.
Neben PEP benutzt auch Moby, ein weiteres Verifikationstool, die selbe 3D-Umgebung. Die Schnittstellen des Animationsprogramms sind daher so offen auszulegen, dass eine Anpassung an Moby möglich ist. Eine entsprechende Anbindung ist optional zu realisieren.
Die aktuelle Version von PEP, die die Basis der Aufgaben darstellt, sowie
weiterführende Literatur ist unter http://parsys.informatik.uni-oldenburg.de/~pep zu finden.