3 Editor
Team: Finn Jacobs und Alexander Eckloff
Ähnlich dem Prototyp soll ein Editor für die Transitionssysteme
implementiert werden. Er soll folgende Eigenschaften besitzen:
-
Aufbau: Es soll möglich sein, ein Transitionssystem aus
Schablonen von Zuständen, Transitionen etc., aufbauen zu können.
Der Initialzustand soll jeweils speziell kenntlich sein.
- Speichern und Laden:
Die Systeme sollen gespeichert und geladen werden können.
- Selektieren: Einzelne Komponenten sollen selektiert werden
können. Das dient zur Vorbereitung weiterer Aktionen.
- Löschen & Kopieren: Es soll möglich sein, selektierte
Komponenten zu entfernen und zu kopieren.
- Highlight: der Editor soll eine Highlightfunktion zur
Verfügung stellen. Es soll möglich sein, Methodenaufrufe, bestimmte
Zustände und/oder Transitionen zu highlighten.
Designentscheidungen der Editorgruppe/Gui-Gruppe/Graphplatzierungsgruppe:
-
Es wird ein Fenster pro Prozess gezeichnet, mit anderen
Worten, das komplette Programm (bestehend aus mehreren Prozessen, bleibt
bei der Gui).
- Es wird vorläufig mit Swing gearbeit, um ein einheitliches
schau-und-fühl zu bekommen. Falls es Probleme mit der Effizienz
gibt, wird es nicht schwer sein, auf AWT umzusatteln.1
- Koordinaten werden relativ genommen, und zwar in Fließkommawerten
zwischen 0 und 1. Dies sind die Werte die für Zustände die
Position relativ zur Umgebenden Fläche bestimmen.
Schnittstelle
Mit der Gui (Abschnitt 2). Desweiterern mit dem Simulator
(Abschnutt 6). Es jedoch ist noch zu diskutieren, ob der
Simulator sich direkt an den Editor werdet oder ob dies
vermittels der Gui passiert, da ein Editor nur due Übersicht über
einen Prozess hat.
Auf jeden Fall: eine Methode highlight_state, als Übergabe
entweder
-
der Bezeichner des Zustandes, oder
- der Zustand als Objekt.
Die Wahl muß mit dem Simulator oder der Gui vereinbart werden, abhängig
davon, wer die Methode aufruft.
Eine wichtige Schnittstelle (wie bei allen) ist die abstrakte
Syntax. Noch ungeklärt: sollen die Graphischen Koordinaten in die
abstakte Syntax mit aufgenommen werden, oder sollen sie davon getrennt
gehalten werden (durch eine geeignete, um Graphik-Information erweiterte
Datenstrukturen.
©Public License