File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Barrier synchronization
22
3+ A barrier is a synchronization facility which ensures that a group of threads
4+ all reach the barrier before they can advance.
5+
6+ Such a barrier is useful when parallel computations are done in two or more
7+ steps and results from all threads are needed to continue.
8+
9+ [ Wikipedia] ( https://en.wikipedia.org/wiki/Barrier_(computer_science) )
10+
311## Barrier.tla
412
513A specification of an abstract Barrier.
@@ -42,6 +50,3 @@ provided.
4250## Refinement
4351
4452A refinement towards an abstract Barrier specification is proven with TLAPS.
45-
46- A model ` MCBarriers.cfg ` and its companion ` MCBarriers.tla ` verifies if
47- ` B!Spec ` (the abstract Barrier specification) holds for ` Spec `
Original file line number Diff line number Diff line change @@ -18,10 +18,15 @@ In this abstract lock, lock acquisition is done atomically.
1818
1919## Peterson.tla
2020
21- The specification of Peterson's algorithm in PlusCal, and the refinement proof
22- towards ` Lock!Spec ` .
21+ Peterson's algorithm is a solution for mutual exclusion for 2 processes.
22+ Each process shows its intent to enter the critical section by raising a flag
23+ ` c[self] ` and can proceed if the other process does not intend to enter the
24+ critical section or it is its turn.
2325
24- The refinement can be verified with TLC with ` MCPeterson.tla/cfg ` .
26+ [ Wikipedia] ( https://en.wikipedia.org/wiki/Peterson%27s_algorithm )
27+
28+ This module contains the specification of Peterson's algorithm in PlusCal, and
29+ the refinement proof towards ` Lock!Spec ` .
2530
2631## LockHS.tla
2732
@@ -36,8 +41,6 @@ to allow a refinement towards Peterson's algorithm.
3641
3742A refinement proof towards ` Peterson!Spec ` is presented within.
3843
39- The refinement can be verified with TLC with ` MCLockHS.tla/cfg ` .
40-
4144## Stuttering.tla
4245
4346This module was written for the ** Auxiliary variables in TLA+** paper by
You can’t perform that action at this time.
0 commit comments