
UFSM ist ein Werkzeug zum Zeichnen hierarchischer Zustandsmaschinen und zum Generieren von Code. Die beiden Hauptteile sind "UFSM-Compose" der grafische Editor und "UFSM-Generate", den Codegenerator.

UFSM ist eine laufende Arbeit, es ist unvollständig, es ist durchaus möglich, Maschinen zu entwerfen, die nicht funktionieren.
- Versionen 0,1 - 0,3
Verwendete eine ziemlich komplizierte Laufzeit, die auf einer Baumstruktur arbeitete, die der grafischen Darstellung einer Zustandsmaschine entspricht. Dies funktionierte, war aber hungrig und fehleranfällig.
Die ersten Versionen stützten sich auch auf externe Zeichenwerkzeuge und verwendeten das XMI -Format, um Designs in kompilierbare Code zu übersetzen.
- Version 0.4.x
Versand "UFSM Compose" -Zielwerkzeug
- Version 0.5.x
Fundametaländerung bei der Erstellung von Code. Von 0,5 und weiter wird die komplizierte Laufzeit zugunsten eines Codegenerators fallen, der die meisten Dinge statisch berechnet. Dies reduziert die Anforderungen an den Laufzeitgedächtnis erheblich.
- Fügen Sie weitere Codegenerator -Backends hinzu, zum Beispiel Rost, JS und Python
- DRC, Konstruktionsregel -Checker
- BDD -basierter Zustandsbedingungsregel Optimierer
Appimages für Linux:
Unter Releases sind Appimages für das Zeichenwerkzeug und den Codegenerator verfügbar. Dies ist der einfachste Weg, um UFSM schnell zu testen.
Gebäude:
$ mkdir Build && CD Build $ cmake .. $ make
Abhängigkeiten:
| Paket | Ubuntu -Paketname |
|---|---|
| cmake | cmake |
| Uuid | Uuid-Runtime, uuid-dev |
| GTK 3 | libgtk-3-0, libgtk-3-dev |
Auslauftests:
$ machen Tests
Dokumentation ist hier verfügbar: UFSM -Dokumentation