start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2024/10/21 22:12] fponzistart [2025/07/15 17:51] (current) fponzi
Line 1: Line 1:
 ====== Welcome to the TLA+ Wiki ====== ====== Welcome to the TLA+ Wiki ======
 +
 This wiki is community driven, and aims to become a useful resource for TLA+ users. This wiki is community driven, and aims to become a useful resource for TLA+ users.
  
-===== TLA+ ====== +===== TLA+ and TLC ====== 
-''' +TLA+ is a high-level language for modeling programs and systems--especially concurrent and distributed ones.  It's based on the idea that the best way to describe things precisely is with simple mathematics.  TLA+ and its tools are useful for eliminating fundamental design errors, which are hard to find and expensive to correct in code.  
----------------------- MODULE HourClock ----------------------+ 
 +TLC is a model checker for specifications written in TLA+.  
 +<code> 
 +----- MODULE HourClock -----
 EXTENDS Naturals EXTENDS Naturals
 VARIABLE hr VARIABLE hr
Line 10: Line 14:
 HCnxt  ==  hr' = IF hr # 12 THEN hr + 1 ELSE 1 HCnxt  ==  hr' = IF hr # 12 THEN hr + 1 ELSE 1
 HC  ==  HCini /\ [][HCnxt]_hr HC  ==  HCini /\ [][HCnxt]_hr
---------------------------------------------------------------+------------------------
 THEOREM  HC => []HCini THEOREM  HC => []HCini
-============================================================== +======================= 
-'''+ 
 +----- CONFIG HourClock ----- 
 +(***************************************************************************) 
 +(* This is a TLC configuration file for testing that HCini is an invariant *) 
 +(* of the specification HC                                                 *) 
 +(***************************************************************************) 
 + 
 +SPECIFICATION HC 
 +   \* This statement tells TLC that HC is the specification that it 
 +   \* should check. 
 + 
 +INVARIANT HCini 
 +   \* This statement tells TLC to check that formula HCini is an 
 +   \* invariant of the specification--in other words, that the 
 +   \* specification implies []HCini. 
 +====================== 
 + 
 +</code>
  
 ==== Contributing ==== ==== Contributing ====
 +These are some of the ways you can contribute.
 +
 +=== Wiki ===
  
 Contributions to the wiki are very welcome! Contributions to the wiki are very welcome!
Line 22: Line 46:
  
 You can learn the syntax from [[wiki:syntax|here]]. Markdown is not supported. You can learn the syntax from [[wiki:syntax|here]]. Markdown is not supported.
 +
 +=== Tools ===
 +
 +Currently the main areas are the [[codebase:start|TLC model checker]] (java), and the [[using:vscode:start|Visual Studio Extension]].
 +
 +If you're looking for some inspiration, be sure to check the monthly development update that usually has good first contribution ideas: [[https://foundation.tlapl.us/blog/index.html]]
  
 ---- ----
  • start.1729548760.txt.gz
  • Last modified: 2024/10/21 22:12
  • by fponzi