Lenguaje de programación basado en máquinas de estados para modelar formalmente y comprobar de forma sistemática la corrección de sistemas distribuidos.
aidenybai/tla-ts
Implementación en TypeScript del intérprete y model checker de TLA+, como reemplazo directo de TLC que se ejecuta en navegadores, Node y Bun.
Alternativa open source a:TLC
- Estrellas
- 232
- Forks
- 9
- Issues abiertos
- 9
- Último commit
- anteayer
¿Qué es?
tla-ts es un intérprete y model checker de TLA+ escrito en TypeScript. Está pensado como reemplazo directo de TLC, el model checker de referencia para las especificaciones TLA+, escrito en Java y que requiere la JVM. Como tla-ts se ejecuta dondequiera que se ejecute JavaScript, incluidos los navegadores, Node y Bun, permite verificar modelos formales sin instalar Java.
El proyecto también verifica pruebas de TLAPS, por lo que permite comprobar obligaciones de prueba sin instalar tlapm. Ofrece una API de JavaScript con `check`, `prove`, `parseModule` y `parseConfig`, además de una interfaz de línea de comandos que acepta las opciones de TLC y una interfaz al estilo de tlapm. Los errores se notifican mediante clases tipadas para sintaxis, configuración, evaluación y construcciones no compatibles.
El repositorio presenta benchmarks comparativos con TLC, con mejoras de velocidad de aproximadamente 1,1× a 2,4×, según la especificación y el número de workers. Incluye un entorno interactivo para el navegador y una suite de conformidad que compara los resultados registrados por TLC.
Funciones clave
- 01Ejecuta el model checking de TLA+ en navegadores, Node y Bun sin la JVM.
- 02Verifica obligaciones de prueba de TLAPS sin instalar tlapm.
- 03Ofrece `check`, `prove` y funciones de análisis sintáctico mediante una API de JavaScript.
- 04Incluye una interfaz de línea de comandos que acepta opciones de TLC y comandos al estilo de tlapm.
- 05Admite varios hilos de trabajo para explorar estados en paralelo.
Casos de uso
- Verificar modelos de especificaciones de protocolos distribuidos desde un entorno Node o un navegador.
- Ejecutar verificaciones de TLA+ en un pipeline de CI basado en JavaScript, sin configurar Java.
- Compartir un entorno interactivo de TLA+ en el navegador para enseñar o hacer demostraciones.
- Verificar pruebas de TLAPS en proyectos que ya usan una cadena de herramientas de Node.
Inicio rápido
- 1
Instala el paquete desde npm
npm install tla-ts - 2
Comprueba una especificación TLA+ desde la línea de comandos
npx tla-ts Spec.tla
Antes de usarlo
- Es un proyecto en una fase temprana y su comunidad es relativamente pequeña (191 estrellas).
Temas
Preguntas frecuentes
- ¿Qué es tla-ts?
- Implementación en TypeScript del intérprete y model checker de TLA+, como reemplazo directo de TLC que se ejecuta en navegadores, Node y Bun. tla-ts es un intérprete y model checker de TLA+ escrito en TypeScript. Está pensado como reemplazo directo de TLC, el model checker de referencia para las especificaciones TLA+, escrito en Java y que requiere la JVM. Como tla-ts se ejecuta dondequiera que se ejecute JavaScript, incluidos los navegadores, Node y Bun, permite verificar modelos formales sin instalar Java.
- ¿tla-ts es gratuito? ¿Qué licencia tiene?
- tla-ts es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿tla-ts sigue mantenido?
- Mantenimiento activo. El último commit de tla-ts fue el 5 nov 2026.
- ¿Para qué puedo usar tla-ts?
- Verificar modelos de especificaciones de protocolos distribuidos desde un entorno Node o un navegador. Ejecutar verificaciones de TLA+ en un pipeline de CI basado en JavaScript, sin configurar Java. Compartir un entorno interactivo de TLA+ en el navegador para enseñar o hacer demostraciones. Verificar pruebas de TLAPS en proyectos que ya usan una cadena de herramientas de Node.
- ¿Cómo se instala tla-ts?
- Instala el paquete desde npm: npm install tla-ts Comprueba una especificación TLA+ desde la línea de comandos: npx tla-ts Spec.tla
- ¿Dónde consigo tla-ts?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/aidenybai/tla-ts
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un lenguaje de programación que usa leyes y pruebas para verificar código escrito por IA y compilarlo a código paralelo rápido para CPU y GPU.
Automatización de pruebas con LLM para el demostrador de teoremas Lean, con sugerencias de tácticas, búsqueda de pruebas y selección de premisas.
Framework de Lean 4 para especificar, ejecutar y verificar formalmente redes neuronales, con tensores que comprueban las dimensiones y entrenamiento al estilo de PyTorch.
Framework para Lean 4 que permite demostrar con verificación mecánica la corrección y la seguridad de memoria del CIL de .NET compilado desde C#, F# y otros lenguajes .NET.
Formalización en Lean 4 del Stacks Project, la referencia de código abierto sobre geometría algebraica, basada en Mathlib y con demostraciones verificadas por máquina.