Generieren von Code anhand von Zustandsdiagrammen
Sie können in UModel ausführbaren Code (C++, Java, VB.NET) anhand von Zustandsdiagrammen generieren. Es werden beinahe alle Zustandsdiagrammelemente und -funktionen unterstützt:
•Zustand
•Zusammengesetzter Zustand, mit jeder hierarchischen Ebene
•Orthogonaler Zustand, mit beliebig vielen Regionen
•Region
•Anfangszustand
•Endzustand
•Transition
•Guard
•Trigger
•Aufrufereignis
•Gabelung
•Vereinigung
•Entscheidung
•Kreuzung
•DeepHistory
•ShallowHistory
•Eintritts-/Austritts-/Do-Aktion
•Effekt
Die Generierung von Zustandsautomatencode ist in das normale Round Trip Engineering integriert, d.h. der Zustandsautomatencode kann bei jedem Forward Engineering automatisch aktualisiert werden.
In der Abbildung oben sehen Sie das Zustandsdiagramm AirCondition aus dem Verzeichnis ..\StateMachineCodeGeneration unter...\UModelExamples. Für jede der Sprachen, in der in UModel Code generiert werden kann, gibt es ein eigenes Verzeichnis.
Jedes Verzeichnis enthält jeweils einen Ordner AirCondition und einen Ordner Complex, die jeweils das entsprechende UModel-Projekt, die Programmiersprachen-Projektdateien sowie die generierten Quelldateien enthalten. Die Projektdatei Complex.ump enthält beinahe alle der von UModel beim Generieren von Zustandsdiagrammcode unterstützten Modellierungselemente und Funktionalitäten.
Außerdem enthält jedes Verzeichnis eine Testapplikation, z.B. TestSTMAirCondition.sln für C#, sodass Sie mit den generierten Quellcodedateien sofort arbeiten können.
So generieren Sie anhand eines Zustandsdiagramms Code:
•Klicken Sie mit der rechten Maustaste in das Zustandsdiagramm und wählen Sie den Befehl "Zustandsautomatencode generieren" oder
•Wählen Sie die Menüoption Projekt | Zustandsautomatencode generieren.
In der Abbildung oben sehen Sie die Standardeinstellungen. Klicken Sie zur Codegenerierung auf OK.
Der Zustandsautomatencode wird automatisch aktualisiert, wenn Sie das Forward Engineering starten. Sie können diese Einstellung allerdings ändern, indem Sie auf den Hintergrund des Zustandsdiagramms klicken und das Kontrollkästchen "Code automatisch aktualisieren" deaktivieren.
Am generierten Code sollten keine manuellen Änderungen vorgenommen werden, da diese Änderungen beim Reverse Engineering nicht im Zustandsdiagramm übernommen werden.
Wenn Sie neben dem Feld "Code automatisch aktualisieren" auf das Symbol klicken, wird das Dialogfeld "Zustandsautomatencode generieren" geöffnet, wo Sie die Codegenerierungseinstellungen ändern können.
So führen Sie in einem Zustandsdiagramm eine Syntaxüberprüfung durch:
•Klicken Sie mit der rechten Maustaste auf das Diagramm und wählen Sie den Befehl Zustandsautomatensyntax überprüfen.