All Projects โ†’ tlaplus โ†’ Examples

tlaplus / Examples

Licence: other
A collection of TLA+ specifications of varying complexities

Projects that are alternatives of or similar to Examples

Books
Awesome Books
Stars: โœญ 66 (-90.83%)
Mutual labels:  algorithm, protocol
Merkletreejs
๐ŸŒฑ Construct Merkle Trees and verify proofs in JavaScript.
Stars: โœญ 238 (-66.94%)
Mutual labels:  algorithm, protocol
Drtlaplus
Dr. TLA+ series - learn an algorithm and protocol, study a specification
Stars: โœญ 561 (-22.08%)
Mutual labels:  algorithm, protocol
Learn Algorithms
็ฎ—ๆณ•ๅญฆไน ็ฌ”่ฎฐ
Stars: โœญ 6,165 (+756.25%)
Mutual labels:  algorithm
Quickfixj
QuickFIX/J is a full featured messaging engine for the FIX protocol. - This is the official project repository.
Stars: โœญ 638 (-11.39%)
Mutual labels:  protocol
Ahocorasickdoublearraytrie
An extremely fast implementation of Aho Corasick algorithm based on Double Array Trie.
Stars: โœญ 695 (-3.47%)
Mutual labels:  algorithm
Turf
A modular geospatial engine written in JavaScript
Stars: โœญ 6,659 (+824.86%)
Mutual labels:  algorithm
Algorithms
Data Structure Libraries and Algorithms implementation
Stars: โœญ 624 (-13.33%)
Mutual labels:  algorithm
Tech Refrigerator
๐Ÿฐ ๊ธฐ์ˆ  ๋ƒ‰์žฅ๊ณ ์ž…๋‹ˆ๋‹ค. ๐Ÿ›’ ๊ธฐ์ˆ  ๋ฉด์ ‘ , ์ „๊ณต ์‹œํ—˜ , ์ง€์‹ ํ•จ์–‘ ๋“ฑ ๋ถ„๋ช… ๋„์›€๋  ๊ฑฐ์˜ˆ์š”! ๐ŸคŸ
Stars: โœญ 699 (-2.92%)
Mutual labels:  algorithm
Arabiccompetitiveprogramming
The repository contains the ENGLISH description files attached to the video series in my ARABIC algorithms channel.
Stars: โœญ 675 (-6.25%)
Mutual labels:  algorithm
Dsa.js Data Structures Algorithms Javascript
๐ŸฅžData Structures and Algorithms explained and implemented in JavaScript + eBook
Stars: โœญ 6,251 (+768.19%)
Mutual labels:  algorithm
Dhcpwn
All your IPs are belong to us.
Stars: โœญ 642 (-10.83%)
Mutual labels:  protocol
Jcsprout
๐Ÿ‘จโ€๐ŸŽ“ Java Core Sprout : basic, concurrent, algorithm
Stars: โœญ 26,536 (+3585.56%)
Mutual labels:  algorithm
Goraph
Package goraph implements graph data structure and algorithms.
Stars: โœญ 635 (-11.81%)
Mutual labels:  algorithm
Light Tips
Some code tips about algorithms, php and more ๐Ÿ”ฅ
Stars: โœญ 705 (-2.08%)
Mutual labels:  algorithm
Get better at cp in 2 months
This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.
Stars: โœญ 627 (-12.92%)
Mutual labels:  algorithm
Node Minecraft Protocol
Parse and serialize minecraft packets, plus authentication and encryption.
Stars: โœญ 697 (-3.19%)
Mutual labels:  protocol
Multihash
Self describing hashes - for future proofing
Stars: โœญ 656 (-8.89%)
Mutual labels:  protocol
Ipban
IPBan Monitors failed logins and bad behavior and bans ip addresses on Windows and Linux. Highly configurable, lean and powerful. Learn more at -->
Stars: โœญ 652 (-9.44%)
Mutual labels:  protocol
Xviz
A protocol for real-time transfer and visualization of autonomy data
Stars: โœญ 691 (-4.03%)
Mutual labels:  protocol

Welcome to TLA+ Examples

The page TLA+ Examples is a library of TLA+ specifications for distributed algorithms. The webpage supplies the TLA+ community with:

  • A comprehensive library of the TLA+ specifications that are available today, in order to provide an overview of how to specify an algorithm in TLA+.
  • A comprehensive list of references and other interesting information for each problem.

Do you have your own case study that you like to share with the community? Send a pointer to us and we will include it in the repository. Your specifications will help the community in improving the tools for TLA+ analysis.

List of Examples

