Repolode
aidenybai

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. 1

    Instale o pacote pelo npm

    npm install tla-ts
  2. 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