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