Язык программирования на основе конечных автоматов для формального моделирования и систематической проверки корректности распределённых систем.
aidenybai/tla-ts
Интерпретатор и проверщик моделей TLA+ на TypeScript — замена TLC на Java, работающая в браузерах, Node и Bun.
Open source альтернатива:TLC
- Звёзды
- 232
- Форки
- 9
- Открытые issues
- 9
- Последний коммит
- позавчера
Что это?
tla-ts — интерпретатор и проверщик моделей TLA+, написанный на TypeScript. Он задуман как полноценная замена TLC — эталонного проверщика моделей для спецификаций TLA+, написанного на Java и требующего JVM. Поскольку tla-ts работает везде, где работает JavaScript, включая браузеры, Node и Bun, проверять формальные модели можно без установки Java.
Проект также проверяет доказательства TLAPS, поэтому обязательства по доказательству можно верифицировать без установки tlapm. Он предоставляет JavaScript API с функциями `check`, `prove`, `parseModule` и `parseConfig`, а также командную строку, принимающую параметры TLC, и интерфейс в стиле tlapm. Ошибки обрабатываются типизированными классами для синтаксических ошибок, ошибок конфигурации и вычислений, а также неподдерживаемых конструкций.
В репозитории приведены результаты сравнительного тестирования с TLC: ускорение примерно в 1,1–2,4 раза в зависимости от спецификации и числа worker-потоков. В проект входят браузерная интерактивная среда и набор тестов на соответствие, результаты которого сравниваются с записанными результатами TLC.
Ключевые возможности
- 01Запускает проверку моделей TLA+ в браузерах, Node и Bun без JVM.
- 02Проверяет обязательства по доказательству TLAPS без установки tlapm.
- 03Предоставляет функции `check`, `prove` и функции разбора в JavaScript API.
- 04Включает командную строку, принимающую параметры TLC и команды в стиле tlapm.
- 05Поддерживает несколько worker-потоков для параллельного перебора состояний.
Сценарии использования
- Проверка моделей спецификаций распределённых протоколов в среде Node или браузере.
- Запуск проверок TLA+ в CI-пайплайне на JavaScript без установки Java.
- Публикация интерактивной среды TLA+ в браузере для обучения или демонстраций.
- Проверка доказательств TLAPS в проектах, где уже используется инструментарий Node.
Быстрый старт
- 1
Установите пакет из npm
npm install tla-ts - 2
Проверьте спецификацию TLA+ из командной строки
npx tla-ts Spec.tla
Что важно знать
- Проект находится на ранней стадии, а его сообщество относительно небольшое (191 звезда).
Темы
Частые вопросы
- Что такое tla-ts?
- Интерпретатор и проверщик моделей TLA+ на TypeScript — замена TLC на Java, работающая в браузерах, Node и Bun. tla-ts — интерпретатор и проверщик моделей TLA+, написанный на TypeScript. Он задуман как полноценная замена TLC — эталонного проверщика моделей для спецификаций TLA+, написанного на Java и требующего JVM. Поскольку tla-ts работает везде, где работает JavaScript, включая браузеры, Node и Bun, проверять формальные модели можно без установки Java.
- tla-ts можно использовать бесплатно? Какая у него лицензия?
- tla-ts распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- tla-ts всё ещё поддерживается?
- Активно поддерживается. Последний коммит в tla-ts — 5 нояб. 2026 г..
- Для чего можно использовать tla-ts?
- Проверка моделей спецификаций распределённых протоколов в среде Node или браузере. Запуск проверок TLA+ в CI-пайплайне на JavaScript без установки Java. Публикация интерактивной среды TLA+ в браузере для обучения или демонстраций. Проверка доказательств TLAPS в проектах, где уже используется инструментарий Node.
- Как установить tla-ts?
- Установите пакет из npm: npm install tla-ts Проверьте спецификацию TLA+ из командной строки: npx tla-ts Spec.tla
- Где скачать tla-ts?
- Исходный код и инструкции по установке — на GitHub: https://github.com/aidenybai/tla-ts
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Язык программирования, который использует законы и доказательства, чтобы проверять корректность кода, написанного ИИ, и компилирует его в быстрый параллельный код для CPU и GPU.
Автоматизация доказательств в Lean с помощью LLM: подсказки по тактикам, поиск доказательств и подбор лемм.
Фреймворк для Lean 4, позволяющий описывать, запускать и формально верифицировать нейросети с проверкой форм тензоров и обучением в стиле PyTorch.
Фреймворк для Lean 4, позволяющий формально доказывать корректность и безопасность работы с памятью в скомпилированном .NET CIL.
Формализация Stacks Project на Lean 4 — открытого справочника по алгебраической геометрии; проект построен на Mathlib и содержит доказательства, проверяемые машиной.