TLA+
TLA(Temporal Logic and Actions)
TLAはモデル検査系の形式仕様記述言語
TLA+はLeslie Lamport先生が開発した形式仕様言語及び関連ツール
AWSのDynamoDB、EC2やS3(今はさらに増えている)といった数多くのサービスの仕様をこの言語で表記し、モデル検査によって矛盾や不整合がないかをチェックしているらしい
特徴は並行実行や分散システムをサポートしている
他の形式手法のツールに比べて数学的な素養があまりないプログラマーでも容易に習得ができるのが特徴
と言われているが自分はまだ習得できていない
TLA+では記述された仕様が正しいかをチェックするために、TLC Model Checkerというツールを提供している
TLA+のページ: The TLA+ Home Page
Learn TLA+ — Learn TLA+
参考
【TLA+】 TLA+と形式仕様言語 【目的と準備】 | DevelopersIO
TLA+ Video Course
『実践TLA+』
関連
TLA+ .gitignore
PlasCal
メモ
Genefication: Generative AI + Formal Verification
Chris Newcombe, Tim Rath, Fan Zhang, Bogdan Munteanu, Marc Brooker, and Michael Deardeuff. 2015. How Amazon Web Services Uses Formal Methods – Communications of the ACM
#形式手法