Linguagem de programação baseada em máquinas de estados para modelar formalmente e verificar sistematicamente a correção de sistemas distribuídos.
aidenybai/tla-ts
Implementação em TypeScript do interpretador e verificador de modelos TLA+, substituta direta do TLC em Java que roda em navegadores, Node e Bun.
Alternativa open source a:TLC
- Estrelas
- 232
- Forks
- 9
- Issues abertas
- 9
- Último commit
- anteontem
O que é?
tla-ts é um interpretador e verificador de modelos TLA+ escrito em TypeScript. A proposta é substituir diretamente o TLC, o verificador de modelos de referência para especificações TLA+, escrito em Java e que exige a JVM. Como tla-ts roda em qualquer ambiente compatível com JavaScript, incluindo navegadores, Node e Bun, é possível verificar modelos formais sem instalar Java.
O projeto também verifica provas do TLAPS, permitindo validar obrigações de prova sem instalar o tlapm. Ele oferece uma API JavaScript com `check`, `prove`, `parseModule` e `parseConfig`, além de uma interface de linha de comando que aceita as opções do TLC e uma interface no estilo do tlapm. Os erros são reportados por classes tipadas para sintaxe, configuração, avaliação e construções não suportadas.
O repositório apresenta benchmarks comparativos com o TLC, com ganhos de velocidade de aproximadamente 1,1× a 2,4×, dependendo da especificação e do número de workers. Também inclui um playground no navegador e uma suíte de conformidade comparada com os resultados registrados pelo TLC.
Recursos principais
- 01Executa a verificação de modelos TLA+ em navegadores, Node e Bun, sem a JVM.
- 02Verifica obrigações de prova do TLAPS sem instalar o tlapm.
- 03Oferece `check`, `prove` e funções de parser em uma API JavaScript.
- 04Inclui uma interface de linha de comando que aceita as opções do TLC e comandos no estilo do tlapm.
- 05Oferece suporte a várias threads worker para explorar estados em paralelo.
Casos de uso
- Verificar modelos de especificações de protocolos distribuídos em um ambiente Node ou no navegador.
- Executar verificações TLA+ em um pipeline de CI baseado em JavaScript, sem configurar Java.
- Compartilhar no navegador um playground interativo de TLA+ para ensino ou demonstrações.
- Verificar provas do TLAPS em projetos que já usam uma toolchain Node.
Início rápido
- 1
Instale o pacote pelo npm
npm install tla-ts - 2
Verifique uma especificação TLA+ pela linha de comando
npx tla-ts Spec.tla
Antes de usar
- Projeto em estágio inicial, com uma comunidade relativamente pequena (191 estrelas).
Tópicos
Perguntas frequentes
- O que é tla-ts?
- Implementação em TypeScript do interpretador e verificador de modelos TLA+, substituta direta do TLC em Java que roda em navegadores, Node e Bun. tla-ts é um interpretador e verificador de modelos TLA+ escrito em TypeScript. A proposta é substituir diretamente o TLC, o verificador de modelos de referência para especificações TLA+, escrito em Java e que exige a JVM. Como tla-ts roda em qualquer ambiente compatível com JavaScript, incluindo navegadores, Node e Bun, é possível verificar modelos formais sem instalar Java.
- tla-ts é gratuito? Qual é a licença?
- tla-ts é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- tla-ts ainda é mantido?
- Manutenção ativa. O último commit de tla-ts foi em 5 de nov. de 2026.
- Para que posso usar tla-ts?
- Verificar modelos de especificações de protocolos distribuídos em um ambiente Node ou no navegador. Executar verificações TLA+ em um pipeline de CI baseado em JavaScript, sem configurar Java. Compartilhar no navegador um playground interativo de TLA+ para ensino ou demonstrações. Verificar provas do TLAPS em projetos que já usam uma toolchain Node.
- Como instalar tla-ts?
- Instale o pacote pelo npm: npm install tla-ts Verifique uma especificação TLA+ pela linha de comando: npx tla-ts Spec.tla
- Onde consigo tla-ts?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/aidenybai/tla-ts
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma linguagem de programação que usa leis e provas para tornar verificável o código escrito por IA e compilá-lo em código rápido e paralelo para CPU e GPU.
Automação de provas com LLM para o provador de teoremas Lean, com sugestões de táticas, busca de provas e seleção de premissas.
Framework Lean 4 para especificar, executar e verificar formalmente redes neurais, com tensores com verificação de dimensões e treinamento no estilo PyTorch.
Um framework em Lean 4 para provas verificadas por máquina de correção e segurança de memória sobre CIL de .NET compilado a partir de C#, F# e outras linguagens .NET.
Formalização em Lean 4 do Stacks Project, referência open source em geometria algébrica, construída sobre o Mathlib e com provas verificadas pela máquina.