
UFSM est un outil pour dessiner des machines d'état hiérarchiques et générer du code. Les deux pièces principales sont "UFSM-Compose" L'éditeur graphique et "UFSM-Generate", le générateur de code.

UFSM est un travail en cours, il est incomplet, il est entièrement possible de concevoir des machines qui ne fonctionneront pas.
- Versions 0,1 - 0,3
Utilisé un temps d'exécution assez compliqué qui fonctionnait sur une structure d'arbre fidèle à la représentation graphique d'une machine d'état. Cela a fonctionné, mais avait faim des ressources et des erreurs sujettes.
Les premières versions reposaient également sur des outils de dessin externes et ont utilisé le format XMI pour traduire les conceptions en code compilable.
- Version 0.4.x
Outil de dessin expédié "UFSM Compose"
- Version 0.5.x
Changement fondamental dans la façon dont le code est généré. À partir de 0,5 et en avant, l'exécution compliquée est supprimée en faveur d'un générateur de code qui calcule la plupart des choses statiquement. Cela réduit considérablement les exigences de la mémoire d'exécution.
- Ajoutez plus de backends de générateur de code, par exemple Rust, JS et Python
- RDC, vérificateur de règle de conception
- Optimiseur de règles de condition d'état basée sur le BDD
Appimages pour Linux:
Sous les versions applimages sont disponibles pour l'outil de dessin et le générateur de code. C'est le moyen le plus simple de tester rapidement l'UFSM.
Bâtiment:
$ MKDIR BUILD && CD Build $ cmake .. $ faire
Dépendances:
| Emballer | Nom du package Ubuntu |
|---|---|
| cmake | cmake |
| uuid | uuid-runtime, uuid-dev |
| GTK 3 | libgtk-3-0, libgtk-3-dev |
Tests d'exécution:
$ faire des tests
La documentation est disponible ici: documentation UFSM