PEPSI 3D - Ein 3D Simulator für PEP
1. Folie
2. Folie

Formalia

Veranstalter

Prof. Eike Best
Dr. Hans Fleischhack
Dr. Harro Wimmel
Dipl.-Inform. Christian Stehno

Zeitraum

Wintersemester 2001/2002 und Sommersemester 2002

Umfang

Beide Semester je 8 SWS

Lehrveranstaltungsäquivalent

1 Seminar,
1 Studienarbeit und
1 Fortgeschrittenenpraktikum

Inanspruchnahme von Fachbereichsressourcen

Der Rechner- und Softwarebedarf wird durch die veranstaltende Abteilung gedeckt.

Teilnahmevoraussetzungen

Abgeschlossenes Grundstudium mit erfolgreich abgeschlossenem Vordiplom zu Beginn der Lehrveranstaltung.

Von Vorteil (aber nicht vorausgesetzt):
Besuch der VL ,,Petrinetze`` im SoSe 2001
Kenntnis von Java, C++, C und/oder Tcl/Tk

Aufgabenstellung

Zielsetzung

Das Programming Environment based on Petri nets (PEP) wird seit 8 Jahren entwickelt. Es bietet neben einem vollständigen Petrinetzwerkzeug mit grafischen Editoren und integrierten Simulatoren eine Entwicklungs- und Verifikationsumgebung für parallele Programme. Diese können mit Hilfe des Netztools simuliert und durch verschiedene Programme analysiert werden. Dabei setzt sich PEP aus vielen kleinen Tools zusammen, die mittels Skripten und festgelegten Dateien über die Benutzeroberfläche angesprochen werden können.

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:

  1. Implementierung einer 3D-Laufzeitumgebung

    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.

  2. Objektorientiertes Redesign der PEP-Komponenten und -Schnittstellen

    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.

  3. Erweiterung der 3D-Welt um eine Teile-Bibliothek

    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)$^2$ und eine durchgängige Unterstützung der Bibliothek in den Netzeditoren.

  4. Anpassung des Systems an das Moby-Tool

    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.

Entwicklungsumgebung

  1. Hardware

  2. Software

Minimalergebnisse

Zeitplan

Literatur

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.