Previous Contents Next

4   Platzierung

Team: 1: Daniel Dietrich, Moritz Zahorsky, Christian Buck. 2: Ralf Thöhle, Paul Mallach



Der Editor erlaubt es, Transitionssysteme frei-hand zu zeichnen. Daneben soll es möglich sein, die Koordinaten der Transitionssysteme automatisch zu berechnen. Dazu muß ein Graphplazierungsalgorithmus entworfen und implementiert werden. Die einzelnen Prozesse sowie ihre Zustände sollen möglichst ``schön'' dargestellt werden.

Schnittstelle

Gui und Editor. Die Graphplatzierung darf von gecheckter Syntax ausgehen. Was die Bedeutung der Koordinaten betrifft: siehe den entsprechenden Abschnitt beim Editor (Abschnitt 3). Da der Editor genau ein Fenster pro Process bereitstellt, müssen nur diese vom Platzierungsgruppe positioniert werde, nicht ganze Programme. Gui übernimmt die Benutzerführung in eigener Regie (nur ein Prozess soll positioniert werden, z.B., derjenige, dessen Fenster den Fokus hat), oder alle Prozesse sollen positioniert werden.

Angebote: eine Methode position_process, die einen Prozeß in abstrakter Syntax nimmt und in mit Koordinaten zurückgibt. Ob dies ebenfalls ein Objekt der abstrakten Syntax ist oder einer anderen Datenstruktur, wurde noch nicht festgelegt (siehe die Diskussion im Abschnitt 3 des Editors.)

Für den Anfang sei davon ausgegangen, daß alle Zustände gleich groß seien und Kanten als Geraden.

Erweiterungsmöglichkeiten:
In einem ersten Schritt sollen die Zustände plaziert werden, und die Transitionen als Geraden dazwischen. Falls Zeit ist, kann man versuchen, gebogene Transitionen zeichen (d.h. auch berechnen!) zu lassen. Sonstige Erweiterungsmöglichkeiten: Zustände verschiedener Größen, Berücksichtigung der Größe der Labels etc.

©Public License
Previous Contents Next