
O UFSM é uma ferramenta para desenhar máquinas de estado hierárquico e gerar código. As duas partes principais são "UFSM-Compose", o editor gráfico e "UFSM-Generate", o gerador de código.

O UFSM é um trabalho em andamento, é incompleto, é totalmente possível projetar máquinas que não funcionarão.
- Versões 0,1 - 0,3
Usou um tempo de execução bastante complicado que operava em uma estrutura de árvore que é fiel à representação gráfica de uma máquina de estado. Isso funcionou, mas estava com fome de recursos e erros propensos a erros.
As primeiras versões também se basearam em ferramentas de desenho externas e usaram o formato XMI para traduzir projetos para o código compilável.
- Versão 0.4.x
Enviado como ferramenta de desenho "ufsm compuse"
- Versão 0.5.x
Mudança de fundamento em como o código é gerado. A partir de 0,5 e o tempo de execução complicado é descartado em favor de um gerador de código que calcula a maioria das coisas estaticamente. Isso reduz substancialmente os requisitos de memória de tempo de execução.
- Adicione mais back -ends do gerador de código, por exemplo, ferrugem, js e python
- DRC, verificador de regra de design
- Otimizador de regra de condição de estado baseado em BDD
Appimages para Linux:
Em Releases, os Appimages estão disponíveis para a ferramenta de desenho e o gerador de código. Esta é a maneira mais fácil de testar rapidamente o UFSM.
Prédio:
$ mkdir Build && CD Build $ cmake .. $ make
Dependências:
| Pacote | Nome do pacote do Ubuntu |
|---|---|
| cmake | cmake |
| uuid | Uuid Runtime, Uuid-dev |
| GTK 3 | libgtk-3-0, libgtk-3-dev |
Testes de execução:
$ Faça testes
Documentação está disponível aqui: documentação do UFSM