Repolode
aidenybai

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

    npm からパッケージをインストールする

    npm install tla-ts
  2. 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 の数値は毎日更新されます。

関連プロジェクト