
UFSM es una herramienta para dibujar máquinas de estado jerárquicas y generar código. Las dos partes principales son "UFSM-Compose" el editor gráfico y "UFSM-Generate", el generador de código.

UFSM es un trabajo en progreso, es incompleto, es completamente posible diseñar máquinas que no funcionarán.
- Versiones 0.1 - 0.3
Usó un tiempo de ejecución bastante complicado que funcionaba en una estructura de árbol que es fiel a la representación gráfica de una máquina de estado. Esto funcionó pero era de hambre de recursos y errores.
Las primeras versiones también se basaron en herramientas de dibujo externas y usaron el formato XMI para traducir diseños a código compilable.
- Versión 0.4.x
Herramienta de dibujo "UFSM componente" enviada
- Versión 0.5.x
Cambio fundametal en cómo se genera el código. A partir de 0.5 y en adelante, el tiempo de ejecución complicado se cae a favor de un generador de código que calcula la mayoría de las cosas estáticamente. Esto reduce sustancialmente los requisitos de memoria de tiempo de ejecución.
- Agregue más backends del generador de código, por ejemplo, Rust, JS y Python
- DRC, verificador de reglas de diseño
- Optimizador de reglas de condición de estado basado en BDD
Appimages para Linux:
En versions AppImages están disponibles para la herramienta de dibujo y el generador de códigos. Esta es la forma más fácil de probar rápidamente UFSM.
Edificio:
$ mkdir build && cd build $ cmake .. $ make
Dependencias:
| Paquete | Nombre del paquete Ubuntu |
|---|---|
| CMake | CMake |
| uuid | uuid-runtime, uuid-dev |
| GTK 3 | libgtk-3-0, libgtk-3-devel |
Pruebas de ejecución:
$ hacer pruebas
La documentación está disponible aquí: documentación de UFSM