CU
Stefan
[1]
"An Algorithm for Blob Hierarchy Layout"
by David Harel and Gregory Yashchin
Dept. of Applied Mathematics and Computer Science
The Weizmann Institute of Science, Rehovot, Israel. April, 1999
Optimal in welche Hinsicht? Minimale Zustandszahl? Dann "Einführung in die
theroretische Informatik I", Autor beliebig, Verlag beliebig.
Ansonsten ist Sedgwick immer einen Blick wert, und bei Knuth soll der Band
ja nicht vor 2014 erscheinen.
Optimal in Hinsicht auf: (den Prioritäten nach sortiert)
- keine Transitionen kreuzen sich
- keine Zustände überlappen sich
- keine Transitionen überlappen sich mit Zuständen (außer wenn eine
Transition an direkt an einen
Zustand in einer anderen Hierarchieebene geht)
- kurze Transitionen
- gleichmäßige Anordnung der Zustände im Diagramm
- ausgewogenes Verhältniss der äußeren Abmessungen der Zustände
Diese Liste ist eine kurze Zusammenfassung dessen, was Harel und Yashchin in
ihrem Paper mit "aestetic drawing" eingehender beschrieben haben.
Ich vermute, du erwähnst die "Einführung in die theoretische Informatik" da
du mein Problem mit FSMs verwechselst? Mein Problem liegt bei den
UML-Statecharts. Daher sollten besser keine Zustände wegfallen... ;-)
CU
Stefan
Ah! Komplett anderes Problem.
> Ich vermute, du erwähnst die "Einführung in die theoretische Informatik" da
> du mein Problem mit FSMs verwechselst?
Es klang danach. "Statecharts" treten bei eben bei vielen Parsealgorithmen auf.
> Mein Problem liegt bei den UML-Statecharts. Daher sollten besser keine
> Zustände wegfallen... ;-)
Eben. Anderes Problem.
> Optimal in Hinsicht auf: (den Prioritäten nach sortiert)
> - keine Transitionen kreuzen sich
> - keine Zustände überlappen sich
> - keine Transitionen überlappen sich mit Zuständen (außer wenn eine
> Transition an direkt an einen
> Zustand in einer anderen Hierarchieebene geht)
> - kurze Transitionen
> - gleichmäßige Anordnung der Zustände im Diagramm
> - ausgewogenes Verhältniss der äußeren Abmessungen der Zustände
Das riecht nach einem heuristischem Algorithmus, der Positionen vertauschen
kann. So eine Art ganzzahlige lineare Programmierung.