No Name Short description Spec's authors TLAPS Proof TLC Check Used modules PlusCal
1 2PCwithBTM A modified version of P2TCommit (Gray & Lamport, 2006) Murat Demirbas โœ” FinSet, Int, Seq โœ”
2 802.16 IEEE 802.16 WiMAX Protocols Prasad Narayana, Ruiming Chen, Yao Zhao, Yan Chen, Zhi (Judy) Fu, and Hai Zhou โœ” Int, Seq, FinSet
3 aba-asyn-byz Asynchronous Byzantine agreement (Bracha & Toueg, 1985) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Nat
4 acp-nb Non-blocking atomic commitment with a reliable broadcast (BabaoฤŸlu & Toueg, 1993) Stephan Merz โœ” default theories
5 acp-nb-wrong Wrong version of the non-blocking atomic commitment with a reliable broadcast (BabaoฤŸlu & Toueg, 1993) Stephan Merz โœ” default theories
6 acp-sb Non-blocking atomic commitment with a simple broadcast (BabaoฤŸlu & Toueg, 1993) Stephan Merz โœ” default theories
7 allocator Specification of a resource allocator Stephan Merz โœ” FinSet
8 async-comm The diversity of asynchronous communication (Chevrou et al., 2016) Florent Chevrou, Aurรฉlie Hurault, Philippe Quรฉinnec โœ” Nat
9 bcastByz Asynchronous reliable broadcast - Figure 7 (Srikanth & Toeug, 1987) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” โœ” Nat, FinSet
10 bcastFolklore Folklore reliable broadcast - Figure 4 (Chandra and Toueg, 1996) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” โœ” Nat
11 bosco One-Step Byzantine asynchronous consensus (Song & Renesse, 2008) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Nat, FinSet
12 Boulangerie A variant of the bakery algorithm (Yoram & Patkin, 2015) Leslie Lamport, Stephan Merz โœ” โœ” Int โœ”
13 byihive Based on RFC3506 - Requirements and Design for Voucher Trading System (Fujimura & Eastlake) Santhosh Raju โœ” default theories
14 byzpaxos Byzantizing Paxos by Refinement (Lamport, 2011) Leslie Lamport โœ” Int, FinSet
15 c1cs Consensus in one communication step (Brasileiro et al., 2001) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Int, FinSet
16 Caesar Multi-leader generalized consensus protocol (Arun et al., 2017) Giuliano Losa โœ” FinSet, Seq, Int โœ”
17 CarTalkPuzzle A TLA+ specification of the solution to a nice puzzle. โœ” Int
18 CASPaxos An extension of the single-decree Paxos algorithm to a compare-and-swap type register (Rystsov) Tobias Schottdorf โœ” Int, FinSet
19 cbc_max Condition-based consensus (Mostefaoui et al., 2003) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Int, FinSet
20 cf1s-folklore One-step consensus with zero-degradation (Dobre & Suri, 2006) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Nat
21 ChangRoberts Leader election in a ring (Chang & Roberts, 1979) Stephan Merz โœ” Nat, Seq โœ”
22 DataPort Dataport protocal 505.89PT, only PDF files (Biggs & Noriaki, 2016) Geoffrey Biggs, Noriaki Ando Int, Seq
23 detector_chan96 Chandra and Touegโ€™s eventually perfect failure detector Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Int, FinSet
24 DieHard A very elementary example based on a puzzle from a movie โœ” Nat
25 dijkstra-mutex Mutual exclusion algorithm (Dijkstra, 1965) โœ” Int โœ”
26 diskpaxos Disk Paxos (Gafni & Lamport, 2003) Leslie Lamport, Giuliano Losa โœ” Int
27 egalitarian-paxos Leaderless replication protocol based on Paxos (Moraru et al., 2013) Iulian Moraru โœ” Nat, FinSet
28 ewd840 Termination detection in a ring (Dijkstra et al., 1986) Stephan Merz โœ” โœ” Nat
70 ewd998 Shmuel safra's version of termination detection Stephan Merz, Markus Kuppe โœ” Int, FinSet
29 fastpaxos An extension of the classic Paxos algorithm, only PDF files (Lamport, 2006) Leslie Lamport Nat, FinSet
30 fpaxos A variant of Paxos with flexible quorums (Howard et al., 2017) Heidi Howard โœ” Int
31 HLC Hybrid logical clocks and hybrid vector clocks (Demirbas et al., 2014) Murat Demirbas โœ” Int โœ”
32 L1 Data center network L1 switch protocol, only PDF files (Thacker) Tom Rodeheffer FinSet, Nat, Seq
33 lamport_mutex Mutual exclusion (Lamport, 1978) Stephan Merz โœ” โœ” Nat, Seq
34 leaderless Leaderless generalized-consensus algorithms (Losa, 2016) Giuliano Losa โœ” FinSet, Int, Seq โœ”
35 losa_ap The assignment problem, a variant of the allocation problem (Delporte-Gallet, 2018) Giuliano Losa โœ” FinSet, Nat, Seq โœ”
36 losa_rda Applying peculative linearizability to fault-tolerant message-passing algorithms and shared-memory consensus, only PDF files (Losa, 2014) Giuliano Losa FinSet, Nat, Seq
37 m2paxos Multi-leader consensus protocols (Peluso et al., 2016) Giuliano Losa โœ” Int, Seq, FinSet
38 mongo-repl-tla A simplified part of Raft in MongoDB (Ongaro, 2014) Siyuan Zhou โœ” FinSet, Nat, Seq
39 MultiPaxos The abstract specification of Generalized Paxos (Lamport, 2004) Giuliano Losa โœ” Int, FinSet
40 N-Queens The N queens problem Stephan Merz โœ” Nat, Seq โœ”
41 naiad Naiad clock protocol, only PDF files (Murray et al., 2013) Tom Rodeheffer โœ” Int, Seq, FinSet
42 nbacc_ray97 Asynchronous non-blocking atomic commit (Raynal, 1997) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Nat, FinSet
43 nbacg_guer01 On the hardness of failure-sensitive agreement problems (Guerraoui, 2001) Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Nat, FinSet
44 nfc04 Non-functional properties of component-based software systems (Zschaler, 2010) Steffen Zschaler โœ” Real, Nat
45 Paxos Paxos consensus algorithm (Lamport, 1998) Leslie Lamport โœ” Int, FinSet
46 Prisoners A puzzle that was presented on an American radio program. โœ” Nat, FinSet
47 raft Raft consensus algorithm (Ongaro, 2014) Diego Ongaro โœ” FinSet, Nat, Seq
48 SnapshotIsolation Serializable snapshot isolation (Cahill et al., 2010) Michael J. Cahill, Uwe Rรถhm, Alan D. Fekete โœ” FinSet, Int, Seq
49 spanning Spanning tree broadcast algorithm in Attiya and Welchโ€™s book Thanh Hai Tran, Igor Konnov, Josef Widder โœ” Int
50 SpecifyingSystems Examples to accompany the book Specifying Systems (Lamport, 2002) โœ” all modules
51 Stones The same problem as CarTalkPuzzle โœ” FinSet, Int, Seq
52 sums_even Two proofs for showing that x+x is even, for any natural number x. โœ” โœ” Int
53 SyncConsensus Synchronized round consensus algorithm (Demirbas) Murat Demirbas โœ” FinSet, Int, Seq โœ”
54 Termination Channel counting algorithm (Mattern, 1987) Giuliano Losa โœ” FinSet, Bags, Nat โœ”
55 Tla-tortoise-hare Robert Floyd's cycle detection algorithm Lorin Hochstein โœ” Nat โœ”
56 tower_of_hanoi The well-known Towers of Hanoi puzzle. Markus Kuppe, Alexander Niederbรผhl โœ” Bit, FinSet, Int, Nat, Seq
57 transaction_commit Consensus on transaction commit (Gray & Lamport, 2006) Leslie Lamport โœ” Int
58 TransitiveClosure The transitive closure of a relation โœ” FinSet, Int, Seq
59 TwoPhase Two-phase handshaking Leslie Lamport, Stephan Merz โœ” Nat
60 VoldemortKV Voldemort distributed key value store Murat Demirbas โœ” FinSet, Int, Seq โœ”
61 Missionaries and Cannibals Missionaries and Cannibals Leslie Lamport โœ” FinSet, Int
62 Misra Reachability Algorithm Misra Reachability Algorithm Leslie Lamport โœ” โœ” Int, Seq, FiniteSets, TLC, TLAPS, NaturalsInduction โœ”
63 Loop Invariance Loop Invariance Leslie Lamport โœ” โœ” Int, Seq, FiniteSets, TLC, TLAPS, SequenceTheorems, NaturalsInduction โœ”
64 Teaching Concurrency Teaching Concurrency Leslie Lamport โœ” โœ” Int, TLAPS โœ”
65 Spanning Tree Spanning Tree Leslie Lamport โœ” Int, FiniteSets, TLC, Randomization
66 Paxos (How to win a Turing Award) Paxos Leslie Lamport โœ” Nat, Int, FiniteSets
67 Tencent-Paxos PaxosStore: high-availability storage made practical in WeChat. Proceedings of the VLDB Endowment(Zheng et al., 2017) Xingchen Yi, Hengfeng Wei โœ” โœ” Int, FiniteSets
68 Blocking Queue BlockingQueue Markus Kuppe โœ” โœ” (LiveEnv) Naturals, Sequences, FiniteSets
69 Paxos Paxos โœ” Int, FiniteSets
71 Echo Algorithm Echo Algorithm Stephan Merz โœ” Naturals, FiniteSets, Relation, TLC โœ”
72 Cigarette Smokers problem Cigarette Smokers problem Mariusz Ryndzionek โœ” Integers, FiniteSets
73 Conway's Game of Life Conway's Game of Life Mariusz Ryndzionek โœ” Integers
74 Sliding puzzles Sliding puzzles Mariusz Ryndzionek โœ” Integers
75 Lock-Free Set PlusCal spec of a lock-Free set used by TLC Markus Kuppe โœ” Sequences, FiniteSets, Integers, TLC โœ”
76 Chameneos Chameneos, a Concurrency Game Mariusz Ryndzionek โœ” Integers
77 ParallelRaft A variant of Raft Xiaosong Gu, Hengfeng Wei, Yu Huang โœ” Integers, FiniteSets, Sequences, Naturals

License

The repository is under the MIT license. However, we can upload your benchmarks under your license.

Support or Contact

Do you have any questions or comments? Please open an issue or send an email to the TLA+ group.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].