分散システムを形式的にモデル化し、その正しさを体系的に検証する、状態機械ベースのプログラミング言語。
aidenybai/tla-ts
ブラウザ、Node、Bunで動作する、Java製TLCの代替として使えるTLA+インタープリター兼モデルチェッカーのTypeScript実装です。
代替できる製品:TLC
- スター
- 232
- フォーク
- 9
- 未解決の Issue
- 9
- 最終コミット
- 一昨日
これは何?
tla-tsは、TypeScriptで書かれたTLA+インタープリター兼モデルチェッカーです。TLA+仕様向けのリファレンスモデルチェッカーであるTLCの代替として、置き換えて使えることを目指しています。TLCはJava製で、JVMが必要です。tla-tsはブラウザ、Node、BunなどJavaScriptが動作する環境で使えるため、Javaをインストールせずに形式モデルを検査できます。
このプロジェクトはTLAPSの証明も検査できるため、tlapmをインストールせずに証明義務を検証できます。`check`、`prove`、`parseModule`、`parseConfig`を備えたJavaScript APIを提供するほか、TLCのオプションを受け付けるコマンドラインと、tlapm形式のインターフェースも提供します。構文、設定、評価、未サポートの構文要素に関するエラーは、型付きクラスで報告されます。
リポジトリにはTLCとのベンチマーク結果が掲載されており、仕様とワーカー数に応じて約1.1~2.4倍の高速化が示されています。ブラウザ上のプレイグラウンドと、TLCの記録済み結果と比較する適合性テストスイートも含まれています。
主な機能
- 01JVMなしでブラウザ、Node、Bun上でTLA+のモデル検査を実行できます。
- 02tlapmをインストールせずにTLAPSの証明義務を検査できます。
- 03JavaScript APIで`check`、`prove`、パーサー関数を利用できます。
- 04TLCのオプションとtlapm形式のコマンドを受け付けるコマンドラインを備えています。
- 05複数のワーカースレッドを使った並列状態探索に対応しています。
ユースケース
- Nodeやブラウザ環境で分散プロトコルの仕様をモデル検査する。
- Java環境を用意せずに、JavaScriptベースのCIパイプラインでTLA+の検査を実行する。
- 教育やデモ向けに、ブラウザで使える対話型TLA+プレイグラウンドを共有する。
- 既存のNodeツールチェーンを使うプロジェクトでTLAPSの証明を検査する。
クイックスタート
- 1
npm からパッケージをインストールする
npm install tla-ts - 2
コマンドラインから TLA+ spec をチェックする
npx tla-ts Spec.tla
使う前に知っておきたいこと
- 初期段階のプロジェクトで、コミュニティの規模は比較的小さい(スター数 191)。
トピック
よくある質問
- tla-ts とは?
- ブラウザ、Node、Bunで動作する、Java製TLCの代替として使えるTLA+インタープリター兼モデルチェッカーのTypeScript実装です。 tla-tsは、TypeScriptで書かれたTLA+インタープリター兼モデルチェッカーです。TLA+仕様向けのリファレンスモデルチェッカーであるTLCの代替として、置き換えて使えることを目指しています。TLCはJava製で、JVMが必要です。tla-tsはブラウザ、Node、BunなどJavaScriptが動作する環境で使えるため、Javaをインストールせずに形式モデルを検査できます。
- tla-ts は無料で使えますか?ライセンスは?
- tla-ts は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- tla-ts は今もメンテナンスされていますか?
- 活発にメンテナンス中。tla-ts の最終コミットは 2026年11月5日 です。
- tla-ts は何に使えますか?
- Nodeやブラウザ環境で分散プロトコルの仕様をモデル検査する。 Java環境を用意せずに、JavaScriptベースのCIパイプラインでTLA+の検査を実行する。 教育やデモ向けに、ブラウザで使える対話型TLA+プレイグラウンドを共有する。 既存のNodeツールチェーンを使うプロジェクトでTLAPSの証明を検査する。
- tla-ts のインストール方法は?
- npm からパッケージをインストールする: npm install tla-ts コマンドラインから TLA+ spec をチェックする: npx tla-ts Spec.tla
- tla-ts はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/aidenybai/tla-ts
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
法則と証明でAI生成コードを検証可能にし、高速な並列CPU・GPUコードへコンパイルするプログラミング言語。
Lean定理証明器向けのLLM活用型証明自動化。タクティックの提案、証明探索、前提選択を提供します。
形状検査付きテンソルとPyTorch風の学習に対応した、ニューラルネットワークの記述・実行・形式検証を行うLean 4フレームワーク。
C#、F#などの.NET言語からコンパイルされた.NET CILを対象に、正当性とメモリ安全性を機械検証するLean 4フレームワーク。
代数幾何学のオープンソース参考資料であるStacks Projectを、Mathlibを基盤として機械検証付きで形式化したLean 4プロジェクトです。