一种基于状态机的编程语言,用于对分布式系统进行形式化建模并系统性检验其正确性。
- Star
- 232
- Fork
- 9
- 未关闭 Issue
- 9
- 最近提交
- 前天
这是什么?
tla-ts 是一个用 TypeScript 编写的 TLA+ 解释器和模型检查器,目标是作为 TLC 的直接替代品。TLC 是 TLA+ 的参考模型检查器,使用 Java 编写并依赖 JVM。tla-ts 可以在浏览器、Node 和 Bun 等任何能运行 JavaScript 的环境中使用,无需安装 Java 即可检查形式化模型。
项目还支持检查 TLAPS 证明,无需安装 tlapm 即可验证证明义务。它提供 `check`、`prove`、`parseModule`、`parseConfig` 等 JavaScript API,并附带命令行工具,既支持 TLC 的选项,也支持 tlapm 风格的调用方式。语法、配置、求值及不支持的语法结构等错误都以明确的错误类型返回。
据仓库中的基准测试,在单 worker 下相比 TLC 约快 2 倍左右,多 worker 场景下加速比有所不同。项目还提供在线 playground,以及与 TLC 记录结果对比的一致性测试套件。
核心功能
- 01无需 JVM,可在浏览器、Node 和 Bun 中运行 TLA+ 模型检查。
- 02无需安装 tlapm 即可检查 TLAPS 证明义务。
- 03通过 JavaScript API 提供 `check`、`prove` 及解析函数。
- 04命令行工具兼容 TLC 选项和 tlapm 风格的命令。
- 05支持多个 worker 线程并行探索状态空间。
适用场景
- 在 Node 或浏览器环境中对分布式协议规约进行模型检查。
- 在基于 JavaScript 的 CI 流水线中运行 TLA+ 检查,无需配置 Java。
- 在浏览器中提供交互式 TLA+ 演示环境,用于教学或展示。
- 在已使用 Node 工具链的项目中检查 TLAPS 证明。
快速上手
- 1
从 npm 安装该包
npm install tla-ts - 2
在命令行中检查 TLA+ 规范
npx tla-ts Spec.tla
使用前须知
- 项目处于早期阶段,社区规模相对较小(191 星)。
标签
常见问题
- tla-ts 是什么?
- 用 TypeScript 实现的 TLA+ 解释器与模型检查器,可替代基于 Java 的 TLC,在浏览器、Node 和 Bun 中运行。 tla-ts 是一个用 TypeScript 编写的 TLA+ 解释器和模型检查器,目标是作为 TLC 的直接替代品。TLC 是 TLA+ 的参考模型检查器,使用 Java 编写并依赖 JVM。tla-ts 可以在浏览器、Node 和 Bun 等任何能运行 JavaScript 的环境中使用,无需安装 Java 即可检查形式化模型。
- tla-ts 可以免费使用吗?用的什么许可证?
- tla-ts 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- tla-ts 还在维护吗?
- 活跃维护中。tla-ts 最近一次提交是在 2026年11月5日。
- tla-ts 适合用来做什么?
- 在 Node 或浏览器环境中对分布式协议规约进行模型检查。 在基于 JavaScript 的 CI 流水线中运行 TLA+ 检查,无需配置 Java。 在浏览器中提供交互式 TLA+ 演示环境,用于教学或展示。 在已使用 Node 工具链的项目中检查 TLAPS 证明。
- tla-ts 怎么安装和运行?
- 从 npm 安装该包: npm install tla-ts 在命令行中检查 TLA+ 规范: npx tla-ts Spec.tla
- 在哪里获取 tla-ts?
- 源代码和安装说明在 GitHub 上:https://github.com/aidenybai/tla-ts
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一门用法则与证明约束 AI 生成代码、并可编译为 CPU/GPU 并行程序的编程语言。
为 Lean 定理证明器提供基于大语言模型的证明自动化,包括策略建议、证明搜索和前提选择。
基于 Lean 4 的框架,用于神经网络的形式化规约、执行与形式验证,支持形状检查的张量与类 PyTorch 训练。
基于 Lean 4 的形式化验证框架,可对 C#、F# 等 .NET 语言编译出的 CIL 字节码进行机器可检查的正确性与内存安全证明。
基于 Mathlib 的 Lean 4 形式化项目,将开源代数几何参考书 Stacks Project 转写为机器可验证的证明。