![]() |
|
|||||||
| Newsgroups de.sci.* Forum Newsgroups de.sci.* Forum (From Usenet Archive) |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#11
|
|||
|
|||
|
Volker Birk wrote:
> Stefan Reuther <stefan.news*arcor.de> wrote: >>>Ich würds als DSL machen: >> >>Von da ist es aber nicht mehr weit dazu, das ganze in einer richtigen >>Programmiersprache aufzuschreiben. > > Nach meiner Erfahrung sind das Grössenordnungen LOC, die man sich damit > spart, wenn man es generativ aufschreibt. Das kann man, mit > Einschränkungen, auch in C++ mit templates machen. Für Fälle, wo diese > nicht ausreichen, eben auch nicht. > > Mit "Grössenordnungen" meine ich in aktuellen Projekten zwischen Faktor > 5 und Faktor 100. Das kann ich zumindest für die Zustandsautomaten, die wir damals hatten, nicht bestätigen. Das, was ich da postete, war fast vollständig; der "echte" Code hatte nur zusätzlich noch einen Mechanismus zur Realisierung verschachtelter Zustände, der mit einer Handvoll Zeilen pro Zustand auskommt (im Wesentlichen: Zustände müssen Auskunft über ihren Elter geben können). Natürlich kann man das nicht in so tollen UML-Diagrammen visualisieren, aber zumindest die UML-Diagramme, aus denen unser aktueller Zustands- automat besteht, sind ziemlich unübersichtlich und auf Monitoren mit weniger als 4000x3000 Pixeln eigentlich nicht handhabbar. In Code kann man wenigstens greppen. Stefan |
|
|
||||
|
||||
|
|
|
#12
|
|||
|
|||
|
Stefan Reuther <stefan.news*arcor.de> wrote:
> Natürlich kann man das nicht in so tollen UML-Diagrammen visualisieren, > aber zumindest die UML-Diagramme, aus denen unser aktueller Zustands- > automat besteht, sind ziemlich unübersichtlich und auf Monitoren mit > weniger als 4000x3000 Pixeln eigentlich nicht handhabbar. In Code kann > man wenigstens greppen. Ich bin da auch nicht so der Grafikfan. Wobei, XMI zu generieren für die, die's haben wollen - wenn's schee macht... Übrigens: hast Du's mal mit DSLs und generieren versucht? Viele Grüsse, VB. -- Bitte beachten Sie auch die Rückseite dieses Schreibens! |
|
#13
|
|||
|
|||
|
Volker Birk wrote:
> Stefan Reuther <stefan.news*arcor.de> wrote: >>Natürlich kann man das nicht in so tollen UML-Diagrammen visualisieren, >>aber zumindest die UML-Diagramme, aus denen unser aktueller Zustands- >>automat besteht, sind ziemlich unübersichtlich und auf Monitoren mit >>weniger als 4000x3000 Pixeln eigentlich nicht handhabbar. In Code kann >>man wenigstens greppen. > > Ich bin da auch nicht so der Grafikfan. Wobei, XMI zu generieren für > die, die's haben wollen - wenn's schee macht... dot reicht ja auch für eine Übersicht. > Übrigens: hast Du's mal mit DSLs und generieren versucht? Als Hobbycompilerbastler bau ich zwar ständig irgendwelche DSLs, aber für Zustandsautomaten habe ich schlicht bisher kein Einsparpotenzial gesehen. Der oben erwähnte Automat (den Mechanismus hat ein Kollege gebaut) war mir schlank genug, und die Automaten, die ich selber pflege, haben meist recht wüste Ereignisacquise-Schemata, die in ein Framework zu pressen ziemlich aufwändig (und infolgedessen bloatig) wäre. Meistens ist mir der andere Weg wichtiger, aus dem Code gewisse Eigenschaften rauszuparsen und zu beweisen (z.B. Maximallaufzeit in Funktion 'X' oder sowas). Stefan |
|
|
|
|