FV-6: Liveness properties + fairness constraints
- mvcc.tla: Add CommitProgress liveness (verified with WF_vars) - raft/twopc/mvcc/gossip: Add Spec definitions with WF_vars(Next) - gossip.tla: Fix LearnViaGossip strength-based filtering (prevents overwriting Dead/Suspect with weaker state) - twopc.tla: Add DecideCommitAction/DecideAbortAction for SF fairness - Update all .cfg files to use SPECIFICATION Spec - Update CHANGELOG.md -> v1.1.0, VERSION -> 1.1.0, PLAN.md
This commit is contained in:
@@ -177,4 +177,13 @@ TypeOk ==
|
||||
/\ readSet \in [1..MaxTxnId -> SUBSET Keys]
|
||||
/\ globalClock \in 1..(MaxTxnId + 1)
|
||||
|
||||
\* Liveness properties
|
||||
|
||||
\* Any transaction that writes something eventually commits or aborts.
|
||||
CommitProgress ==
|
||||
\A t \in 1..MaxTxnId : writeSet[t] /= {} ~> txnState[t] \in {"Committed", "Aborted"}
|
||||
|
||||
\* Specification with weak fairness.
|
||||
Spec == Init /\ [][Next]_vars /\ WF_vars(Next)
|
||||
|
||||
=============================================================================
|
||||
|
||||
Reference in New Issue
Block a user